From 9b79bc69c048f4c7bdb14196ec6ccf8b6ec894db Mon Sep 17 00:00:00 2001 From: Tavis Gustafson Date: Sat, 17 Apr 2021 16:56:44 -1000 Subject: [PATCH 01/68] add quadrants example to illustrate using rows an columns in a stack to control position of text --- examples/quadrants.star | 69 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 examples/quadrants.star diff --git a/examples/quadrants.star b/examples/quadrants.star new file mode 100644 index 0000000000..dcc6afedf4 --- /dev/null +++ b/examples/quadrants.star @@ -0,0 +1,69 @@ +# Exmaple of how to use Stack with Rows and Columns to control quadrant position of text on the tidbyt. +# by tavdog + +load("render.star", "render") + +def main(): + + return render.Root( + child = render.Stack( + children = [ + + # column to hold stuff at the top of the screen + render.Column( + main_align = "start", # this controls position of children, start = top + expanded = True, + children = [ + + # row to hold text with equal space between them + render.Row( + main_align = "space_between", + expanded = True, + children = [ + render.Text("TL",color="#044"), + render.Text("TR",color="#440"), + ] + ) + ], + ), + + #column to hold the stuff at the bottom of the screen + render.Column( + main_align = "end", # bottom + expanded = True, + children = [ + + # row to hold text evenly distrubuted accross the row + render.Row( + main_align = "space_evenly", + expanded = True, + children = [ + render.Text("BL",color="#911"), + render.Text("BR",color="#119"), + ] + ) + ], + ), + + + # column to hold the stuff in the middle (center) of the screen + render.Column( + main_align = "center", + expanded = True, + children = [ + # row to hold text with equal space around each item + render.Row( + main_align = "space_around", + expanded = True, + children = [ + render.Text("ML",color="#235"), + render.Text("MR",color="#532"), + ] + ) + ], + ), + + ] + ) + + ) From c54437e3dda89c99182262586ca90b7b06dcb0b9 Mon Sep 17 00:00:00 2001 From: dinosaursrarr Date: Tue, 7 Mar 2023 11:22:00 +0000 Subject: [PATCH 02/68] Add command for listing apps installed on a given tidbyt Example: ``` $ ./pixlet list coarsely-sunny-refreshed-blowfish-f9f boris-bikes MKBGQqUqZfRIAvQDADC9 tartan EpxRBkyVx3XgOpXJrGlK tube-status tVGDbkTLIpeBGMEhNUCM amazing IxOnNFhmbyr5H3BjUuPp tube PE4KU0h3k9Jit7Dfj7GS busy-tube UAZrgEqv58XV27dIXGbW tube 2RTeEpncRe9T7T5EtCfS busy-tube vEGu50hl59fpxQYaiNUE tube d0eHVa3g1NaTDz7EG91l tube WxH2uHMmME7CT6KBvCUJ tube EdXutAKiSGryn9W0DJ7O busy-tube XoYkwjDbyOc7yoSpPEGN mind-the-gap mTbYjHAtBwHC2GMICacF london-bus-stop engEBag2Nini9nm7Fwet london-bus-stop UUQUbjEUI5W1Uh0KqaGg london-bus-stop FcUt1ZgEYvlE8DIwp9WJ london-bus-stop KsF57VpF70M0610WI8zf london-bus-stop 5hFDlBKIigd1xYqAojmm sunrise-sunset cR47CGrB2yHsuTBYlf8T weather 8BxjDROVyZ2BE3Z8J1eG clock-by-henry MCWwnWVcQflVZge3usXC jwst dUxcwMJvBBNpxGepbCNH life kIs0z9DRVt80AhiQLU1g random-cats 2Tf77dm191pxSiokKP9h national-rail BxXPJYzjgeQRMcE41Icd earthquake-map zOl1GofQfeAkxohCcmZC yule-log DUDIQ1figTTK3mqlvGyd superbowl NNKsGirwYUlBdEpuAj6r ``` --- cmd/list.go | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++ main.go | 1 + 2 files changed, 91 insertions(+) create mode 100644 cmd/list.go diff --git a/cmd/list.go b/cmd/list.go new file mode 100644 index 0000000000..6ff9f4ad65 --- /dev/null +++ b/cmd/list.go @@ -0,0 +1,90 @@ +package cmd + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "net/http" + "os" + "text/tabwriter" + + "github.com/spf13/cobra" +) + +const ( + TidbytAPIList = "https://api.tidbyt.com/v0/devices/%s/installations" +) + +type TidbytInstallationJSON struct { + Id string `json:"id"` + AppId string `json:"appID"` +} + +type TidbytInstallationListJSON struct { + Installations []TidbytInstallationJSON `json:"installations"` +} + +func init() { + ListCmd.Flags().StringVarP(&apiToken, "api-token", "t", "", "Tidbyt API token") +} + +var ListCmd = &cobra.Command{ + Use: "list [device ID]", + Short: "Lists all apps installed on a Tidbyt", + Args: cobra.MinimumNArgs(1), + RunE: listInstallations, +} + +func listInstallations(cmd *cobra.Command, args []string) error { + deviceID := args[0] + + if apiToken == "" { + apiToken = os.Getenv(APITokenEnv) + } + + if apiToken == "" { + apiToken = oauthTokenFromConfig(cmd.Context()) + } + + if apiToken == "" { + return fmt.Errorf("blank Tidbyt API token (use `pixlet login`, set $%s or pass with --api-token)", APITokenEnv) + } + + client := &http.Client{} + req, err := http.NewRequest( + "GET", + fmt.Sprintf(TidbytAPIList, deviceID), nil) + if err != nil { + return fmt.Errorf("creating GET request: %w", err) + } + + req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", apiToken)) + + resp, err := client.Do(req) + if err != nil { + return fmt.Errorf("listing installations from API: %w", err) + } + + body, _ := ioutil.ReadAll(resp.Body) + if resp.StatusCode != 200 { + fmt.Printf("Tidbyt API returned status %s\n", resp.Status) + fmt.Println(string(body)) + return fmt.Errorf("Tidbyt API returned status: %s", resp.Status) + } + + var installations TidbytInstallationListJSON + err = json.Unmarshal(body, &installations) + if err != nil { + return fmt.Errorf("failed to unmarshal json: %w", err) + } + + w := new(tabwriter.Writer) + w.Init(os.Stdout, 22, 8, 0, '\t', 0) + defer w.Flush() + + for _, inst := range installations.Installations { + fmt.Fprintf(w, "%s\t%s\n", inst.AppId, inst.Id) + } + + return nil +} diff --git a/main.go b/main.go index 6905a9d3a4..5b06e327a3 100644 --- a/main.go +++ b/main.go @@ -30,6 +30,7 @@ func init() { rootCmd.AddCommand(cmd.LintCmd) rootCmd.AddCommand(cmd.CreateCmd) rootCmd.AddCommand(cmd.CheckCmd) + rootCmd.AddCommand(cmd.ListCmd) rootCmd.AddCommand(community.CommunityCmd) } From 81a922ba2d337e327b3a33847a1c8ba4e5eb5397 Mon Sep 17 00:00:00 2001 From: dinosaursrarr Date: Tue, 7 Mar 2023 11:31:42 +0000 Subject: [PATCH 03/68] Add command for deleting scripts from a Tidbyt push.go has a comment saying installation-id should be a flag. I think it makes sense as an argument here, since it's required. You can push without an installation ID but you can't delete one. Feel free to let me know if you'd prefer a flag though. This let me get rid of the broken app that I couldn't delete from my phone. So I'm happy. --- cmd/delete.go | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ main.go | 1 + 2 files changed, 69 insertions(+) create mode 100644 cmd/delete.go diff --git a/cmd/delete.go b/cmd/delete.go new file mode 100644 index 0000000000..272db4330c --- /dev/null +++ b/cmd/delete.go @@ -0,0 +1,68 @@ +package cmd + +import ( + "fmt" + "io/ioutil" + "net/http" + "os" + + "github.com/spf13/cobra" +) + +const ( + TidbytAPIDelete = "https://api.tidbyt.com/v0/devices/%s/installations/%s" +) + +func init() { + DeleteCmd.Flags().StringVarP(&apiToken, "api-token", "t", "", "Tidbyt API token") +} + +var DeleteCmd = &cobra.Command{ + Use: "delete [device ID] [installation ID]", + Short: "Delete a pixlet script from a Tidbyt", + Args: cobra.MinimumNArgs(2), + RunE: delete, +} + +func delete(cmd *cobra.Command, args []string) error { + deviceID := args[0] + installationID := args[1] + + if apiToken == "" { + apiToken = os.Getenv(APITokenEnv) + } + + if apiToken == "" { + apiToken = oauthTokenFromConfig(cmd.Context()) + } + + if apiToken == "" { + return fmt.Errorf("blank Tidbyt API token (use `pixlet login`, set $%s or pass with --api-token)", APITokenEnv) + } + + client := &http.Client{} + req, err := http.NewRequest( + "DELETE", + fmt.Sprintf(TidbytAPIDelete, deviceID, installationID), + nil, + ) + if err != nil { + return fmt.Errorf("creating DELETE request: %w", err) + } + + req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", apiToken)) + + resp, err := client.Do(req) + if err != nil { + return fmt.Errorf("deleting via API: %w", err) + } + + if resp.StatusCode != 200 { + fmt.Printf("Tidbyt API returned status %s\n", resp.Status) + body, _ := ioutil.ReadAll(resp.Body) + fmt.Println(string(body)) + return fmt.Errorf("Tidbyt API returned status: %s", resp.Status) + } + + return nil +} diff --git a/main.go b/main.go index 5b06e327a3..b54ba0052c 100644 --- a/main.go +++ b/main.go @@ -31,6 +31,7 @@ func init() { rootCmd.AddCommand(cmd.CreateCmd) rootCmd.AddCommand(cmd.CheckCmd) rootCmd.AddCommand(cmd.ListCmd) + rootCmd.AddCommand(cmd.DeleteCmd) rootCmd.AddCommand(community.CommunityCmd) } From 221ada596f1803ae5b3742fc3c12d99e0aa32c2e Mon Sep 17 00:00:00 2001 From: Tavis Date: Wed, 24 May 2023 23:54:46 -1000 Subject: [PATCH 04/68] add log for config changes --- server/loader/loader.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server/loader/loader.go b/server/loader/loader.go index 572e751be4..f7de0fc5d5 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -88,6 +88,7 @@ func (l *Loader) Run() error { config = c case <-l.requestedChanges: up := Update{} + log.Printf("Config Changes Detected") webp, err := l.loadApplet(config) if err != nil { From df3377c00db8de9bda721299f8298e2125ded8a4 Mon Sep 17 00:00:00 2001 From: Tavis Date: Wed, 24 May 2023 23:56:39 -1000 Subject: [PATCH 05/68] actual config changes --- server/loader/loader.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/loader/loader.go b/server/loader/loader.go index f7de0fc5d5..d3a761a0ff 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -86,9 +86,10 @@ func (l *Loader) Run() error { select { case c := <-l.configChanges: config = c + log.Printf("Config Changes Detected") case <-l.requestedChanges: up := Update{} - log.Printf("Config Changes Detected") + webp, err := l.loadApplet(config) if err != nil { From 238b6c2e3b520e3870ee23ec2a8cb0e8e504ce65 Mon Sep 17 00:00:00 2001 From: Tavis Date: Thu, 25 May 2023 18:33:35 -1000 Subject: [PATCH 06/68] add Dockerfile for build environment --- Dockerfile | 13 +++++++++++++ dist/static/keepdir | 0 2 files changed, 13 insertions(+) create mode 100644 Dockerfile delete mode 100644 dist/static/keepdir diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..c66b57053d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM golang:latest + +RUN apt update && apt upgrade && apt install unzip libwebp-dev iputils-ping -y + +WORKDIR /tmp +RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs && node -v + +#uncomment below if you want to compile during build +#RUN git clone https://github.com/tidbyt/pixlet.git +#WORKDIR /tmp/pixlet +#RUN npm install && npm run build && make build + +CMD ["bash"] \ No newline at end of file diff --git a/dist/static/keepdir b/dist/static/keepdir deleted file mode 100644 index e69de29bb2..0000000000 From 0d0c881495ee46f31822e33b2794f3c3373daaf7 Mon Sep 17 00:00:00 2001 From: Tavis Date: Fri, 26 May 2023 21:39:42 -1000 Subject: [PATCH 07/68] jsonoutput bare bones --- cmd/render.go | 2 ++ dist/index.html | 2 +- server/loader/loader.go | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/cmd/render.go b/cmd/render.go index 6da1257fd1..384a64e327 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -16,6 +16,7 @@ import ( ) var ( + configJson string output string magnify int renderGif bool @@ -26,6 +27,7 @@ var ( ) func init() { + RenderCmd.Flags().StringVarP(&configJson,"config","c","","Config in json format") RenderCmd.Flags().StringVarP(&output, "output", "o", "", "Path for rendered image") RenderCmd.Flags().BoolVarP(&renderGif, "gif", "", false, "Generate GIF instead of WebP") RenderCmd.Flags().BoolVarP(&silenceOutput, "silent", "", false, "Silence print statements when rendering app") diff --git a/dist/index.html b/dist/index.html index 547dcc676e..ca26c70c20 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ - \ No newline at end of file +Pixlet
\ No newline at end of file diff --git a/server/loader/loader.go b/server/loader/loader.go index d3a761a0ff..c104be9cef 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -12,6 +12,8 @@ import ( "tidbyt.dev/pixlet/encode" "tidbyt.dev/pixlet/runtime" "tidbyt.dev/pixlet/schema" + + "io/ioutil" ) // Loader is a structure to provide applet loading when a file changes or on @@ -88,8 +90,21 @@ func (l *Loader) Run() error { config = c log.Printf("Config Changes Detected") case <-l.requestedChanges: + log.Printf("Requested Changes: config is : %v",config) up := Update{} + byteSlice, err := json.Marshal(config) + if err != nil { + panic(err) + } + + // Write the byte slice to the file. + log.Printf("writing to applet_config.json") + err = ioutil.WriteFile("applet_config.json", byteSlice, 0644) + if err != nil { + panic(err) + } + webp, err := l.loadApplet(config) if err != nil { From 5411dd35e9617a9b1fda06835dbedf51297ac12e Mon Sep 17 00:00:00 2001 From: Tavis Date: Fri, 26 May 2023 22:43:44 -1000 Subject: [PATCH 08/68] accept json config file option --- cmd/render.go | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/cmd/render.go b/cmd/render.go index 384a64e327..987e4deafa 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -6,6 +6,8 @@ import ( "io/ioutil" "os" "strings" + "encoding/json" + "log" "github.com/spf13/cobra" "go.starlark.net/starlark" @@ -27,7 +29,7 @@ var ( ) func init() { - RenderCmd.Flags().StringVarP(&configJson,"config","c","","Config in json format") + RenderCmd.Flags().StringVarP(&configJson,"config","c","","Config file in json format") RenderCmd.Flags().StringVarP(&output, "output", "o", "", "Path for rendered image") RenderCmd.Flags().BoolVarP(&renderGif, "gif", "", false, "Generate GIF instead of WebP") RenderCmd.Flags().BoolVarP(&silenceOutput, "silent", "", false, "Silence print statements when rendering app") @@ -89,12 +91,32 @@ func render(cmd *cobra.Command, args []string) error { } config := map[string]string{} - for _, param := range args[1:] { - split := strings.Split(param, "=") - if len(split) < 2 { - return fmt.Errorf("parameters must be on form =, found %s", param) + + if configJson != "" { + // Open the JSON file. + file, err := os.Open(configJson) + if err != nil { + return fmt.Errorf("file open error %v",err) + } + + // Use the `json.Unmarshal()` function to unmarshal the JSON file into the map variable. + fileData, err := ioutil.ReadAll(file) + err = json.Unmarshal(fileData, &config) + if err != nil { + return fmt.Errorf("somewthing wrong with json %v",configJson) + } + + log.Printf("got json config of %v",config) + + } else { + + for _, param := range args[1:] { + split := strings.Split(param, "=") + if len(split) < 2 { + return fmt.Errorf("parameters must be on form =, found %s", param) + } + config[split[0]] = strings.Join(split[1:len(split)], "=") } - config[split[0]] = strings.Join(split[1:len(split)], "=") } src, err := ioutil.ReadFile(script) From 3d4397bb9f415c6d8db7ad6b0cf871342f204dc5 Mon Sep 17 00:00:00 2001 From: Tavis Date: Fri, 26 May 2023 22:43:56 -1000 Subject: [PATCH 09/68] remove some log lines --- server/loader/loader.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/server/loader/loader.go b/server/loader/loader.go index c104be9cef..4e03da76ab 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -88,9 +88,7 @@ func (l *Loader) Run() error { select { case c := <-l.configChanges: config = c - log.Printf("Config Changes Detected") case <-l.requestedChanges: - log.Printf("Requested Changes: config is : %v",config) up := Update{} byteSlice, err := json.Marshal(config) @@ -104,8 +102,7 @@ func (l *Loader) Run() error { if err != nil { panic(err) } - - + webp, err := l.loadApplet(config) if err != nil { log.Printf("error loading applet: %v", err) From c291e8899ba15b5d8c123790ec2783fc39e9afc0 Mon Sep 17 00:00:00 2001 From: Tavis Date: Fri, 26 May 2023 23:15:06 -1000 Subject: [PATCH 10/68] add outconfig file option to the server stack --- cmd/serve.go | 4 +++- server/loader/loader.go | 18 ++++++++++++------ server/server.go | 4 ++-- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/cmd/serve.go b/cmd/serve.go index 4b943a35ba..91ade3d3ae 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -10,9 +10,11 @@ var ( host string port int watch bool + configOutFile string ) func init() { + ServeCmd.Flags().StringVarP(&configOutFile,"saveconfig","o","", "Output file for config changes") ServeCmd.Flags().StringVarP(&host, "host", "i", "127.0.0.1", "Host interface for serving rendered images") ServeCmd.Flags().IntVarP(&port, "port", "p", 8080, "Port for serving rendered images") ServeCmd.Flags().BoolVarP(&watch, "watch", "w", true, "Reload scripts on change") @@ -27,7 +29,7 @@ var ServeCmd = &cobra.Command{ } func serve(cmd *cobra.Command, args []string) error { - s, err := server.NewServer(host, port, watch, args[0], maxDuration) + s, err := server.NewServer(host, port, watch, args[0], maxDuration,configOutFile) if err != nil { return err } diff --git a/server/loader/loader.go b/server/loader/loader.go index 4e03da76ab..86313c633e 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -29,6 +29,7 @@ type Loader struct { resultsChan chan Update maxDuration int initialLoad chan bool + configOutFile string } type Update struct { @@ -47,6 +48,7 @@ func NewLoader( fileChanges chan bool, updatesChan chan Update, maxDuration int, + configOutFile string, ) (*Loader, error) { l := &Loader{ @@ -60,6 +62,7 @@ func NewLoader( resultsChan: make(chan Update, 100), maxDuration: maxDuration, initialLoad: make(chan bool), + configOutFile: configOutFile, } cache := runtime.NewInMemoryCache() @@ -96,13 +99,16 @@ func (l *Loader) Run() error { panic(err) } - // Write the byte slice to the file. - log.Printf("writing to applet_config.json") - err = ioutil.WriteFile("applet_config.json", byteSlice, 0644) - if err != nil { - panic(err) - } + if l.configOutFile != "" { + // Write the byte slice to the file. + log.Printf("writing to %v",l.configOutFile) + err = ioutil.WriteFile(l.configOutFile, byteSlice, 0644) + if err != nil { + panic(err) + } + } + webp, err := l.loadApplet(config) if err != nil { log.Printf("error loading applet: %v", err) diff --git a/server/server.go b/server/server.go index a2d18463dd..bdeb3edd01 100644 --- a/server/server.go +++ b/server/server.go @@ -19,12 +19,12 @@ type Server struct { } // NewServer creates a new server initialized with the applet. -func NewServer(host string, port int, watch bool, filename string, maxDuration int) (*Server, error) { +func NewServer(host string, port int, watch bool, filename string, maxDuration int, configOutFile string) (*Server, error) { fileChanges := make(chan bool, 100) w := watcher.NewWatcher(filename, fileChanges) updatesChan := make(chan loader.Update, 100) - l, err := loader.NewLoader(filename, watch, fileChanges, updatesChan, maxDuration) + l, err := loader.NewLoader(filename, watch, fileChanges, updatesChan, maxDuration,configOutFile) if err != nil { return nil, err } From 09de470577a3bef08f8e3818bfe43121d42ffd76 Mon Sep 17 00:00:00 2001 From: Tavis Date: Fri, 26 May 2023 23:30:22 -1000 Subject: [PATCH 11/68] comment out log.print --- server/loader/loader.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/loader/loader.go b/server/loader/loader.go index 86313c633e..f75b854632 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -99,10 +99,9 @@ func (l *Loader) Run() error { panic(err) } - if l.configOutFile != "" { // Write the byte slice to the file. - log.Printf("writing to %v",l.configOutFile) + //log.Printf("writing to %v",l.configOutFile) err = ioutil.WriteFile(l.configOutFile, byteSlice, 0644) if err != nil { panic(err) From 3794292f9204a7beaaa94077a06c155385a3bd0c Mon Sep 17 00:00:00 2001 From: Tavis Date: Tue, 20 Jun 2023 18:40:19 -0700 Subject: [PATCH 12/68] change button text on pixlet serve --- Dockerfile | 2 +- src/features/controls/Controls.jsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index c66b57053d..4869651039 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM golang:latest -RUN apt update && apt upgrade && apt install unzip libwebp-dev iputils-ping -y +RUN apt update && apt upgrade && apt install unzip libwebp-dev python3-venv python3-pip -y WORKDIR /tmp RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs && node -v diff --git a/src/features/controls/Controls.jsx b/src/features/controls/Controls.jsx index 9613a5586c..a914922067 100644 --- a/src/features/controls/Controls.jsx +++ b/src/features/controls/Controls.jsx @@ -99,8 +99,8 @@ export default function Controls() { return ( - - + + From b55c965bc704ba51258027d167b4bdfc6bd88ac8 Mon Sep 17 00:00:00 2001 From: Tavis Date: Tue, 3 Dec 2024 00:59:11 -1000 Subject: [PATCH 13/68] fix web/img fix fix put back timeout and serveGif fix fix --- cmd/render.go | 5 ++--- cmd/serve.go | 5 +---- server/loader/loader.go | 2 +- server/server.go | 4 ++-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/cmd/render.go b/cmd/render.go index e5347b316c..e34b307097 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -5,15 +5,14 @@ import ( "fmt" "image" "io/fs" + "io/ioutil" "os" "path/filepath" "strings" "time" "encoding/json" "log" - "github.com/spf13/cobra" - "tidbyt.dev/pixlet/encode" "tidbyt.dev/pixlet/globals" "tidbyt.dev/pixlet/runtime" @@ -149,7 +148,7 @@ func render(cmd *cobra.Command, args []string) error { } config[split[0]] = strings.Join(split[1:len(split)], "=") } - config[split[0]] = strings.Join(split[1:], "=") + } // Remove the print function from the starlark thread if the silent flag is diff --git a/cmd/serve.go b/cmd/serve.go index f0bfca9870..c78e96cf8d 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -1,10 +1,7 @@ package cmd import ( - "fmt" - "github.com/spf13/cobra" - "tidbyt.dev/pixlet/server" ) @@ -39,7 +36,7 @@ containing multiple Starlark files and resources.`, } func serve(cmd *cobra.Command, args []string) error { - s, err := server.NewServer(host, port, watch, args[0], maxDuration,configOutFile) + s, err := server.NewServer(host, port, watch, args[0], maxDuration, timeout, serveGif,configOutFile) if err != nil { return err } diff --git a/server/loader/loader.go b/server/loader/loader.go index e89bf6abc3..04d9925c9f 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -118,7 +118,7 @@ func (l *Loader) Run() error { } } - webp, err := l.loadApplet(config) + img, err := l.loadApplet(config) if err != nil { log.Printf("error loading applet: %v", err) up.Err = err diff --git a/server/server.go b/server/server.go index f97dc9c3da..6b6bc13430 100644 --- a/server/server.go +++ b/server/server.go @@ -23,7 +23,7 @@ type Server struct { } // NewServer creates a new server initialized with the applet. -func NewServer(host string, port int, watch bool, filename string, maxDuration int, configOutFile string) (*Server, error) { +func NewServer(host string, port int, watch bool, path string, maxDuration int, timeout int, serveGif bool, configOutFile string) (*Server, error) { fileChanges := make(chan bool, 100) // check if path exists, and whether it is a directory or a file @@ -47,7 +47,7 @@ func NewServer(host string, port int, watch bool, filename string, maxDuration i } updatesChan := make(chan loader.Update, 100) - l, err := loader.NewLoader(filename, watch, fileChanges, updatesChan, maxDuration,configOutFile) + l, err := loader.NewLoader(fs, watch, fileChanges, updatesChan, maxDuration, timeout, serveGif, configOutFile) if err != nil { return nil, err } From efb57dd486f4d8aefccb117db4df7670ec5793a3 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 9 Feb 2025 20:44:17 +0100 Subject: [PATCH 14/68] Add a workflow to build Docker images with a static pixlet binary --- .github/workflows/codeql-analysis.yml | 8 +- .github/workflows/main.yml | 86 +- .github/workflows/pull-request.yml | 14 +- Dockerfile | 17 +- Dockerfile.dev | 13 + Makefile | 8 +- go.mod | 99 ++- go.sum | 284 +++---- package-lock.json | 1124 +++++++++++++++++++------ package.json | 6 +- scripts/build-release.sh | 6 +- scripts/setup-linux.sh | 142 +++- 12 files changed, 1281 insertions(+), 526 deletions(-) create mode 100644 Dockerfile.dev diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 5d5bdf24b7..0a4284d3c9 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -23,7 +23,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest permissions: actions: read contents: read @@ -42,7 +42,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -56,7 +56,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # ℹī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -69,4 +69,4 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4085491848..5e62fc22a1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,16 +7,20 @@ on: tags: - "v[0-9]+.[0-9]+.[0-9]+" +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + jobs: lint: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: - go-version: "1.22.2" + go-version: "1.23.6" - name: Install buildifier run: make install-buildifier @@ -28,7 +32,7 @@ jobs: name: Build and Test Release Artifacts strategy: matrix: - os: [ubuntu-22.04, macos-latest, windows-latest] + os: [ubuntu-24.04, macos-latest, windows-latest] runs-on: ${{ matrix.os }} @@ -39,7 +43,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.22.2" + go-version: "1.23.6" - name: Install Node uses: actions/setup-node@v4 @@ -59,7 +63,7 @@ jobs: mingw-w64-x86_64-toolchain - name: Install Linux dependencies - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' run: sudo ./scripts/setup-linux.sh - name: Install macOS dependencies @@ -71,8 +75,8 @@ jobs: shell: msys2 {0} run: | set MSYSTEM=MINGW64 - curl -LO https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst - pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst + curl -LO https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-libwebp-1.5.0-1-any.pkg.tar.zst + pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.5.0-1-any.pkg.tar.zst - name: Install frontend dependencies run: npm install @@ -82,7 +86,7 @@ jobs: - name: Build Linux run: make build - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' - name: Build macOS run: make build @@ -100,7 +104,7 @@ jobs: - name: Test Linux run: make test - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' - name: Test macOS run: make test @@ -119,7 +123,7 @@ jobs: - name: Set pixlet version id: vars run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} - if: matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest' + if: matrix.os == 'ubuntu-24.04' || matrix.os == 'macos-latest' - name: Set Windows pixlet version id: windowsvars @@ -130,7 +134,7 @@ jobs: if: matrix.os == 'windows-latest' - name: Build Release Linux - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' run: make release-linux env: PIXLET_VERSION: ${{ steps.vars.outputs.tag }} @@ -153,14 +157,14 @@ jobs: PIXLET_VERSION: ${{ steps.windowsvars.outputs.tag }} - name: Upload Release Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ matrix.os }} path: build create-release: name: Create Github Release - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 environment: release needs: build-and-test-release if: startsWith(github.ref, 'refs/tags/') @@ -174,7 +178,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.22.2" + go-version: "1.23.6" - name: Fetch Release Artifacts uses: actions/download-artifact@v3 @@ -193,3 +197,55 @@ jobs: GITHUB_TOKEN: ${{ secrets.TIDBYT_GITHUB_TOKEN }} DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }} DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} + + build-and-push-image: + runs-on: ubuntu-24.04 + # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job. + permissions: + contents: read + packages: write + attestations: write + id-token: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + flavor: | + latest=true + prefix= + suffix= + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Build and push Docker image + id: push + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v2 + with: + subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index d5014c8811..f468b599b2 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -7,14 +7,14 @@ on: jobs: lint: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: - go-version: "1.22.2" + go-version: "1.23.6" - name: Install buildifier run: make install-buildifier @@ -26,7 +26,7 @@ jobs: name: Build and Test strategy: matrix: - os: [ubuntu-22.04, macos-latest, windows-latest] + os: [ubuntu-24.04, macos-latest, windows-latest] runs-on: ${{ matrix.os }} @@ -37,7 +37,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.22.2" + go-version: "1.23.6" - name: Install Node uses: actions/setup-node@v4 @@ -57,7 +57,7 @@ jobs: mingw-w64-x86_64-toolchain - name: Install Linux dependencies - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' run: sudo apt-get install -y libwebp-dev - name: Install macOS dependencies @@ -80,7 +80,7 @@ jobs: - name: Build Linux run: make build - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' - name: Build macOS run: make build @@ -98,7 +98,7 @@ jobs: - name: Test Linux run: make test - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' - name: Test macOS run: make test diff --git a/Dockerfile b/Dockerfile index 4869651039..f2eb1a30ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,12 @@ -FROM golang:latest +FROM alpine:3.21 AS builder -RUN apt update && apt upgrade && apt install unzip libwebp-dev python3-venv python3-pip -y +RUN apk --no-cache add go npm libwebp-dev libwebp-static git make clang musl-dev +COPY . /pixlet +WORKDIR /pixlet +RUN npm install && npm run build && STATIC=1 make build -WORKDIR /tmp -RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs && node -v +FROM scratch -#uncomment below if you want to compile during build -#RUN git clone https://github.com/tidbyt/pixlet.git -#WORKDIR /tmp/pixlet -#RUN npm install && npm run build && make build +COPY --from=builder /pixlet/pixlet /bin/pixlet -CMD ["bash"] \ No newline at end of file +ENTRYPOINT ["/bin/pixlet"] diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000000..4869651039 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,13 @@ +FROM golang:latest + +RUN apt update && apt upgrade && apt install unzip libwebp-dev python3-venv python3-pip -y + +WORKDIR /tmp +RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs && node -v + +#uncomment below if you want to compile during build +#RUN git clone https://github.com/tidbyt/pixlet.git +#WORKDIR /tmp/pixlet +#RUN npm install && npm run build && make build + +CMD ["bash"] \ No newline at end of file diff --git a/Makefile b/Makefile index 2f6ae1cd82..7488fc3bcc 100644 --- a/Makefile +++ b/Makefile @@ -2,12 +2,16 @@ GIT_COMMIT = $(shell git rev-list -1 HEAD) ifeq ($(OS),Windows_NT) BINARY = pixlet.exe - LDFLAGS = -ldflags="-s -extldflags=-static -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" + LDFLAGS = -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" TAGS = -tags timetzdata else BINARY = pixlet - LDFLAGS = -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" TAGS = + ifeq ($(STATIC),1) + LDFLAGS = -ldflags="-s -w -linkmode=external '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" + else + LDFLAGS = -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" + endif endif all: build diff --git a/go.mod b/go.mod index 57aaff64c9..da0cd1381c 100644 --- a/go.mod +++ b/go.mod @@ -1,24 +1,22 @@ module tidbyt.dev/pixlet -go 1.22 - -toolchain go1.22.2 +go 1.23 require ( github.com/Code-Hex/Neo-cowsay/v2 v2.0.4 - github.com/antchfx/xmlquery v1.4.0 - github.com/bazelbuild/buildtools v0.0.0-20230425225026-3dcc8d67e8ea + github.com/antchfx/xmlquery v1.4.4 + github.com/bazelbuild/buildtools v0.0.0-20250204160707-ad48c76ab9b5 github.com/dustin/go-humanize v1.0.1 github.com/ericpauley/go-quantize v0.0.0-20200331213906-ae555eb2afa4 - github.com/fatih/color v1.16.0 - github.com/fsnotify/fsnotify v1.7.0 + github.com/fatih/color v1.18.0 + github.com/fsnotify/fsnotify v1.8.0 github.com/gitsight/go-vcsurl v1.0.1 - github.com/go-git/go-git/v5 v5.12.0 - github.com/go-playground/validator/v10 v10.19.0 - github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 + github.com/go-git/go-git/v5 v5.13.2 + github.com/go-playground/validator/v10 v10.24.0 + github.com/google/pprof v0.0.0-20250208200701-d0013a598941 github.com/google/tink/go v1.7.0 github.com/gorilla/mux v1.8.1 - github.com/gorilla/websocket v1.5.1 + github.com/gorilla/websocket v1.5.3 github.com/manifoldco/promptui v0.9.0 github.com/mitchellh/hashstructure/v2 v2.0.2 github.com/nathan-osman/go-sunrise v1.1.0 @@ -29,81 +27,78 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c github.com/qri-io/starlib v0.5.1-0.20220611014110-7fb7ff9ec804 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e - github.com/spf13/cobra v1.8.0 - github.com/spf13/viper v1.18.2 + github.com/spf13/cobra v1.8.1 + github.com/spf13/viper v1.19.0 github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef - github.com/stretchr/testify v1.9.0 + github.com/stretchr/testify v1.10.0 github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427 github.com/tidbyt/go-libwebp v0.0.0-20230922075150-fb11063b2a6a github.com/vmihailenco/msgpack/v5 v5.4.1 github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be - go.starlark.net v0.0.0-20240411212711-9b43f0afd521 - golang.org/x/image v0.18.0 - golang.org/x/oauth2 v0.19.0 - golang.org/x/sync v0.7.0 - golang.org/x/text v0.16.0 + go.starlark.net v0.0.0-20250205221240-492d3672b3f4 + golang.org/x/image v0.24.0 + golang.org/x/oauth2 v0.26.0 + golang.org/x/sync v0.11.0 + golang.org/x/text v0.22.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - dario.cat/mergo v1.0.0 // indirect + dario.cat/mergo v1.0.1 // indirect github.com/Code-Hex/go-wordwrap v1.0.0 // indirect - github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/ProtonMail/go-crypto v1.0.0 // indirect - github.com/PuerkitoBio/goquery v1.5.1 // indirect - github.com/andybalholm/cascadia v1.1.0 // indirect - github.com/antchfx/xpath v1.3.0 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/ProtonMail/go-crypto v1.1.5 // indirect + github.com/PuerkitoBio/goquery v1.10.1 // indirect + github.com/andybalholm/cascadia v1.3.3 // indirect + github.com/antchfx/xpath v1.3.3 // indirect github.com/chzyer/readline v1.5.1 // indirect - github.com/cloudflare/circl v1.3.7 // indirect - github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/cloudflare/circl v1.6.0 // indirect + github.com/cyphar/filepath-securejoin v0.4.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustmop/soup v1.1.2-0.20190516214245-38228baa104e // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gabriel-vasile/mimetype v1.4.8 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect - github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-billy/v5 v5.6.2 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 // indirect + github.com/ianlancetaylor/demangle v0.0.0-20240912202439-0a2b6291aafd // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect - github.com/magiconair/properties v1.8.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect + github.com/magiconair/properties v1.8.9 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect + github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/pelletier/go-toml/v2 v2.1.0 // indirect - github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.3 // indirect + github.com/pjbgf/sha1cd v0.3.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/rivo/uniseg v0.2.0 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/sagikazarmark/locafero v0.7.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect - github.com/skeema/knownhosts v1.2.2 // indirect + github.com/skeema/knownhosts v1.3.1 // indirect github.com/sourcegraph/conc v0.3.0 // indirect - github.com/spf13/afero v1.11.0 // indirect - github.com/spf13/cast v1.6.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/afero v1.12.0 // indirect + github.com/spf13/cast v1.7.1 // indirect + github.com/spf13/pflag v1.0.6 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.23.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - google.golang.org/protobuf v1.33.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/crypto v0.33.0 // indirect + golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.30.0 // indirect + google.golang.org/protobuf v1.36.5 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index dda5ac51fc..a942130d51 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,6 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= +dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/360EntSecGroup-Skylar/excelize v1.4.1/go.mod h1:vnax29X2usfl7HHkBrX5EvSCJcmH3dT9luvxzu8iGAE= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Code-Hex/Neo-cowsay/v2 v2.0.4 h1:y80Hd9hmB+rsEH/p4c5ti5PbO0PhBmxw4NgbpFZvoHg= @@ -8,40 +8,35 @@ github.com/Code-Hex/Neo-cowsay/v2 v2.0.4/go.mod h1:6k40Pwrc2FazLf1BUbmAC36E9LvT+ github.com/Code-Hex/go-wordwrap v1.0.0 h1:yl5fLyZEz3+hPGbpTRlTQ8mQJ1HXWcTq1FCNR1ch6zM= github.com/Code-Hex/go-wordwrap v1.0.0/go.mod h1:/SsbgkY2Q0aPQRyvXcyQwWYTQOIwSORKe6MPjRVGIWU= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= -github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= -github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE= +github.com/ProtonMail/go-crypto v1.1.5 h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4= +github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= +github.com/PuerkitoBio/goquery v1.10.1 h1:Y8JGYUkXWTGRB6Ars3+j3kN0xg1YqqlwvdTV8WTFQcU= +github.com/PuerkitoBio/goquery v1.10.1/go.mod h1:IYiHrOMps66ag56LEH7QYDDupKXyo5A8qrjIx3ZtujY= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= +github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= +github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/antchfx/xmlquery v1.4.0 h1:xg2HkfcRK2TeTbdb0m1jxCYnvsPaGY/oeZWTGqX/0hA= -github.com/antchfx/xmlquery v1.4.0/go.mod h1:Ax2aeaeDjfIw3CwXKDQ0GkwZ6QlxoChlIBP+mGnDFjI= -github.com/antchfx/xpath v1.3.0 h1:nTMlzGAK3IJ0bPpME2urTuFL76o4A96iYvoKFHRXJgc= -github.com/antchfx/xpath v1.3.0/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= +github.com/antchfx/xmlquery v1.4.4 h1:mxMEkdYP3pjKSftxss4nUHfjBhnMk4imGoR96FRY2dg= +github.com/antchfx/xmlquery v1.4.4/go.mod h1:AEPEEPYE9GnA2mj5Ur2L5Q5/2PycJ0N9Fusrx9b12fc= +github.com/antchfx/xpath v1.3.3 h1:tmuPQa1Uye0Ym1Zn65vxPgfltWb/Lxu2jeqIGteJSRs= +github.com/antchfx/xpath v1.3.3/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/b5/outline v0.0.0-20210930001007-03f1b39e3ab2/go.mod h1:ml9lPAEMJLY2NqHVyhztZg6ZNvKOgHXSZYMnY1NFSwk= -github.com/bazelbuild/buildtools v0.0.0-20230425225026-3dcc8d67e8ea h1:dVzvvPij8slrIo4VFkmPqQ0Tpl8AwbL/iaCE5gCX9zs= -github.com/bazelbuild/buildtools v0.0.0-20230425225026-3dcc8d67e8ea/go.mod h1:689QdV3hBP7Vo9dJMmzhoYIyo/9iMhEmHkJcnaPRCbo= +github.com/bazelbuild/buildtools v0.0.0-20250204160707-ad48c76ab9b5 h1:ls2GvHSkr+EXNZBBGVrPewx3nc54YBHCHd6v4BOlz9g= +github.com/bazelbuild/buildtools v0.0.0-20250204160707-ad48c76ab9b5/go.mod h1:PLNUetjLa77TCCziPsz0EI8a6CUxgC+1jgmWv0H25tg= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc= -github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= -github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw= -github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= -github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic= -github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= @@ -52,18 +47,17 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= -github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= -github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/cloudflare/circl v1.6.0 h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk= +github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= -github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= +github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -74,36 +68,36 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/dustmop/soup v1.1.2-0.20190516214245-38228baa104e h1:44fmjqDtdCiUNlSjJVp+w1AOs6na3Y6Ai0aIeseFjkI= github.com/dustmop/soup v1.1.2-0.20190516214245-38228baa104e/go.mod h1:CgNC6SGbT+Xb8wGGvzilttZL1mc5sQ/5KkcxsZttMIk= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy v1.4.0 h1:4GyuSbFa+s26+3rmYNSuUVsx+HgPrV1bk1jXI0l9wjM= +github.com/elazarl/goproxy v1.4.0/go.mod h1:X/5W/t+gzDyLfHW4DrMdpjqYjpXsURlBt9lpBDxZZZQ= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ericpauley/go-quantize v0.0.0-20200331213906-ae555eb2afa4 h1:BBade+JlV/f7JstZ4pitd4tHhpN+w+6I+LyOS7B4fyU= github.com/ericpauley/go-quantize v0.0.0-20200331213906-ae555eb2afa4/go.mod h1:H7chHJglrhPPzetLdzBleF8d22WYOv7UM/lEKYiwlKM= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= -github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= +github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gitsight/go-vcsurl v1.0.1 h1:wkijKsbVg9R2IBP97U7wOANeIW9WJJKkBwS9XqllzWo= github.com/gitsight/go-vcsurl v1.0.1/go.mod h1:qRFdKDa/0Lh9MT0xE+qQBYZ/01+mY1H40rZUHR24X9U= -github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= -github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= +github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= +github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= -github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM= +github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= -github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= +github.com/go-git/go-git/v5 v5.13.2 h1:7O7xvsK7K+rZPKW6AQR1YyNhfywkv7B8/FsP3ki6Zv0= +github.com/go-git/go-git/v5 v5.13.2/go.mod h1:hWdW5P4YZRjmpGHwRH2v3zkWcNl6HeXaXQEMGb3NJ9A= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -113,15 +107,9 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o 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.19.0 h1:ol+5Fu+cSq9JD7SoSqe04GMI92cbn0+wvQ3bZ8b/AU4= -github.com/go-playground/validator/v10 v10.19.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-playground/validator/v10 v10.24.0 h1:KHQckvo8G6hlWnrPX4NJJ+aBfWNAE/HH+qdL2cBpCmg= +github.com/go-playground/validator/v10 v10.24.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= -github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= -github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= -github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= -github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= @@ -129,8 +117,9 @@ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF0 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -141,10 +130,8 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -152,34 +139,31 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/pprof v0.0.0-20250208200701-d0013a598941 h1:43XjGa6toxLpeksjcxs1jIoIyr+vUfOqY2c6HB4bpoc= +github.com/google/pprof v0.0.0-20250208200701-d0013a598941/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/tink/go v1.7.0 h1:6Eox8zONGebBFcCBqkVmt60LaWZa6xg1cl/DwAh/J1w= github.com/google/tink/go v1.7.0/go.mod h1:GAUOd+QE3pgj9q8VKIGTCP33c/B7eb4NhxLcgTJZStM= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= -github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/ianlancetaylor/demangle v0.0.0-20240912202439-0a2b6291aafd h1:EVX1s+XNss9jkRW9K6XGJn2jL2lB1h5H804oKPsxOec= +github.com/ianlancetaylor/demangle v0.0.0-20240912202439-0a2b6291aafd/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= @@ -198,20 +182,18 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM= +github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= +github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= @@ -233,14 +215,14 @@ github.com/nirasan/go-oauth-pkce-code-verifier v0.0.0-20220510032225-4f9f17eaec4 github.com/nlepage/go-tarfs v1.2.1 h1:o37+JPA+ajllGKSPfy5+YpsNHDjZnAoyfvf5GsUa+Ks= github.com/nlepage/go-tarfs v1.2.1/go.mod h1:rno18mpMy9aEH1IiJVftFsqPyIpwqSUiAOpJYjlV2NA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/paulmach/orb v0.1.5/go.mod h1:pPwxxs3zoAyosNSbNKn1jiXV2+oovRDObDKfTvRegDI= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -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/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= -github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= +github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= +github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= +github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -262,15 +244,16 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/qri-io/starlib v0.5.1-0.20220611014110-7fb7ff9ec804 h1:uiSBjMqewVGbxBDsF5UOR7NARfhcSgpihRNvH9NiroA= github.com/qri-io/starlib v0.5.1-0.20220611014110-7fb7ff9ec804/go.mod h1:Geq0MWa2oq+Ki/05aXaKoJAguFzlCZQd9Fx3hTsAEPU= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= +github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= @@ -280,8 +263,8 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= -github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8= +github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY= github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0= github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -289,39 +272,35 @@ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9yS github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= -github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= +github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= +github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= -github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= +github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= -github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c h1:km8GpoQut05eY3GiYWEedbTT0qnSxrCjsVbb7yKY1KE= github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q= github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ= github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/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.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.3-0.20181224173747-660f15d67dbb/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -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.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427 h1:br5WYVw/jr4G0PZpBBx2fBAANVUrI8KKHMSs3LVqO9A= @@ -342,43 +321,37 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be h1:qf05vm7CJA3tcnR42pv2a/+pvCPGylJcg10B9CRFPvg= github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be/go.mod h1:FWqHpmEj39kZYjkb4y+GkFRwJofD3lP2k8ataoNlo2Y= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.starlark.net v0.0.0-20210223155950-e043a3d3c984/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= go.starlark.net v0.0.0-20210602144842-1cdb82c9e17a/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= -go.starlark.net v0.0.0-20240411212711-9b43f0afd521 h1:1Ufp2S2fPpj0RHIQ4rbzpCdPLCPkzdK7BaVFH3nkYBQ= -go.starlark.net v0.0.0-20240411212711-9b43f0afd521/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= +go.starlark.net v0.0.0-20250205221240-492d3672b3f4 h1:eBP+boBfJoGU3irqbxGTcTlKcbNwJCOdbmsnDq56nak= +go.starlark.net v0.0.0-20250205221240-492d3672b3f4/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= +golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 h1:qNgPs5exUA+G0C96DrPwNrvLSj7GT/9D+3WMWUcUg34= +golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/image v0.0.0-20210504121937-7319ad40d33e/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8= -golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE= -golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= -golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= +golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ= +golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -394,25 +367,29 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg= -golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= +golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= +golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -432,34 +409,39 @@ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= +golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -471,9 +453,7 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= -golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -493,13 +473,10 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -518,7 +495,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -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= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/package-lock.json b/package-lock.json index e2dada7062..b73d1815bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3897,24 +3897,28 @@ } }, "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { @@ -3922,6 +3926,7 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3931,15 +3936,27 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" }, "node_modules/bonjour-service": { "version": "1.0.11", @@ -3983,11 +4000,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4051,6 +4069,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -4335,10 +4384,11 @@ ] }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4352,10 +4402,11 @@ } }, "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4443,10 +4494,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4696,10 +4748,15 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-node": { "version": "2.1.0", @@ -4819,11 +4876,27 @@ "tslib": "^2.0.3" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { "version": "1.4.616", @@ -4840,10 +4913,11 @@ } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4889,11 +4963,44 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -4967,8 +5074,9 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5011,44 +5119,50 @@ } }, "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", + "depd": "2.0.0", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.3.1", "fresh": "0.5.2", - "merge-descriptors": "1.0.1", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/array-flatten": { @@ -5066,6 +5180,16 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -5092,6 +5216,16 @@ } ] }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -5182,9 +5316,10 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5193,17 +5328,18 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -5215,6 +5351,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5222,8 +5359,19 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/find-cache-dir": { "version": "4.0.0", @@ -5397,8 +5545,9 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5415,10 +5564,29 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", @@ -5430,19 +5598,44 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -5526,6 +5719,19 @@ "csstype": "^3.0.10" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -5569,10 +5775,11 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5580,6 +5787,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -5709,19 +5929,40 @@ "dev": true }, "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, + "license": "MIT", "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, "node_modules/http-parser-js": { @@ -5745,10 +5986,11 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", - "integrity": "sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -5788,6 +6030,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -5972,6 +6215,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -6364,6 +6608,16 @@ } } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -6373,8 +6627,9 @@ "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6392,10 +6647,14 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -6420,12 +6679,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -6436,6 +6696,7 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -6496,9 +6757,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -6506,6 +6767,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -6617,6 +6879,19 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -6651,10 +6926,11 @@ "dev": true }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -6851,10 +7127,11 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -7066,10 +7343,14 @@ } }, "node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, "engines": { "node": ">=0.6" }, @@ -7114,13 +7395,14 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -7133,6 +7415,7 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7563,7 +7846,8 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/scheduler": { "version": "0.20.2", @@ -7651,24 +7935,25 @@ } }, "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -7679,6 +7964,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7686,14 +7972,46 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { "version": "6.0.1", @@ -7764,15 +8082,16 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -7782,7 +8101,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/shallow-clone": { "version": "3.0.1", @@ -7826,6 +8146,82 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -8146,6 +8542,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -8158,6 +8555,7 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6" } @@ -8173,6 +8571,7 @@ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -8224,8 +8623,9 @@ "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -8606,10 +9006,11 @@ "dev": true }, "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -11338,21 +11739,23 @@ "dev": true }, "body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { @@ -11370,10 +11773,16 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } @@ -11419,11 +11828,11 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browserslist": { @@ -11458,6 +11867,26 @@ "get-intrinsic": "^1.0.2" } }, + "call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -11664,9 +12093,9 @@ } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "convert-source-map": { @@ -11678,9 +12107,9 @@ } }, "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true }, "cookie-signature": { @@ -11746,9 +12175,9 @@ } }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -11915,9 +12344,9 @@ "dev": true }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-node": { @@ -12014,10 +12443,21 @@ "tslib": "^2.0.3" } }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "electron-to-chromium": { @@ -12032,9 +12472,9 @@ "dev": true }, "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true }, "enhanced-resolve": { @@ -12066,11 +12506,32 @@ "is-arrayish": "^0.2.1" } }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, "es-module-lexer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -12125,7 +12586,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "eventemitter3": { @@ -12157,38 +12618,39 @@ } }, "express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", + "depd": "2.0.0", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.3.1", "fresh": "0.5.2", - "merge-descriptors": "1.0.1", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -12209,6 +12671,12 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -12220,6 +12688,12 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -12292,25 +12766,25 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "requires": { "to-regex-range": "^5.0.1" } }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -12326,7 +12800,13 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } @@ -12440,7 +12920,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "fs-monkey": { @@ -12455,10 +12935,17 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "gensync": { "version": "1.0.0-beta.2", @@ -12467,14 +12954,31 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" } }, "get-stream": { @@ -12534,6 +13038,12 @@ "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", "requires": {} }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true + }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -12568,11 +13078,20 @@ } }, "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -12669,16 +13188,30 @@ "dev": true }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } } }, "http-parser-js": { @@ -12699,9 +13232,9 @@ } }, "http-proxy-middleware": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", - "integrity": "sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dev": true, "requires": { "@types/http-proxy": "^1.17.8", @@ -13157,6 +13690,12 @@ } } }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true + }, "mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -13166,7 +13705,7 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "memfs": { @@ -13179,9 +13718,9 @@ } }, "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true }, "merge-stream": { @@ -13201,12 +13740,12 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" } }, "mime": { @@ -13256,9 +13795,9 @@ "dev": true }, "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true }, "negotiator": { @@ -13335,6 +13874,12 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -13360,9 +13905,9 @@ "dev": true }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -13506,9 +14051,9 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true }, "path-type": { @@ -13659,10 +14204,13 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "requires": { + "side-channel": "^1.0.6" + } }, "queue-microtask": { "version": "1.2.3", @@ -13684,13 +14232,13 @@ "dev": true }, "raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "requires": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -14080,24 +14628,24 @@ "dev": true }, "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -14112,16 +14660,34 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -14190,15 +14756,15 @@ } }, "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.19.0" } }, "setprototypeof": { @@ -14237,6 +14803,54 @@ "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==", "dev": true }, + "side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + } + }, + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + } + }, + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + } + }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -14528,7 +15142,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "update-browserslist-db": { @@ -14779,9 +15393,9 @@ "dev": true }, "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index ad4ad3fd46..3b8307affa 100644 --- a/package.json +++ b/package.json @@ -15,15 +15,15 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/tidbyt/pixlet.git" + "url": "git+https://github.com/tavdog/pixlet.git" }, "keywords": [], "author": "Tidbyt, Inc.", "license": "Apache 2.0", "bugs": { - "url": "https://github.com/tidbyt/pixlet/issues" + "url": "https://github.com/tavdog/pixlet/issues" }, - "homepage": "https://github.com/tidbyt/pixlet#readme", + "homepage": "https://github.com/tavdog/pixlet#readme", "devDependencies": { "@babel/core": "7.24.4", "@babel/plugin-proposal-class-properties": "7.18.6", diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 6e43eba11b..41e54c8955 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -22,13 +22,13 @@ do if [[ $ARCH == "linux-arm64" ]]; then echo "linux-arm64" - CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet elif [[ $ARCH == "linux-amd64" ]]; then echo "linux-amd64" - CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s -extldflags=-static -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet elif [[ $ARCH == "windows-amd64" ]]; then echo "windows-amd64" - go build -ldflags="-s -extldflags=-static -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -tags timetzdata -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.exe tidbyt.dev/pixlet + go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -tags timetzdata -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.exe tidbyt.dev/pixlet else echo "other" CGO_CFLAGS="-I/tmp/${LIBWEBP_VERSION}/${ARCH}/include" CGO_LDFLAGS="-L/tmp/${LIBWEBP_VERSION}/${ARCH}/lib" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet diff --git a/scripts/setup-linux.sh b/scripts/setup-linux.sh index 9488363c4e..638183fd0d 100755 --- a/scripts/setup-linux.sh +++ b/scripts/setup-linux.sh @@ -4,28 +4,126 @@ set -e dpkg --add-architecture arm64 -cat < /etc/apt/sources.list -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy universe -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates universe -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy multiverse -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse -deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security main restricted -deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security universe -deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security multiverse - -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricted -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy universe -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates universe -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy multiverse -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates multiverse -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security universe -deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security multiverse +cat < /etc/apt/sources.list.d/ubuntu.sources +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble +Components: main restricted +Architectures: amd64 + +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble-updates +Components: main restricted +Architectures: amd64 + +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble +Components: universe +Architectures: amd64 + +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble-updates +Components: universe +Architectures: amd64 + +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble +Components: multiverse +Architectures: amd64 + +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble-updates +Components: multiverse +Architectures: amd64 + +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble-backports +Components: main restricted universe multiverse +Architectures: amd64 + +Types: deb +URIs: http://security.ubuntu.com/ubuntu/ +Suites: noble-security +Components: main restricted +Architectures: amd64 + +Types: deb +URIs: http://security.ubuntu.com/ubuntu/ +Suites: noble-security +Components: universe +Architectures: amd64 + +Types: deb +URIs: http://security.ubuntu.com/ubuntu/ +Suites: noble-security +Components: multiverse +Architectures: amd64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble +Components: main restricted +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-updates +Components: main restricted +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble +Components: universe +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-updates +Components: universe +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble +Components: multiverse +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-updates +Components: multiverse +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-backports +Components: main restricted universe multiverse +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-security +Components: main restricted +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-security +Components: universe +Architectures: arm64 + +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports +Suites: noble-security +Components: multiverse +Architectures: arm64 EOT apt-get update From ce0b067c17ba349f34f194e43a552edb17abf607 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 10 Feb 2025 07:59:37 +0100 Subject: [PATCH 15/68] Use a forked go-libwebp with a newer libwebp version --- Dockerfile | 2 +- encode/encode_test.go | 2 +- encode/webp.go | 2 +- go.mod | 4 ++-- go.sum | 4 ++-- render/image_webp.go | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index f2eb1a30ee..4f17f377f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM alpine:3.21 AS builder RUN apk --no-cache add go npm libwebp-dev libwebp-static git make clang musl-dev COPY . /pixlet WORKDIR /pixlet -RUN npm install && npm run build && STATIC=1 make build +RUN npm install && npm run build && STATIC=1 CC=clang make build FROM scratch diff --git a/encode/encode_test.go b/encode/encode_test.go index 78b86ab664..6f712ac727 100644 --- a/encode/encode_test.go +++ b/encode/encode_test.go @@ -7,9 +7,9 @@ import ( "strings" "testing" + "github.com/ingmarstein/go-libwebp/webp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tidbyt/go-libwebp/webp" "tidbyt.dev/pixlet/render" "tidbyt.dev/pixlet/runtime" ) diff --git a/encode/webp.go b/encode/webp.go index fb3586e1e5..b20373d009 100644 --- a/encode/webp.go +++ b/encode/webp.go @@ -6,7 +6,7 @@ import ( "fmt" "time" - "github.com/tidbyt/go-libwebp/webp" + "github.com/ingmarstein/go-libwebp/webp" ) // Renders a screen to WebP. Optionally pass filters for diff --git a/go.mod b/go.mod index da0cd1381c..6c1c2b864e 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module tidbyt.dev/pixlet -go 1.23 +go 1.23.6 require ( github.com/Code-Hex/Neo-cowsay/v2 v2.0.4 @@ -17,6 +17,7 @@ require ( github.com/google/tink/go v1.7.0 github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket v1.5.3 + github.com/ingmarstein/go-libwebp v0.0.0-20250210064648-2a5c38d63a1b github.com/manifoldco/promptui v0.9.0 github.com/mitchellh/hashstructure/v2 v2.0.2 github.com/nathan-osman/go-sunrise v1.1.0 @@ -33,7 +34,6 @@ require ( github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef github.com/stretchr/testify v1.10.0 github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427 - github.com/tidbyt/go-libwebp v0.0.0-20230922075150-fb11063b2a6a github.com/vmihailenco/msgpack/v5 v5.4.1 github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be go.starlark.net v0.0.0-20250205221240-492d3672b3f4 diff --git a/go.sum b/go.sum index a942130d51..d4cba6f538 100644 --- a/go.sum +++ b/go.sum @@ -161,6 +161,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20240912202439-0a2b6291aafd/go.mod h1: github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/ingmarstein/go-libwebp v0.0.0-20250210064648-2a5c38d63a1b h1:Krdm0Ud4gdyfuac9pIJzjb2XS1uvzstuL15ShkvPsYM= +github.com/ingmarstein/go-libwebp v0.0.0-20250210064648-2a5c38d63a1b/go.mod h1:IpH5jI96BLlagb2XZnNHNOh37XP6KW/aKI66kR6lU/4= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= @@ -305,8 +307,6 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8 github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427 h1:br5WYVw/jr4G0PZpBBx2fBAANVUrI8KKHMSs3LVqO9A= github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427/go.mod h1:+SCm6iJHe2lfsQzlbLCsd5XsTKYSD0VqtQmWMnNs9OE= -github.com/tidbyt/go-libwebp v0.0.0-20230922075150-fb11063b2a6a h1:zvAhEO3ZB7m1Lc3BwJXLTDrLrHVAbcDByJ7XkL4WR+s= -github.com/tidbyt/go-libwebp v0.0.0-20230922075150-fb11063b2a6a/go.mod h1:JU6yp7mldR7lmftjHPtaDs+Q8xn7l2tMR1XYx5iJELg= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= diff --git a/render/image_webp.go b/render/image_webp.go index 9081e75e63..c0963be543 100644 --- a/render/image_webp.go +++ b/render/image_webp.go @@ -5,7 +5,7 @@ package render import ( "fmt" - "github.com/tidbyt/go-libwebp/webp" + "github.com/ingmarstein/go-libwebp/webp" ) func (p *Image) InitFromWebP(data []byte) error { From 8e4da312ebbef1135d0174baeb4153a84a49c67e Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 10 Feb 2025 22:51:00 +0100 Subject: [PATCH 16/68] Add devcontainer and bump dependencies --- .devcontainer/devcontainer.json | 52 + package-lock.json | 11858 ++++++++---------------------- package.json | 72 +- 3 files changed, 2987 insertions(+), 8995 deletions(-) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..0093f60cc6 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,52 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/go +{ + "name": "Go", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/go:1.23-bookworm", + "features": { + "ghcr.io/devcontainers/features/node:1": { + "nodeGypDependencies": true, + "installYarnUsingApt": true, + "version": "lts", + "pnpmVersion": "latest", + "nvmVersion": "latest" + }, + "ghcr.io/devcontainers/features/go:1": { + "version": "1.23.6" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "timonwong.shellcheck", + "ms-vscode.makefile-tools", + "github.vscode-github-actions", + "ms-azuretools.vscode-docker", + "golang.go" + ], + "settings": { + "terminal.integrated.profiles.linux": { + "zsh": { + "path": "/usr/bin/zsh" + } + }, + "terminal.integrated.defaultProfile.linux": "zsh", + "editor.formatOnPaste": false, + "editor.formatOnSave": true, + "editor.formatOnType": true, + "files.trimTrailingWhitespace": true + } + } + }, + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [ + 8080 + ], + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "echo deb http://deb.debian.org/debian bookworm-backports main | sudo tee -a /etc/apt/sources.list.d/bookworm-backports.list && sudo apt-get update && sudo apt install -y libwebp-dev/bookworm-backports && npm install" + // Configure tool-specific properties. + // "customizations": {}, + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b73d1815bd..860ad83947 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "pixlet", "version": "0.1.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -9,83 +9,73 @@ "version": "0.1.0", "license": "Apache 2.0", "dependencies": { - "@emotion/react": "11.11.4", - "@emotion/styled": "11.11.5", - "@fontsource/barlow": "4.5.9", - "@fontsource/material-icons": "4.5.4", - "@fortawesome/fontawesome-svg-core": "6.5.2", - "@fortawesome/free-brands-svg-icons": "6.5.2", - "@fortawesome/free-solid-svg-icons": "6.5.2", - "@fortawesome/react-fontawesome": "0.2.0", - "@mui/icons-material": "5.15.15", - "@mui/lab": "5.0.0-alpha.170", - "@mui/material": "5.15.15", - "@mui/x-date-pickers": "5.0.20", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@fontsource/barlow": "^4.5.9", + "@fontsource/material-icons": "^4.5.4", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.0", + "@mui/icons-material": "^6.0.0", + "@mui/lab": "6.0.0-beta.26", + "@mui/material": "^6.0.0", + "@mui/x-date-pickers": "7.26.0", "@reduxjs/toolkit": "1.9.7", - "axios": "1.7.4", + "axios": "^1.7.4", "axios-retry": "^3.5.0", "copy-webpack-plugin": "^11.0.0", "date-fns": "2.30.0", - "dayjs": "1.11.10", + "dayjs": "^1.11.10", "material-ui-color": "^1.2.0", - "notistack": "3.0.1", - "react": "17.0.2", - "react-dom": "17.0.2", - "react-easy-crop": "4.7.4", - "react-redux": "8.1.3", - "react-router": "6.23.0", - "react-router-dom": "6.23.0", - "react-simple-oauth2-login": "0.5.4" + "notistack": "^3.0.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-easy-crop": "^4.7.4", + "react-redux": "^8.1.3", + "react-router": "^6.23.0", + "react-router-dom": "^6.23.0", + "react-simple-oauth2-login": "^0.5.4" }, "devDependencies": { - "@babel/core": "7.24.4", - "@babel/plugin-proposal-class-properties": "7.18.6", - "@babel/preset-react": "7.24.1", - "@svgr/webpack": "6.5.1", - "babel-loader": "9.1.3", - "babel-preset-react": "6.24.1", - "css-loader": "6.11.0", - "file-loader": "6.2.0", - "html-webpack-plugin": "5.6.0", - "style-loader": "3.3.4", - "webpack": "5.94.0", - "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.2", - "webpack-merge": "5.10.0" + "@babel/core": "^7.24.4", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/preset-react": "^7.24.1", + "@svgr/webpack": "^6.5.1", + "babel-loader": "^9.1.3", + "babel-preset-react": "^6.24.1", + "css-loader": "^6.11.0", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.6.0", + "style-loader": "^3.3.4", + "webpack": "^5.94.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^5.10.0" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -93,30 +83,33 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz", + "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.8", + "@babel/template": "^7.26.8", + "@babel/traverse": "^7.26.8", + "@babel/types": "^7.26.8", + "@types/gensync": "^1.0.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -131,61 +124,45 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "node_modules/@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", - "dev": true, + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz", + "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0", + "@babel/parser": "^7.26.8", + "@babel/types": "^7.26.8", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -193,34 +170,20 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz", - "integrity": "sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-member-expression-to-functions": "^7.18.6", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -230,13 +193,15 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -246,102 +211,59 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.14.2" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -351,36 +273,38 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -390,144 +314,150 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "node_modules/@babel/parser": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", + "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/types": "^7.26.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -537,14 +467,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -553,29 +484,30 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -587,31 +519,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -620,14 +548,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -636,14 +564,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -652,14 +580,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -668,30 +596,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -700,17 +629,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" }, "engines": { "node": ">=6.9.0" @@ -719,14 +647,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -735,15 +665,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -752,14 +681,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -768,16 +697,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -786,53 +714,69 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -841,64 +785,80 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -907,85 +867,113 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -994,60 +982,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1056,13 +999,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1071,13 +1016,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz", - "integrity": "sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1086,36 +1035,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1124,29 +1052,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz", - "integrity": "sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1155,13 +1085,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1170,14 +1101,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1186,13 +1117,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1201,15 +1135,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1218,13 +1152,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1233,13 +1168,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1248,15 +1185,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1265,16 +1201,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1283,16 +1218,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1301,14 +1236,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1317,29 +1252,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1348,14 +1268,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1364,13 +1284,18 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1379,13 +1304,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1394,13 +1320,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", - "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1409,13 +1337,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1424,32 +1354,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1458,14 +1387,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1474,14 +1403,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1490,13 +1420,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1505,13 +1436,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1520,14 +1452,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1536,13 +1468,18 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", + "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1551,13 +1488,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1566,13 +1504,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1581,15 +1521,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz", - "integrity": "sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-typescript": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1598,118 +1538,99 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "node_modules/@babel/preset-env": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.8.tgz", + "integrity": "sha512-um7Sy+2THd697S4zJEfv/U5MHGJzkN2xhtsR3T/SWRbVSic62nbISh51VVfU9JiO/L/Z97QczHTaFVkOU8IzNg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" + "@babel/compat-data": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.26.5", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.26.3", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", + "@babel/plugin-transform-typeof-symbol": "^7.26.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.11.0", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.40.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1719,33 +1640,33 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/preset-react": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", - "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.26.3.tgz", + "integrity": "sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-react-display-name": "^7.24.1", - "@babel/plugin-transform-react-jsx": "^7.23.4", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1755,14 +1676,17 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1772,9 +1696,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", + "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1782,39 +1707,31 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", + "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.8", + "@babel/types": "^7.26.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz", + "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.8", + "@babel/parser": "^7.26.8", + "@babel/template": "^7.26.8", + "@babel/types": "^7.26.8", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1823,167 +1740,100 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", + "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@date-io/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz", - "integrity": "sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==" + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } }, - "node_modules/@date-io/date-fns": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz", - "integrity": "sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==", + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", "dependencies": { - "@date-io/core": "^2.16.0" - }, - "peerDependencies": { - "date-fns": "^2.0.0" - }, - "peerDependenciesMeta": { - "date-fns": { - "optional": true - } + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" } }, - "node_modules/@date-io/dayjs": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz", - "integrity": "sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==", + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", "dependencies": { - "@date-io/core": "^2.16.0" - }, - "peerDependencies": { - "dayjs": "^1.8.17" - }, - "peerDependenciesMeta": { - "dayjs": { - "optional": true - } - } - }, - "node_modules/@date-io/luxon": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz", - "integrity": "sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==", - "dependencies": { - "@date-io/core": "^2.16.0" - }, - "peerDependencies": { - "luxon": "^1.21.3 || ^2.x || ^3.x" - }, - "peerDependenciesMeta": { - "luxon": { - "optional": true - } - } - }, - "node_modules/@date-io/moment": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz", - "integrity": "sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==", - "dependencies": { - "@date-io/core": "^2.16.0" - }, - "peerDependencies": { - "moment": "^2.24.0" - }, - "peerDependenciesMeta": { - "moment": { - "optional": true - } - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" } }, "node_modules/@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" }, "node_modules/@emotion/is-prop-valid": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", - "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "license": "MIT", "dependencies": { - "@emotion/memoize": "^0.8.1" + "@emotion/memoize": "^0.9.0" } }, "node_modules/@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" }, "node_modules/@emotion/react": { - "version": "11.11.4", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", - "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -1996,33 +1846,36 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", - "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", - "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" }, "node_modules/@emotion/styled": { - "version": "11.11.5", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", - "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz", + "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.2", - "@emotion/serialize": "^1.1.4", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" }, "peerDependencies": { "@emotion/react": "^11.0.0-rc.0", @@ -2035,51 +1888,58 @@ } }, "node_modules/@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" }, "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" }, "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.1" + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", - "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", + "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", + "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.6.1" + "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "react": ">=16.8.0", @@ -2087,69 +1947,73 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" }, "node_modules/@fontsource/barlow": { "version": "4.5.9", "resolved": "https://registry.npmjs.org/@fontsource/barlow/-/barlow-4.5.9.tgz", - "integrity": "sha512-Nzg7bpw6raZtNdHwvLIt6ue/Gas/tpsNyf7zrRvVdV38iOrtOip2aabO3lexEyiYkKjKrlqAjEyAtTrC2XfkRg==" + "integrity": "sha512-Nzg7bpw6raZtNdHwvLIt6ue/Gas/tpsNyf7zrRvVdV38iOrtOip2aabO3lexEyiYkKjKrlqAjEyAtTrC2XfkRg==", + "license": "MIT" }, "node_modules/@fontsource/material-icons": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/@fontsource/material-icons/-/material-icons-4.5.4.tgz", - "integrity": "sha512-YGmXkkEdu6EIgpFKNmB/nIXzZocwSmbI01Ninpmml8x8BT0M6RR++V1KqOfpzZ6Cw/FQ2/KYonQ3x4IY/4VRRA==" + "integrity": "sha512-YGmXkkEdu6EIgpFKNmB/nIXzZocwSmbI01Ninpmml8x8BT0M6RR++V1KqOfpzZ6Cw/FQ2/KYonQ3x4IY/4VRRA==", + "license": "MIT" }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "hasInstallScript": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", + "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", - "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", - "hasInstallScript": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", + "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", + "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.7.2" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-brands-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", - "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", - "hasInstallScript": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.2.tgz", + "integrity": "sha512-zu0evbcRTgjKfrr77/2XX+bU+kuGfjm0LbajJHVIgBWNIDzrhpRxiCPNT8DW5AdmSsq7Mcf9D1bH0aSeSUSM+Q==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.7.2" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", - "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", - "hasInstallScript": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz", + "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.7.2" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/react-fontawesome": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz", - "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "license": "MIT", "dependencies": { "prop-types": "^15.8.1" }, @@ -2159,9 +2023,10 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2172,9 +2037,10 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -2183,44 +2049,50 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", - "dev": true + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" }, "node_modules/@material-ui/core": { "version": "4.12.4", "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", @@ -2259,6 +2131,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", @@ -2300,18 +2173,21 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT", "peer": true }, "node_modules/@material-ui/styles/node_modules/csstype": { "version": "2.6.21", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "license": "MIT", "peer": true }, "node_modules/@material-ui/system": { "version": "4.12.2", "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", @@ -2341,12 +2217,14 @@ "version": "2.6.21", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "license": "MIT", "peer": true }, "node_modules/@material-ui/types": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "license": "MIT", "peer": true, "peerDependencies": { "@types/react": "*" @@ -2361,6 +2239,7 @@ "version": "4.11.3", "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", @@ -2376,29 +2255,31 @@ } }, "node_modules/@mui/base": { - "version": "5.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", - "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@floating-ui/react-dom": "^2.0.8", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", + "version": "5.0.0-beta.69", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.69.tgz", + "integrity": "sha512-r2YyGUXpZxj8rLAlbjp1x2BnMERTZ/dMqd9cClKj2OJ7ALAuiv/9X5E9eHfRc9o/dGRuLSMq/WTjREktJVjxVA==", + "deprecated": "This package has been replaced by @base-ui-components/react", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@floating-ui/react-dom": "^2.1.1", + "@mui/types": "^7.2.21", + "@mui/utils": "^6.4.1", "@popperjs/core": "^2.11.8", - "clsx": "^2.1.0", + "clsx": "^2.1.1", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2407,40 +2288,43 @@ } }, "node_modules/@mui/base/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz", - "integrity": "sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg==", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.3.tgz", + "integrity": "sha512-hlyOzo2ObarllAOeT1ZSAusADE5NZNencUeIvXrdQ1Na+FL1lcznhbxfV5He1KqGiuR8Az3xtCUcYKwMVGFdzg==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" } }, "node_modules/@mui/icons-material": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.15.tgz", - "integrity": "sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g==", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.3.tgz", + "integrity": "sha512-3IY9LpjkwIJVgL/SkZQKKCUcumdHdQEsJaIavvsQze2QEztBt0HJ17naToN0DBBdhKdtwX5xXrfD6ZFUeWWk8g==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.9" + "@babel/runtime": "^7.26.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@mui/material": "^6.4.3", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2449,20 +2333,21 @@ } }, "node_modules/@mui/lab": { - "version": "5.0.0-alpha.170", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.170.tgz", - "integrity": "sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/system": "^5.15.15", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "clsx": "^2.1.0", + "version": "6.0.0-beta.26", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-6.0.0-beta.26.tgz", + "integrity": "sha512-auu2dXp6jslzW4Cp0tfYWv0xO9FmuwROsjyWcB9wPlAsEoWhh5N1FW8dqESDwaSKqFz5LwV+Y2vsYjYsYX9aOw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@mui/base": "5.0.0-beta.69", + "@mui/system": "^6.4.3", + "@mui/types": "^7.2.21", + "@mui/utils": "^6.4.3", + "clsx": "^2.1.1", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", @@ -2471,10 +2356,11 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@mui/material": ">=5.15.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@mui/material": "^6.4.3", + "@mui/material-pigment-css": "^6.4.3", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2483,39 +2369,44 @@ "@emotion/styled": { "optional": true }, + "@mui/material-pigment-css": { + "optional": true + }, "@types/react": { "optional": true } } }, "node_modules/@mui/lab/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@mui/material": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.15.tgz", - "integrity": "sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/core-downloads-tracker": "^5.15.15", - "@mui/system": "^5.15.15", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "@types/react-transition-group": "^4.4.10", - "clsx": "^2.1.0", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.3.tgz", + "integrity": "sha512-ubtQjplbWneIEU8Y+4b2VA0CDBlyH5I3AmVFGmsLyDe/bf0ubxav5t11c8Afem6rkSFWPlZA2DilxmGka1xiKQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@mui/core-downloads-tracker": "^6.4.3", + "@mui/system": "^6.4.3", + "@mui/types": "^7.2.21", + "@mui/utils": "^6.4.3", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.12", + "clsx": "^2.1.1", "csstype": "^3.1.3", "prop-types": "^15.8.1", - "react-is": "^18.2.0", + "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", @@ -2524,9 +2415,10 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@mui/material-pigment-css": "^6.4.3", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2535,43 +2427,49 @@ "@emotion/styled": { "optional": true }, + "@mui/material-pigment-css": { + "optional": true + }, "@types/react": { "optional": true } } }, "node_modules/@mui/material/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@mui/material/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", + "license": "MIT" }, "node_modules/@mui/private-theming": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz", - "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.3.tgz", + "integrity": "sha512-7x9HaNwDCeoERc4BoEWLieuzKzXu5ZrhRnEM6AUcRXUScQLvF1NFkTlP59+IJfTbEMgcGg1wWHApyoqcksrBpQ==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.15.14", + "@babel/runtime": "^7.26.0", + "@mui/utils": "^6.4.3", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2580,17 +2478,20 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", - "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.3.tgz", + "integrity": "sha512-OC402VfK+ra2+f12Gef8maY7Y9n7B6CZcoQ9u7mIkh/7PKwW/xH81xwX+yW+Ak1zBT3HYcVjh2X82k5cKMFGoQ==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.9", - "@emotion/cache": "^11.11.0", + "@babel/runtime": "^7.26.0", + "@emotion/cache": "^11.13.5", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", @@ -2599,7 +2500,7 @@ "peerDependencies": { "@emotion/react": "^11.4.1", "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2611,21 +2512,22 @@ } }, "node_modules/@mui/system": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz", - "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.15.14", - "@mui/styled-engine": "^5.15.14", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "clsx": "^2.1.0", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.4.3.tgz", + "integrity": "sha512-Q0iDwnH3+xoxQ0pqVbt8hFdzhq1g2XzzR4Y5pVcICTNtoCLJmpJS3vI4y/OIM1FHFmpfmiEC2IRIq7YcZ8nsmg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@mui/private-theming": "^6.4.3", + "@mui/styled-engine": "^6.4.3", + "@mui/types": "^7.2.21", + "@mui/utils": "^6.4.3", + "clsx": "^2.1.1", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", @@ -2634,8 +2536,8 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2650,19 +2552,21 @@ } }, "node_modules/@mui/system/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@mui/types": { - "version": "7.2.14", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", - "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", + "version": "7.2.21", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.21.tgz", + "integrity": "sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww==", + "license": "MIT", "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2671,25 +2575,28 @@ } }, "node_modules/@mui/utils": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz", - "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==", + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.4.3.tgz", + "integrity": "sha512-jxHRHh3BqVXE9ABxDm+Tc3wlBooYz/4XPa0+4AI+iF38rV1/+btJmSUgG4shDtSWVs/I97aDn5jBCt6SF2Uq2A==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.9", - "@types/prop-types": "^15.7.11", + "@babel/runtime": "^7.26.0", + "@mui/types": "^7.2.21", + "@types/prop-types": "^15.7.14", + "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "react-is": "^19.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2697,47 +2604,56 @@ } } }, + "node_modules/@mui/utils/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/@mui/utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", + "license": "MIT" }, "node_modules/@mui/x-date-pickers": { - "version": "5.0.20", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.20.tgz", - "integrity": "sha512-ERukSeHIoNLbI1C2XRhF9wRhqfsr+Q4B1SAw2ZlU7CWgcG8UBOxgqRKDEOVAIoSWL+DWT6GRuQjOKvj6UXZceA==", - "dependencies": { - "@babel/runtime": "^7.18.9", - "@date-io/core": "^2.15.0", - "@date-io/date-fns": "^2.15.0", - "@date-io/dayjs": "^2.15.0", - "@date-io/luxon": "^2.15.0", - "@date-io/moment": "^2.15.0", - "@mui/utils": "^5.10.3", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "prop-types": "^15.7.2", - "react-transition-group": "^4.4.5", - "rifm": "^0.12.1" + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.26.0.tgz", + "integrity": "sha512-bhSDce1b5MBYYlCdHQJBThe10LGTE3D/u53TDQ41+IRj+iiNCun8jivw3DxKhmoBxlB+hVdkcltpTtIGlPjQZQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@mui/utils": "^5.16.6 || ^6.0.0", + "@mui/x-internals": "7.26.0", + "@types/react-transition-group": "^4.4.11", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { "@emotion/react": "^11.9.0", "@emotion/styled": "^11.8.1", - "@mui/material": "^5.4.1", - "@mui/system": "^5.4.1", - "date-fns": "^2.25.0", + "@mui/material": "^5.15.14 || ^6.0.0", + "@mui/system": "^5.15.14 || ^6.0.0", + "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0", + "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0", "dayjs": "^1.10.7", - "luxon": "^1.28.0 || ^2.0.0 || ^3.0.0", - "moment": "^2.29.1", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" + "luxon": "^3.0.2", + "moment": "^2.29.4", + "moment-hijri": "^2.1.2 || ^3.0.0", + "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2749,6 +2665,9 @@ "date-fns": { "optional": true }, + "date-fns-jalali": { + "optional": true + }, "dayjs": { "optional": true }, @@ -2757,13 +2676,49 @@ }, "moment": { "optional": true + }, + "moment-hijri": { + "optional": true + }, + "moment-jalaali": { + "optional": true } } }, + "node_modules/@mui/x-date-pickers/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@mui/x-internals": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.26.0.tgz", + "integrity": "sha512-VxTCYQcZ02d3190pdvys2TDg9pgbvewAVakEopiOgReKAUhLdRlgGJHcOA/eAuGLyK1YIo26A6Ow6ZKlSRLwMg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.7", + "@mui/utils": "^5.16.6 || ^6.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2776,6 +2731,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -2784,6 +2740,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2796,6 +2753,7 @@ "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -2805,6 +2763,7 @@ "version": "1.9.7", "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "license": "MIT", "dependencies": { "immer": "^9.0.21", "redux": "^4.2.1", @@ -2825,9 +2784,10 @@ } }, "node_modules/@remix-run/router": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz", - "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.22.0.tgz", + "integrity": "sha512-MBOl8MeOzpK0HQQQshKB7pABXbmyHizdTpqnrIseTbsv0nAepwC2ENZa1aaBExNQcpLoXmWthhak8SABLzvGPw==", + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -2837,6 +2797,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2849,12 +2810,13 @@ } }, "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz", - "integrity": "sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2865,12 +2827,13 @@ } }, "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz", - "integrity": "sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2885,6 +2848,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2901,6 +2865,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2917,6 +2882,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2933,6 +2899,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2949,6 +2916,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2965,6 +2933,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", "dev": true, + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", "@svgr/babel-plugin-remove-jsx-attribute": "*", @@ -2991,6 +2960,7 @@ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", @@ -3011,6 +2981,7 @@ "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.0", "entities": "^4.4.0" @@ -3023,23 +2994,12 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/@svgr/plugin-jsx": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", @@ -3062,6 +3022,7 @@ "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", "dev": true, + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.1", "deepmerge": "^4.2.2", @@ -3083,6 +3044,7 @@ "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.19.6", "@babel/plugin-transform-react-constant-elements": "^7.18.12", @@ -3106,191 +3068,289 @@ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10.13.0" } }, "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dev": true, + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dev": true, + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", + "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", - "@types/range-parser": "*" + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gensync": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz", + "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", + "license": "MIT", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" } }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" }, "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz", - "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==" + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", + "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", + "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", - "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", + "version": "17.0.83", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.83.tgz", + "integrity": "sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", + "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, "node_modules/@types/react-transition-group": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", - "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", - "dependencies": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { "@types/react": "*" } }, "node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } }, "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dev": true, + "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", "dev": true, + "license": "MIT", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" } }, "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -3298,145 +3358,162 @@ "node_modules/@types/use-sync-external-store": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", + "integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -3445,6 +3522,7 @@ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -3458,6 +3536,7 @@ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -3471,6 +3550,7 @@ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.15.0" }, @@ -3487,18 +3567,21 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -3507,10 +3590,21 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3518,23 +3612,16 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -3545,6 +3632,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -3557,32 +3645,16 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { - "ajv": "^6.9.1" + "ajv": "^8.8.2" } }, "node_modules/ansi-html-community": { @@ -3593,6 +3665,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -3602,26 +3675,17 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3631,20 +3695,23 @@ } }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -3655,6 +3722,7 @@ "version": "3.9.1", "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.9.1.tgz", "integrity": "sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==", + "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.15.4", "is-retry-allowed": "^2.2.0" @@ -3663,8 +3731,9 @@ "node_modules/babel-helper-builder-react-jsx": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "integrity": "sha512-02I9jDjnVEuGy2BR3LRm9nPRb/+Ja0pvZVLr1eI5TYAA/dB0Xoc+WBo50+aDfhGDLhlBY1+QURjn9uvcFd8gzg==", "dev": true, + "license": "MIT", "dependencies": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", @@ -3672,10 +3741,11 @@ } }, "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, + "license": "MIT", "dependencies": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" @@ -3688,19 +3758,11 @@ "webpack": ">=5" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, "node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -3712,61 +3774,67 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", - "dev": true + "integrity": "sha512-HbTDIoG1A1op7Tl/wIFQPULIBA61tsJ8Ntq2FAhLwuijrzosM/92kAfgU1Q3Kc7DH/cprJg5vDfuTY4QUL4rDA==", + "dev": true, + "license": "MIT" }, "node_modules/babel-plugin-syntax-jsx": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "dev": true + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==", + "dev": true, + "license": "MIT" }, "node_modules/babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "integrity": "sha512-TxIM0ZWNw9oYsoTthL3lvAK3+eTujzktoXJg4ubGvICGbVuXVYv5hHv0XXpz8fbqlJaGYY4q5SVzaSmsg3t4Fg==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-syntax-flow": "^6.18.0", "babel-runtime": "^6.22.0" @@ -3775,8 +3843,9 @@ "node_modules/babel-plugin-transform-react-display-name": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "integrity": "sha512-QLYkLiZeeED2PKd4LuXGg5y9fCgPB5ohF8olWUuETE2ryHNRqqnXlEVP7RPuef89+HTfd3syptMGVHeoAu0Wig==", "dev": true, + "license": "MIT", "dependencies": { "babel-runtime": "^6.22.0" } @@ -3784,8 +3853,9 @@ "node_modules/babel-plugin-transform-react-jsx": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "integrity": "sha512-s+q/Y2u2OgDPHRuod3t6zyLoV8pUHc64i/O7ZNgIOEdYTq+ChPeybcKBi/xk9VI60VriILzFPW+dUxAEbTxh2w==", "dev": true, + "license": "MIT", "dependencies": { "babel-helper-builder-react-jsx": "^6.24.1", "babel-plugin-syntax-jsx": "^6.8.0", @@ -3795,8 +3865,9 @@ "node_modules/babel-plugin-transform-react-jsx-self": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "integrity": "sha512-Y3ZHP1nunv0U1+ysTNwLK39pabHj6cPVsfN4TRC7BDBfbgbyF4RifP5kd6LnbuMV9wcfedQMe7hn1fyKc7IzTQ==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-syntax-jsx": "^6.8.0", "babel-runtime": "^6.22.0" @@ -3805,8 +3876,9 @@ "node_modules/babel-plugin-transform-react-jsx-source": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "integrity": "sha512-pcDNDsZ9q/6LJmujQ/OhjeoIlp5Nl546HJ2yiFIJK3mYpgNXhI5/S9mXfVxu5yqWAi7HdI7e/q6a9xtzwL69Vw==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-syntax-jsx": "^6.8.0", "babel-runtime": "^6.22.0" @@ -3815,8 +3887,9 @@ "node_modules/babel-preset-flow": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "integrity": "sha512-PQZFJXnM3d80Vq4O67OE6EMVKIw2Vmzy8UXovqulNogCtblWU8rzP7Sm5YgHiCg4uejUxzCkHfNXQ4Z6GI+Dhw==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-transform-flow-strip-types": "^6.22.0" } @@ -3824,8 +3897,9 @@ "node_modules/babel-preset-react": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "integrity": "sha512-phQe3bElbgF887UM0Dhz55d22ob8czTL1kbhZFwpCE6+R/X9kHktfwmx9JZb+bBSVRGphP5tZ9oWhVhlgjrX3Q==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-syntax-jsx": "^6.3.13", "babel-plugin-transform-react-display-name": "^6.23.0", @@ -3838,18 +3912,27 @@ "node_modules/babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "dev": true, + "license": "MIT", "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" } }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true, + "license": "MIT" + }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", "dev": true, + "license": "MIT", "dependencies": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -3857,43 +3940,41 @@ "to-fast-properties": "^1.0.3" } }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/body-parser": { @@ -3921,16 +4002,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3941,16 +4012,6 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -3959,41 +4020,29 @@ "license": "MIT" }, "node_modules/bonjour-service": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz", - "integrity": "sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dev": true, + "license": "MIT", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.4" - } - }, - "node_modules/bonjour-service/node_modules/multicast-dns": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", - "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" + "multicast-dns": "^7.2.5" } }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4012,9 +4061,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -4029,11 +4078,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -4045,30 +4095,19 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/call-bind-apply-helpers": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", @@ -4104,6 +4143,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -4113,6 +4153,7 @@ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -4123,6 +4164,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4131,9 +4173,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001571", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", - "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", + "version": "1.0.30001699", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", + "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", "funding": [ { "type": "opencollective", @@ -4147,32 +4189,15 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } + ], + "license": "CC-BY-4.0" }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4185,29 +4210,48 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT", "peer": true }, "node_modules/clean-css": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", - "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -4220,6 +4264,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -4229,6 +4274,7 @@ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -4242,33 +4288,23 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4281,6 +4317,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12" } @@ -4289,13 +4326,15 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -4304,17 +4343,18 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", + "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", "dev": true, + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { @@ -4326,6 +4366,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -4333,20 +4374,23 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } @@ -4356,6 +4400,7 @@ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -4363,26 +4408,6 @@ "node": ">= 0.6" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", @@ -4394,12 +4419,11 @@ } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" }, "node_modules/cookie": { "version": "0.7.1", @@ -4414,13 +4438,15 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true, + "license": "MIT" }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", "dependencies": { "fast-glob": "^3.2.11", "glob-parent": "^6.0.1", @@ -4440,32 +4466,23 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", "dev": true, - "hasInstallScript": true + "hasInstallScript": true, + "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", + "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.21.4" + "browserslist": "^4.24.3" }, "funding": { "type": "opencollective", @@ -4476,12 +4493,14 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -4513,6 +4532,7 @@ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", "dev": true, + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -4544,13 +4564,11 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4559,14 +4577,15 @@ } }, "node_modules/css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", "domutils": "^2.8.0", "nth-check": "^2.0.1" }, @@ -4579,6 +4598,7 @@ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -4592,6 +4612,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -4600,6 +4621,7 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.8.3", @@ -4607,10 +4629,11 @@ } }, "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -4623,6 +4646,7 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -4635,6 +4659,7 @@ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, + "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -4645,12 +4670,14 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.21.0" }, @@ -4663,17 +4690,18 @@ } }, "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -4685,10 +4713,11 @@ } }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4698,6 +4727,7 @@ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -4710,41 +4740,28 @@ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/destroy": { @@ -4762,12 +4779,14 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -4775,17 +4794,12 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, "node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -4798,6 +4812,7 @@ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -4806,16 +4821,18 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -4825,23 +4842,35 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/domelementtype": { + "node_modules/dom-serializer/node_modules/entities": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -4857,6 +4886,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -4871,6 +4901,7 @@ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -4899,15 +4930,17 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.616", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", - "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==" + "version": "1.5.97", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.97.tgz", + "integrity": "sha512-HKLtaH02augM7ZOdYRuO19rWDeY+QSJ1VxnXFa/XDFLf07HvM90pALIJFgrO+UVaajI3+aJMMpojoUTLZyQ7JQ==", + "license": "ISC" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -4923,9 +4956,10 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -4935,19 +4969,24 @@ } }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -4959,6 +4998,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -4984,9 +5024,10 @@ } }, "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.1.1", @@ -5002,9 +5043,10 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5012,21 +5054,27 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5039,6 +5087,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -5050,6 +5099,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5058,6 +5108,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5067,6 +5118,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -5085,12 +5137,14 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -5100,6 +5154,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -5165,102 +5220,94 @@ "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -5270,6 +5317,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -5282,6 +5330,7 @@ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -5297,11 +5346,46 @@ "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -5363,21 +5447,12 @@ "dev": true, "license": "MIT" }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, + "license": "MIT", "dependencies": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" @@ -5389,11 +5464,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/find-up": { + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" @@ -5405,112 +5487,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -5521,9 +5518,10 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5538,6 +5536,7 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5553,16 +5552,18 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "dev": true, + "license": "Unlicense" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -5593,6 +5594,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -5641,6 +5643,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5649,15 +5652,17 @@ } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -5669,38 +5674,41 @@ } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", "dependencies": { "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", "slash": "^4.0.0" }, @@ -5712,9 +5720,10 @@ } }, "node_modules/goober": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", - "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "license": "MIT", "peerDependencies": { "csstype": "^3.0.10" } @@ -5735,43 +5744,23 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } + "dev": true, + "license": "MIT" }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/has-symbols": { @@ -5791,7 +5780,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -5805,6 +5793,7 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } @@ -5813,15 +5802,23 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -5830,10 +5827,11 @@ } }, "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5844,17 +5842,46 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dev": true, + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -5872,10 +5899,11 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", "dev": true, + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -5915,6 +5943,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -5922,11 +5951,22 @@ "entities": "^2.0.0" } }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", @@ -5945,37 +5985,19 @@ "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/http-parser-js": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz", + "integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -6015,14 +6037,16 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/iconv-lite": { @@ -6043,6 +6067,7 @@ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -6051,9 +6076,10 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -6062,15 +6088,17 @@ "version": "9.0.21", "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6082,19 +6110,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -6109,11 +6130,92 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-local/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6123,22 +6225,25 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } @@ -6146,13 +6251,15 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -6161,11 +6268,15 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6176,6 +6287,7 @@ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -6189,7 +6301,8 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6198,6 +6311,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -6209,6 +6323,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", + "license": "MIT", "peer": true }, "node_modules/is-number": { @@ -6225,6 +6340,7 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -6237,6 +6353,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -6248,6 +6365,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -6260,6 +6378,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -6272,6 +6391,7 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -6282,28 +6402,32 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -6313,60 +6437,42 @@ "node": ">= 10.13.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" }, "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -6378,6 +6484,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6394,6 +6501,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6405,6 +6513,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6415,6 +6524,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6425,6 +6535,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6436,6 +6547,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6446,6 +6558,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6457,6 +6570,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", @@ -6469,29 +6583,33 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "dev": true, + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" + "shell-quote": "^1.8.1" } }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -6501,6 +6619,7 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -6511,33 +6630,40 @@ } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -6550,26 +6676,26 @@ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" } }, "node_modules/material-ui-color": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/material-ui-color/-/material-ui-color-1.2.0.tgz", "integrity": "sha512-bD2Rww+hakJxD2/19uxc280Vh292DnRStLke2LDFavVtGd5fzOz09zIrHO3ZHlMkJFsvwx6IwiB4/932ftv0sQ==", + "license": "MIT", "peerDependencies": { "@material-ui/core": "^4.9.5", "material-ui-popup-state": "^1.5.3", @@ -6582,6 +6708,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-1.9.3.tgz", "integrity": "sha512-+Ete5Tzw5rXlYfmqptOS8kBUH8vnK5OJsd6IQ7SHtLjU0PsvsmM73M/k8ot0xkX4RmPGuNRsFbK3mlCe/ClQuw==", + "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.12.5", @@ -6598,6 +6725,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-6.0.2.tgz", "integrity": "sha512-/XUca4wUb9pWimLLdM1PE8KS8rTbDEGohSGkGtk3WST7lm23m+8RYv9uOmrvOg/VSsl4bMiOv4t2/LCb+RLbTg==", + "license": "MIT", "peer": true, "peerDependencies": { "@types/react": "*" @@ -6622,7 +6750,8 @@ "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true + "dev": true, + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", @@ -6639,6 +6768,7 @@ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, + "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -6659,12 +6789,14 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -6672,8 +6804,9 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6705,19 +6838,21 @@ } }, "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -6728,6 +6863,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6736,13 +6872,15 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -6751,10 +6889,24 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } }, "node_modules/nanoid": { "version": "3.3.8", @@ -6776,10 +6928,11 @@ } }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6787,13 +6940,15 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -6804,19 +6959,22 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6824,12 +6982,14 @@ "node_modules/normalize-wheel": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", - "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==", + "license": "BSD-3-Clause" }, "node_modules/notistack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", - "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.2.tgz", + "integrity": "sha512-0R+/arLYbK5Hh7mEfR2adt0tyXJcCC9KkA2hc56FeWik2QN6Bm/S4uW+BjzDARsJth5u06nTjelSw/VSnB1YEA==", + "license": "MIT", "dependencies": { "clsx": "^1.1.0", "goober": "^2.0.33" @@ -6843,8 +7003,8 @@ "url": "https://opencollective.com/notistack" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/npm-run-path": { @@ -6852,6 +7012,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -6860,10 +7021,11 @@ } }, "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -6874,7 +7036,8 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6892,38 +7055,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", @@ -6943,6 +7080,7 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6950,8 +7088,9 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -6961,6 +7100,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -6972,10 +7112,11 @@ } }, "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -6989,39 +7130,45 @@ } }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/retry": "^0.12.0", + "@types/retry": "0.12.0", "retry": "^0.13.1" }, "engines": { @@ -7033,6 +7180,7 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -7042,6 +7190,7 @@ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -7051,6 +7200,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -7062,6 +7212,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -7080,6 +7231,7 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7089,25 +7241,28 @@ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7117,6 +7272,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -7124,7 +7280,8 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "0.1.12", @@ -7137,19 +7294,22 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -7158,27 +7318,32 @@ } }, "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, + "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "find-up": "^6.3.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/popper.js": { "version": "1.16.1-lts", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", + "license": "MIT", "peer": true }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", + "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", "dev": true, "funding": [ { @@ -7194,10 +7359,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -7208,6 +7374,7 @@ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", "dev": true, + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -7216,13 +7383,14 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", "dev": true, + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -7233,12 +7401,13 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", "dev": true, + "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -7252,6 +7421,7 @@ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -7263,10 +7433,11 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -7279,13 +7450,15 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -7295,23 +7468,32 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -7325,6 +7507,7 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -7332,12 +7515,14 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7375,12 +7560,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -7390,6 +7577,7 @@ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7410,20 +7598,11 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -7436,6 +7615,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -7446,9 +7626,10 @@ } }, "node_modules/react-easy-crop": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-4.7.4.tgz", - "integrity": "sha512-oDi1375Jo/zuPUvo3oauxnNbfy8L4wsbmHD1KB2vT55fdgu+q8/K0w/rDWzy9jz4jfQ94Q9+3Yu366sDDFVmiA==", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-4.7.5.tgz", + "integrity": "sha512-qKfI4PuhaH1jOLC3DQfQB0cE0z+3N7bfyPkPejQmylXNb8nstfPMH+oHj3gKgpBHLFUiQp/C1rY7sVCVgtjn3Q==", + "license": "MIT", "dependencies": { "normalize-wheel": "^1.0.1", "tslib": "2.0.1" @@ -7461,17 +7642,21 @@ "node_modules/react-easy-crop/node_modules/tslib": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", + "license": "0BSD" }, "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT", + "peer": true }, "node_modules/react-redux": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -7507,16 +7692,18 @@ } }, "node_modules/react-redux/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/react-router": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz", - "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==", + "version": "6.29.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.29.0.tgz", + "integrity": "sha512-DXZJoE0q+KyeVw75Ck6GkPxFak63C4fGqZGNijnWgzB/HzSP1ZfTlBj5COaGWwhrMQ/R8bXiq5Ooy4KG+ReyjQ==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.16.0" + "@remix-run/router": "1.22.0" }, "engines": { "node": ">=14.0.0" @@ -7526,12 +7713,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz", - "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==", + "version": "6.29.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.29.0.tgz", + "integrity": "sha512-pkEbJPATRJ2iotK+wUwHfy0xs2T59YPEN8BQxVCPeBZvK7kfPESRc/nyxzdcxR17hXgUPYx2whMwl+eo9cUdnQ==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.16.0", - "react-router": "6.23.0" + "@remix-run/router": "1.22.0", + "react-router": "6.29.0" }, "engines": { "node": ">=14.0.0" @@ -7545,6 +7733,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/react-simple-oauth2-login/-/react-simple-oauth2-login-0.5.4.tgz", "integrity": "sha512-BkVpgGVFGpZEDK6lr1ao+hJXuPvK56aSA0t8jKST0Q+Aya504bSLXNk9A0eU8XaF2GeQqW9n/M0aWNkezvS4Pg==", + "license": "MIT", "peerDependencies": { "prop-types": "^15.7.2", "react": ">= 16.0" @@ -7554,6 +7743,7 @@ "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -7566,10 +7756,11 @@ } }, "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7584,6 +7775,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -7596,6 +7788,7 @@ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -7607,6 +7800,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" } @@ -7615,6 +7809,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "license": "MIT", "peerDependencies": { "redux": "^4" } @@ -7623,13 +7818,15 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -7638,69 +7835,78 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, + "license": "MIT", "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -7710,6 +7916,7 @@ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", "dev": true, + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -7722,6 +7929,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7729,26 +7937,32 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" }, "node_modules/reselect": { "version": "4.1.8", "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7758,6 +7972,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -7765,20 +7980,31 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -7787,24 +8013,19 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rifm": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz", - "integrity": "sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==", - "peerDependencies": { - "react": ">=16.8" - } - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -7833,14 +8054,30 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -7853,72 +8090,46 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", + "ajv": "^8.9.0", "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" }, "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, + "license": "MIT", "dependencies": { + "@types/node-forge": "^1.3.0", "node-forge": "^1" }, "engines": { @@ -7930,6 +8141,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -7976,16 +8188,6 @@ "dev": true, "license": "MIT" }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -7996,27 +8198,11 @@ "node": ">= 0.8" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -8024,8 +8210,9 @@ "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -8044,15 +8231,27 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -8066,20 +8265,33 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/serve-static": { "version": "1.16.2", @@ -8109,6 +8321,7 @@ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -8121,6 +8334,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -8133,15 +8347,20 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", - "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8223,15 +8442,17 @@ } }, "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" }, "node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -8244,6 +8465,7 @@ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -8253,16 +8475,18 @@ "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -8271,6 +8495,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -8280,6 +8505,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -8289,6 +8515,7 @@ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -8305,6 +8532,7 @@ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -8318,24 +8546,28 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true, + "license": "MIT" }, "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/strip-ansi": { @@ -8343,6 +8575,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -8355,6 +8588,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -8364,6 +8598,7 @@ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12.13.0" }, @@ -8378,23 +8613,29 @@ "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8406,13 +8647,15 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -8434,6 +8677,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } @@ -8442,14 +8686,16 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terser": { - "version": "5.29.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", - "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.38.1.tgz", + "integrity": "sha512-GWANVlPM/ZfYzuPHjq0nxT+EbOEDDN3Jwhwdg1D8TU8oSkktp8w64Uq4auuGLxFSoNTRDncTq2hQHX1Ld9KHkA==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -8464,15 +8710,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -8496,46 +8743,34 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT", "peer": true }, "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/to-regex-range": { @@ -8561,10 +8796,11 @@ } }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" }, "node_modules/type-is": { "version": "1.6.18", @@ -8580,11 +8816,18 @@ "node": ">= 0.6" } }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -8594,6 +8837,7 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -8603,19 +8847,21 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -8631,9 +8877,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "funding": [ { "type": "opencollective", @@ -8648,9 +8894,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -8663,35 +8910,40 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/use-sync-external-store": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.0.0.tgz", - "integrity": "sha512-AFVsxg5GkFg8GDcxnl+Z0lMAz9rE8DGJCc28qnBuQF7lac57B5smLcT37aXpXIIPz75rW4g3eXHPjhHwdGskOw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "license": "MIT", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0-rc" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -8701,6 +8953,7 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -8708,16 +8961,18 @@ "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -8731,22 +8986,24 @@ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", - "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", @@ -8785,6 +9042,7 @@ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -8830,6 +9088,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } @@ -8839,6 +9098,7 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -8862,6 +9122,7 @@ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -8921,6 +9182,7 @@ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -8934,14 +9196,47 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -8960,6 +9255,7 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -8974,6 +9270,7 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -8983,6 +9280,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -8994,16 +9292,18 @@ } }, "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" }, "node_modules/ws": { "version": "8.18.0", @@ -9028,24 +9328,27 @@ } }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -9053,6368 +9356,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "requires": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - } - }, - "@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true - }, - "@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", - "dev": true, - "requires": { - "@babel/types": "^7.24.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz", - "integrity": "sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-member-expression-to-functions": "^7.18.6", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", - "dev": true, - "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" - } - }, - "@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - } - }, - "@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz", - "integrity": "sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz", - "integrity": "sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", - "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz", - "integrity": "sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-typescript": "^7.18.6" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", - "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-react-display-name": "^7.24.1", - "@babel/plugin-transform-react-jsx": "^7.23.4", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.24.1" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", - "requires": { - "regenerator-runtime": "^0.14.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - } - } - }, - "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@date-io/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz", - "integrity": "sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==" - }, - "@date-io/date-fns": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz", - "integrity": "sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==", - "requires": { - "@date-io/core": "^2.16.0" - } - }, - "@date-io/dayjs": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz", - "integrity": "sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==", - "requires": { - "@date-io/core": "^2.16.0" - } - }, - "@date-io/luxon": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz", - "integrity": "sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==", - "requires": { - "@date-io/core": "^2.16.0" - } - }, - "@date-io/moment": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz", - "integrity": "sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==", - "requires": { - "@date-io/core": "^2.16.0" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true - }, - "@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - } - } - }, - "@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "requires": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" - } - }, - "@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", - "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", - "requires": { - "@emotion/memoize": "^0.8.1" - } - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "@emotion/react": { - "version": "11.11.4", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", - "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", - "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", - "requires": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" - }, - "@emotion/styled": { - "version": "11.11.5", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", - "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.2", - "@emotion/serialize": "^1.1.4", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" - } - }, - "@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" - }, - "@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - }, - "@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", - "requires": { - "@floating-ui/utils": "^0.2.1" - } - }, - "@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", - "requires": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" - } - }, - "@floating-ui/react-dom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", - "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", - "requires": { - "@floating-ui/dom": "^1.6.1" - } - }, - "@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" - }, - "@fontsource/barlow": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@fontsource/barlow/-/barlow-4.5.9.tgz", - "integrity": "sha512-Nzg7bpw6raZtNdHwvLIt6ue/Gas/tpsNyf7zrRvVdV38iOrtOip2aabO3lexEyiYkKjKrlqAjEyAtTrC2XfkRg==" - }, - "@fontsource/material-icons": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/@fontsource/material-icons/-/material-icons-4.5.4.tgz", - "integrity": "sha512-YGmXkkEdu6EIgpFKNmB/nIXzZocwSmbI01Ninpmml8x8BT0M6RR++V1KqOfpzZ6Cw/FQ2/KYonQ3x4IY/4VRRA==" - }, - "@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==" - }, - "@fortawesome/fontawesome-svg-core": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", - "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - } - }, - "@fortawesome/free-brands-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", - "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - } - }, - "@fortawesome/free-solid-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", - "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - } - }, - "@fortawesome/react-fontawesome": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz", - "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==", - "requires": { - "prop-types": "^15.8.1" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", - "dev": true - }, - "@material-ui/core": { - "version": "4.12.4", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", - "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", - "peer": true, - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - } - }, - "@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", - "peer": true, - "requires": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" - }, - "dependencies": { - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "peer": true - }, - "csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "peer": true - } - } - }, - "@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", - "peer": true, - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - }, - "dependencies": { - "csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "peer": true - } - } - }, - "@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "peer": true, - "requires": {} - }, - "@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", - "peer": true, - "requires": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - } - }, - "@mui/base": { - "version": "5.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", - "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", - "requires": { - "@babel/runtime": "^7.23.9", - "@floating-ui/react-dom": "^2.0.8", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "@popperjs/core": "^2.11.8", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "dependencies": { - "clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==" - } - } - }, - "@mui/core-downloads-tracker": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz", - "integrity": "sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg==" - }, - "@mui/icons-material": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.15.tgz", - "integrity": "sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g==", - "requires": { - "@babel/runtime": "^7.23.9" - } - }, - "@mui/lab": { - "version": "5.0.0-alpha.170", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.170.tgz", - "integrity": "sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==", - "requires": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/system": "^5.15.15", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "dependencies": { - "clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==" - } - } - }, - "@mui/material": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.15.tgz", - "integrity": "sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA==", - "requires": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/core-downloads-tracker": "^5.15.15", - "@mui/system": "^5.15.15", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "@types/react-transition-group": "^4.4.10", - "clsx": "^2.1.0", - "csstype": "^3.1.3", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - }, - "dependencies": { - "clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==" - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@mui/private-theming": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz", - "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==", - "requires": { - "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.15.14", - "prop-types": "^15.8.1" - } - }, - "@mui/styled-engine": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", - "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", - "requires": { - "@babel/runtime": "^7.23.9", - "@emotion/cache": "^11.11.0", - "csstype": "^3.1.3", - "prop-types": "^15.8.1" - } - }, - "@mui/system": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz", - "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==", - "requires": { - "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.15.14", - "@mui/styled-engine": "^5.15.14", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "clsx": "^2.1.0", - "csstype": "^3.1.3", - "prop-types": "^15.8.1" - }, - "dependencies": { - "clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==" - } - } - }, - "@mui/types": { - "version": "7.2.14", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", - "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", - "requires": {} - }, - "@mui/utils": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz", - "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==", - "requires": { - "@babel/runtime": "^7.23.9", - "@types/prop-types": "^15.7.11", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@mui/x-date-pickers": { - "version": "5.0.20", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.20.tgz", - "integrity": "sha512-ERukSeHIoNLbI1C2XRhF9wRhqfsr+Q4B1SAw2ZlU7CWgcG8UBOxgqRKDEOVAIoSWL+DWT6GRuQjOKvj6UXZceA==", - "requires": { - "@babel/runtime": "^7.18.9", - "@date-io/core": "^2.15.0", - "@date-io/date-fns": "^2.15.0", - "@date-io/dayjs": "^2.15.0", - "@date-io/luxon": "^2.15.0", - "@date-io/moment": "^2.15.0", - "@mui/utils": "^5.10.3", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "prop-types": "^15.7.2", - "react-transition-group": "^4.4.5", - "rifm": "^0.12.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" - }, - "@reduxjs/toolkit": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", - "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", - "requires": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" - } - }, - "@remix-run/router": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz", - "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==" - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz", - "integrity": "sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz", - "integrity": "sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "dev": true, - "requires": {} - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "dev": true, - "requires": {} - }, - "@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "dev": true, - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - } - }, - "@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "dev": true, - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - }, - "dependencies": { - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true - } - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "dev": true, - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - } - }, - "@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - } - }, - "@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "dev": true, - "requires": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - } - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true - }, - "@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/node": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz", - "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/react": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", - "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-transition-group": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", - "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", - "requires": { - "@types/react": "*" - } - }, - "@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" - }, - "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - }, - "acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", - "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "axios-retry": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.9.1.tgz", - "integrity": "sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==", - "requires": { - "@babel/runtime": "^7.15.4", - "is-retry-allowed": "^2.2.0" - } - }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" - } - }, - "babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "dev": true, - "requires": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", - "dev": true - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "dev": true - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "dev": true, - "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "dev": true, - "requires": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" - } - }, - "babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "^6.3.13", - "babel-plugin-transform-react-display-name": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.24.1", - "babel-plugin-transform-react-jsx-self": "^6.22.0", - "babel-plugin-transform-react-jsx-source": "^6.22.0", - "babel-preset-flow": "^6.23.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - } - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "bonjour-service": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz", - "integrity": "sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==", - "dev": true, - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.4" - }, - "dependencies": { - "multicast-dns": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", - "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", - "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "requires": { - "fill-range": "^7.1.1" - } - }, - "browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "requires": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, - "call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001571", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", - "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==", - "peer": true - }, - "clean-css": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", - "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "requires": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - } - } - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true - }, - "core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", - "dev": true, - "requires": { - "browserslist": "^4.21.4" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-loader": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "dependencies": { - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "peer": true, - "requires": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - } - }, - "csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.616", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", - "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true - }, - "es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" - }, - "es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "dev": true, - "requires": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "dependencies": { - "find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "requires": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - } - }, - "locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "requires": { - "p-locate": "^6.0.0" - } - }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "requires": { - "p-limit": "^4.0.0" - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true - }, - "pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "requires": { - "find-up": "^6.3.0" - } - } - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "goober": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", - "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", - "requires": {} - }, - "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, - "html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==", - "peer": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "requires": { - "has": "^1.0.3" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", - "peer": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-retry-allowed": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", - "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jss": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", - "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-camel-case": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", - "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.10.0" - } - }, - "jss-plugin-default-unit": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", - "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0" - } - }, - "jss-plugin-global": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", - "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0" - } - }, - "jss-plugin-nested": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", - "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-props-sort": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", - "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0" - } - }, - "jss-plugin-rule-value-function": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", - "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.10.0", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-vendor-prefixer": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", - "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", - "peer": true, - "requires": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.10.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", - "dev": true, - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "material-ui-color": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/material-ui-color/-/material-ui-color-1.2.0.tgz", - "integrity": "sha512-bD2Rww+hakJxD2/19uxc280Vh292DnRStLke2LDFavVtGd5fzOz09zIrHO3ZHlMkJFsvwx6IwiB4/932ftv0sQ==", - "requires": {} - }, - "material-ui-popup-state": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-1.9.3.tgz", - "integrity": "sha512-+Ete5Tzw5rXlYfmqptOS8kBUH8vnK5OJsd6IQ7SHtLjU0PsvsmM73M/k8ot0xkX4RmPGuNRsFbK3mlCe/ClQuw==", - "peer": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@material-ui/types": "^6.0.1", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - }, - "dependencies": { - "@material-ui/types": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-6.0.2.tgz", - "integrity": "sha512-/XUca4wUb9pWimLLdM1PE8KS8rTbDEGohSGkGtk3WST7lm23m+8RYv9uOmrvOg/VSsl4bMiOv4t2/LCb+RLbTg==", - "peer": true, - "requires": {} - } - } - }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true - }, - "memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "requires": { - "fs-monkey": "^1.0.4" - } - }, - "merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "requires": { - "mime-db": "1.51.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true - }, - "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-wheel": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", - "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" - }, - "notistack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", - "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", - "requires": { - "clsx": "^1.1.0", - "goober": "^2.0.33" - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", - "dev": true, - "requires": { - "@types/retry": "^0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", - "peer": true - }, - "postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, - "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "requires": { - "side-channel": "^1.0.6" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - } - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-easy-crop": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-4.7.4.tgz", - "integrity": "sha512-oDi1375Jo/zuPUvo3oauxnNbfy8L4wsbmHD1KB2vT55fdgu+q8/K0w/rDWzy9jz4jfQ94Q9+3Yu366sDDFVmiA==", - "requires": { - "normalize-wheel": "^1.0.1", - "tslib": "2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" - } - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-redux": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", - "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", - "requires": { - "@babel/runtime": "^7.12.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/use-sync-external-store": "^0.0.3", - "hoist-non-react-statics": "^3.3.2", - "react-is": "^18.0.0", - "use-sync-external-store": "^1.0.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "react-router": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz", - "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==", - "requires": { - "@remix-run/router": "1.16.0" - } - }, - "react-router-dom": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz", - "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==", - "requires": { - "@remix-run/router": "1.16.0", - "react-router": "6.23.0" - } - }, - "react-simple-oauth2-login": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/react-simple-oauth2-login/-/react-simple-oauth2-login-0.5.4.tgz", - "integrity": "sha512-BkVpgGVFGpZEDK6lr1ao+hJXuPvK56aSA0t8jKST0Q+Aya504bSLXNk9A0eU8XaF2GeQqW9n/M0aWNkezvS4Pg==", - "requires": {} - }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", - "requires": {} - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rifm": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz", - "integrity": "sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==", - "requires": {} - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "dev": true, - "requires": { - "node-forge": "^1" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "requires": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shell-quote": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", - "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==", - "dev": true - }, - "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - } - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", - "dev": true, - "requires": {} - }, - "stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "terser": { - "version": "5.29.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", - "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "peer": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "use-sync-external-store": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.0.0.tgz", - "integrity": "sha512-AFVsxg5GkFg8GDcxnl+Z0lMAz9rE8DGJCc28qnBuQF7lac57B5smLcT37aXpXIIPz75rW4g3eXHPjhHwdGskOw==", - "requires": {} - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", - "requires": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - } - }, - "webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" - } - }, - "webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "requires": {} - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true - } } } diff --git a/package.json b/package.json index 3b8307affa..311e24d830 100644 --- a/package.json +++ b/package.json @@ -25,48 +25,48 @@ }, "homepage": "https://github.com/tavdog/pixlet#readme", "devDependencies": { - "@babel/core": "7.24.4", - "@babel/plugin-proposal-class-properties": "7.18.6", - "@babel/preset-react": "7.24.1", - "@svgr/webpack": "6.5.1", - "babel-loader": "9.1.3", - "babel-preset-react": "6.24.1", - "css-loader": "6.11.0", - "file-loader": "6.2.0", - "html-webpack-plugin": "5.6.0", - "style-loader": "3.3.4", - "webpack": "5.94.0", - "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.2", - "webpack-merge": "5.10.0" + "@babel/core": "^7.24.4", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/preset-react": "^7.24.1", + "@svgr/webpack": "^6.5.1", + "babel-loader": "^9.1.3", + "babel-preset-react": "^6.24.1", + "css-loader": "^6.11.0", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.6.0", + "style-loader": "^3.3.4", + "webpack": "^5.94.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^5.10.0" }, "dependencies": { - "@emotion/react": "11.11.4", - "@emotion/styled": "11.11.5", - "@fontsource/barlow": "4.5.9", - "@fontsource/material-icons": "4.5.4", - "@fortawesome/fontawesome-svg-core": "6.5.2", - "@fortawesome/free-brands-svg-icons": "6.5.2", - "@fortawesome/free-solid-svg-icons": "6.5.2", - "@fortawesome/react-fontawesome": "0.2.0", - "@mui/icons-material": "5.15.15", - "@mui/lab": "5.0.0-alpha.170", - "@mui/material": "5.15.15", - "@mui/x-date-pickers": "5.0.20", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@fontsource/barlow": "^4.5.9", + "@fontsource/material-icons": "^4.5.4", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.0", + "@mui/icons-material": "^6.0.0", + "@mui/lab": "6.0.0-beta.26", + "@mui/material": "^6.0.0", + "@mui/x-date-pickers": "7.26.0", "@reduxjs/toolkit": "1.9.7", - "axios": "1.7.4", + "axios": "^1.7.4", "axios-retry": "^3.5.0", "copy-webpack-plugin": "^11.0.0", "date-fns": "2.30.0", - "dayjs": "1.11.10", + "dayjs": "^1.11.10", "material-ui-color": "^1.2.0", - "notistack": "3.0.1", - "react": "17.0.2", - "react-dom": "17.0.2", - "react-easy-crop": "4.7.4", - "react-redux": "8.1.3", - "react-router": "6.23.0", - "react-router-dom": "6.23.0", - "react-simple-oauth2-login": "0.5.4" + "notistack": "^3.0.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-easy-crop": "^4.7.4", + "react-redux": "^8.1.3", + "react-router": "^6.23.0", + "react-router-dom": "^6.23.0", + "react-simple-oauth2-login": "^0.5.4" } } \ No newline at end of file From e9dee28af3ba22b315d9c97256452d0d6c14a4b4 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 10 Feb 2025 23:25:58 +0100 Subject: [PATCH 17/68] Remove usages of the deprecated ioutil package --- .github/workflows/pull-request.yml | 4 ++-- cmd/delete.go | 4 ++-- cmd/devices.go | 4 ++-- cmd/list.go | 4 ++-- cmd/push.go | 8 ++++---- cmd/render.go | 28 ++++++++++++++++------------ render/gen/embedfonts.go | 9 ++++----- server/browser/push.go | 6 +++--- server/loader/loader.go | 11 +++++------ 9 files changed, 40 insertions(+), 38 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index f468b599b2..3a5226bae0 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -69,8 +69,8 @@ jobs: shell: msys2 {0} run: | set MSYSTEM=MINGW64 - curl -LO https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst - pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst + curl -LO https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-libwebp-1.5.0-1-any.pkg.tar.zst + pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.5.0-1-any.pkg.tar.zst - name: Install frontend dependencies run: npm install diff --git a/cmd/delete.go b/cmd/delete.go index 2ba96c1e5e..38f5aba7b5 100644 --- a/cmd/delete.go +++ b/cmd/delete.go @@ -2,7 +2,7 @@ package cmd import ( "fmt" - "io/ioutil" + "io" "net/http" "os" @@ -60,7 +60,7 @@ func delete(cmd *cobra.Command, args []string) error { if resp.StatusCode != 200 { fmt.Printf("Tidbyt API returned status %s\n", resp.Status) - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) return fmt.Errorf("Tidbyt API returned status: %s", resp.Status) } diff --git a/cmd/devices.go b/cmd/devices.go index 772e46225a..700c1c3861 100644 --- a/cmd/devices.go +++ b/cmd/devices.go @@ -3,7 +3,7 @@ package cmd import ( "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" "os" @@ -45,7 +45,7 @@ func devices(cmd *cobra.Command, args []string) { if resp.StatusCode != 200 { fmt.Printf("Tidbyt API returned status %s\n", resp.Status) - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) os.Exit(1) } diff --git a/cmd/list.go b/cmd/list.go index ab2bf82188..5c186376fa 100644 --- a/cmd/list.go +++ b/cmd/list.go @@ -3,7 +3,7 @@ package cmd import ( "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" "os" "text/tabwriter" @@ -66,7 +66,7 @@ func listInstallations(cmd *cobra.Command, args []string) error { return fmt.Errorf("listing installations from API: %w", err) } - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) if resp.StatusCode != 200 { fmt.Printf("Tidbyt API returned status %s\n", resp.Status) fmt.Println(string(body)) diff --git a/cmd/push.go b/cmd/push.go index 3934e8fc7c..848d8d13b3 100644 --- a/cmd/push.go +++ b/cmd/push.go @@ -5,7 +5,7 @@ import ( "encoding/base64" "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" "os" @@ -56,7 +56,7 @@ func push(cmd *cobra.Command, args []string) error { } if background && len(installationID) == 0 { - return fmt.Errorf("Background push won't do anything unless you also specify an installation ID") + return fmt.Errorf("Background push won't do anything unless you also specify an installation ID") } if apiToken == "" { @@ -71,7 +71,7 @@ func push(cmd *cobra.Command, args []string) error { return fmt.Errorf("blank Tidbyt API token (use `pixlet login`, set $%s or pass with --api-token)", APITokenEnv) } - imageData, err := ioutil.ReadFile(image) + imageData, err := os.ReadFile(image) if err != nil { return fmt.Errorf("failed to read file %s: %w", image, err) } @@ -107,7 +107,7 @@ func push(cmd *cobra.Command, args []string) error { if resp.StatusCode != 200 { fmt.Printf("Tidbyt API returned status %s\n", resp.Status) - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) return fmt.Errorf("Tidbyt API returned status: %s", resp.Status) } diff --git a/cmd/render.go b/cmd/render.go index e34b307097..dcf6dbb945 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -2,16 +2,17 @@ package cmd import ( "context" + "encoding/json" "fmt" "image" + "io" "io/fs" - "io/ioutil" + "log" "os" "path/filepath" "strings" "time" - "encoding/json" - "log" + "github.com/spf13/cobra" "tidbyt.dev/pixlet/encode" "tidbyt.dev/pixlet/globals" @@ -20,7 +21,7 @@ import ( ) var ( - configJson string + configJson string output string magnify int renderGif bool @@ -32,7 +33,7 @@ var ( ) func init() { - RenderCmd.Flags().StringVarP(&configJson,"config","c","","Config file in json format") + RenderCmd.Flags().StringVarP(&configJson, "config", "c", "", "Config file in json format") RenderCmd.Flags().StringVarP(&output, "output", "o", "", "Path for rendered image") RenderCmd.Flags().BoolVarP(&renderGif, "gif", "", false, "Generate GIF instead of WebP") RenderCmd.Flags().BoolVarP(&silenceOutput, "silent", "", false, "Silence print statements when rendering app") @@ -127,20 +128,23 @@ func render(cmd *cobra.Command, args []string) error { // Open the JSON file. file, err := os.Open(configJson) if err != nil { - return fmt.Errorf("file open error %v",err) + return fmt.Errorf("file open error %v", err) } - + // Use the `json.Unmarshal()` function to unmarshal the JSON file into the map variable. - fileData, err := ioutil.ReadAll(file) + fileData, err := io.ReadAll(file) + if err != nil { + return fmt.Errorf("file read error %v", err) + } err = json.Unmarshal(fileData, &config) if err != nil { - return fmt.Errorf("somewthing wrong with json %v",configJson) + return fmt.Errorf("something wrong with json %v", configJson) } - - log.Printf("got json config of %v",config) + + log.Printf("got json config of %v", config) } else { - + for _, param := range args[1:] { split := strings.Split(param, "=") if len(split) < 2 { diff --git a/render/gen/embedfonts.go b/render/gen/embedfonts.go index df7a439dbf..385a54cf9d 100644 --- a/render/gen/embedfonts.go +++ b/render/gen/embedfonts.go @@ -3,7 +3,6 @@ package main import ( "encoding/base64" "fmt" - "io/ioutil" "os" "strings" "text/template" @@ -29,9 +28,9 @@ var fontDataRaw = map[string]string{ ` func main() { - fontFileInfos, err := ioutil.ReadDir(FontDir) + fontFileInfos, err := os.ReadDir(FontDir) if err != nil { - fmt.Printf("ioutil.ReadDir(%s): %s\n", FontDir, err) + fmt.Printf("os.ReadDir(%s): %s\n", FontDir, err) os.Exit(1) } @@ -44,9 +43,9 @@ func main() { name := strings.TrimSuffix(ffi.Name(), ".bdf") path := fmt.Sprintf("%s/%s", FontDir, ffi.Name()) - content, err := ioutil.ReadFile(path) + content, err := os.ReadFile(path) if err != nil { - fmt.Printf("ioutil.Readfile(%s): %s\n", path, err) + fmt.Printf("os.Readfile(%s): %s\n", path, err) os.Exit(1) } diff --git a/server/browser/push.go b/server/browser/push.go index 406abcb8e2..b69a06fe37 100644 --- a/server/browser/push.go +++ b/server/browser/push.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" ) @@ -28,7 +28,7 @@ func (b *Browser) pushHandler(w http.ResponseWriter, r *http.Request) { ) var result map[string]interface{} - bodyBytes, err := ioutil.ReadAll(r.Body) + bodyBytes, err := io.ReadAll(r.Body) if err != nil { w.WriteHeader(500) fmt.Fprintln(w, err) @@ -97,7 +97,7 @@ func (b *Browser) pushHandler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(resp.StatusCode) fmt.Fprintln(w, err) - body, _ := ioutil.ReadAll(resp.Body) + body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) return } diff --git a/server/loader/loader.go b/server/loader/loader.go index 04d9925c9f..922772c4ea 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -9,13 +9,12 @@ import ( "fmt" "io/fs" "log" + "os" "time" "tidbyt.dev/pixlet/encode" "tidbyt.dev/pixlet/runtime" "tidbyt.dev/pixlet/schema" - - "io/ioutil" ) // Loader is a structure to provide applet loading when a file changes or on @@ -32,8 +31,8 @@ type Loader struct { maxDuration int initialLoad chan bool timeout int - renderGif bool - configOutFile string + renderGif bool + configOutFile string } type Update struct { @@ -108,11 +107,11 @@ func (l *Loader) Run() error { if err != nil { panic(err) } - + if l.configOutFile != "" { // Write the byte slice to the file. //log.Printf("writing to %v",l.configOutFile) - err = ioutil.WriteFile(l.configOutFile, byteSlice, 0644) + err = os.WriteFile(l.configOutFile, byteSlice, 0644) if err != nil { panic(err) } From 9674b0cc6309e16ca3303bf285b60394454c089f Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Tue, 11 Feb 2025 06:53:02 +0100 Subject: [PATCH 18/68] Remove @mui/lab --- dist/index.html | 1 - package-lock.json | 135 ---------------------------------------------- package.json | 1 - 3 files changed, 137 deletions(-) delete mode 100644 dist/index.html diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index ca26c70c20..0000000000 --- a/dist/index.html +++ /dev/null @@ -1 +0,0 @@ -Pixlet
\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 860ad83947..ee1f85746b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,6 @@ "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.0", "@mui/icons-material": "^6.0.0", - "@mui/lab": "6.0.0-beta.26", "@mui/material": "^6.0.0", "@mui/x-date-pickers": "7.26.0", "@reduxjs/toolkit": "1.9.7", @@ -1914,44 +1913,6 @@ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", "license": "MIT" }, - "node_modules/@floating-ui/core": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", - "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.13", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", - "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", - "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", - "license": "MIT" - }, "node_modules/@fontsource/barlow": { "version": "4.5.9", "resolved": "https://registry.npmjs.org/@fontsource/barlow/-/barlow-4.5.9.tgz", @@ -2254,48 +2215,6 @@ "react-dom": "^16.8.0 || ^17.0.0" } }, - "node_modules/@mui/base": { - "version": "5.0.0-beta.69", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.69.tgz", - "integrity": "sha512-r2YyGUXpZxj8rLAlbjp1x2BnMERTZ/dMqd9cClKj2OJ7ALAuiv/9X5E9eHfRc9o/dGRuLSMq/WTjREktJVjxVA==", - "deprecated": "This package has been replaced by @base-ui-components/react", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.26.0", - "@floating-ui/react-dom": "^2.1.1", - "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.1", - "@popperjs/core": "^2.11.8", - "clsx": "^2.1.1", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/base/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/core-downloads-tracker": { "version": "6.4.3", "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.3.tgz", @@ -2332,60 +2251,6 @@ } } }, - "node_modules/@mui/lab": { - "version": "6.0.0-beta.26", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-6.0.0-beta.26.tgz", - "integrity": "sha512-auu2dXp6jslzW4Cp0tfYWv0xO9FmuwROsjyWcB9wPlAsEoWhh5N1FW8dqESDwaSKqFz5LwV+Y2vsYjYsYX9aOw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.26.0", - "@mui/base": "5.0.0-beta.69", - "@mui/system": "^6.4.3", - "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", - "clsx": "^2.1.1", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@mui/material": "^6.4.3", - "@mui/material-pigment-css": "^6.4.3", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@mui/material-pigment-css": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/lab/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/material": { "version": "6.4.3", "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.3.tgz", diff --git a/package.json b/package.json index 311e24d830..dffdc09fd7 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,6 @@ "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.0", "@mui/icons-material": "^6.0.0", - "@mui/lab": "6.0.0-beta.26", "@mui/material": "^6.0.0", "@mui/x-date-pickers": "7.26.0", "@reduxjs/toolkit": "1.9.7", From 2cdb61b8a753f582a541b278694d59b6bae7b895 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Tue, 11 Feb 2025 21:02:07 +0000 Subject: [PATCH 19/68] Add a flag to use a different base URL than api.tidbyt.com. --- cmd/delete.go | 7 +++---- cmd/devices.go | 10 ++++++---- cmd/list.go | 7 ++++--- cmd/push.go | 11 ++++++----- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cmd/delete.go b/cmd/delete.go index 38f5aba7b5..4be62abbdd 100644 --- a/cmd/delete.go +++ b/cmd/delete.go @@ -10,12 +10,11 @@ import ( "tidbyt.dev/pixlet/cmd/config" ) -const ( - TidbytAPIDelete = "https://api.tidbyt.com/v0/devices/%s/installations/%s" -) +var deleteURL string func init() { DeleteCmd.Flags().StringVarP(&apiToken, "api-token", "t", "", "Tidbyt API token") + DeleteCmd.Flags().StringVarP(&deleteURL, "url", "u", "https://api.tidbyt.com", "base URL of Tidbyt API") } var DeleteCmd = &cobra.Command{ @@ -44,7 +43,7 @@ func delete(cmd *cobra.Command, args []string) error { client := &http.Client{} req, err := http.NewRequest( "DELETE", - fmt.Sprintf(TidbytAPIDelete, deviceID, installationID), + fmt.Sprintf("%s/v0/devices/%s/installations/%s", deleteURL, deviceID, installationID), nil, ) if err != nil { diff --git a/cmd/devices.go b/cmd/devices.go index 700c1c3861..220f0ab23b 100644 --- a/cmd/devices.go +++ b/cmd/devices.go @@ -11,9 +11,11 @@ import ( "tidbyt.dev/pixlet/cmd/config" ) -const ( - TidbytAPIListDevices = "https://api.tidbyt.com/v0/devices" -) +var devicesURL string + +func init() { + DevicesCmd.Flags().StringVarP(&devicesURL, "url", "u", "https://api.tidbyt.com", "base URL of Tidbyt API") +} var DevicesCmd = &cobra.Command{ Use: "devices", @@ -29,7 +31,7 @@ func devices(cmd *cobra.Command, args []string) { } client := &http.Client{} - req, err := http.NewRequest("GET", TidbytAPIListDevices, nil) + req, err := http.NewRequest("GET", fmt.Sprintf("%s/v0/devices", devicesURL), nil) if err != nil { fmt.Printf("creating GET request: %v\n", err) os.Exit(1) diff --git a/cmd/list.go b/cmd/list.go index 5c186376fa..4fc124f182 100644 --- a/cmd/list.go +++ b/cmd/list.go @@ -12,8 +12,8 @@ import ( "tidbyt.dev/pixlet/cmd/config" ) -const ( - TidbytAPIList = "https://api.tidbyt.com/v0/devices/%s/installations" +var ( + listURL string ) type TidbytInstallationJSON struct { @@ -27,6 +27,7 @@ type TidbytInstallationListJSON struct { func init() { ListCmd.Flags().StringVarP(&apiToken, "api-token", "t", "", "Tidbyt API token") + ListCmd.Flags().StringVarP(&listURL, "url", "u", "https://api.tidbyt.com", "base URL of Tidbyt API") } var ListCmd = &cobra.Command{ @@ -54,7 +55,7 @@ func listInstallations(cmd *cobra.Command, args []string) error { client := &http.Client{} req, err := http.NewRequest( "GET", - fmt.Sprintf(TidbytAPIList, deviceID), nil) + fmt.Sprintf("%s/v0/devices/%s/installations", listURL, deviceID), nil) if err != nil { return fmt.Errorf("creating GET request: %w", err) } diff --git a/cmd/push.go b/cmd/push.go index 848d8d13b3..48a4c6147f 100644 --- a/cmd/push.go +++ b/cmd/push.go @@ -14,14 +14,14 @@ import ( ) const ( - TidbytAPIPush = "https://api.tidbyt.com/v0/devices/%s/push" - APITokenEnv = "TIDBYT_API_TOKEN" + APITokenEnv = "TIDBYT_API_TOKEN" ) var ( apiToken string installationID string background bool + pushURL string ) type TidbytPushJSON struct { @@ -35,6 +35,7 @@ func init() { PushCmd.Flags().StringVarP(&apiToken, "api-token", "t", "", "Tidbyt API token") PushCmd.Flags().StringVarP(&installationID, "installation-id", "i", "", "Give your installation an ID to keep it in the rotation") PushCmd.Flags().BoolVarP(&background, "background", "b", false, "Don't immediately show the image on the device") + PushCmd.Flags().StringVarP(&pushURL, "url", "u", "https://api.tidbyt.com", "base URL of Tidbyt API") } var PushCmd = &cobra.Command{ @@ -49,14 +50,14 @@ func push(cmd *cobra.Command, args []string) error { image := args[1] // TODO (mark): This is better served as a flag, but I don't want to break - // folks in the short term. We should consider dropping this as an arguement + // folks in the short term. We should consider dropping this as an argument // in a future release. if len(args) == 3 { installationID = args[2] } if background && len(installationID) == 0 { - return fmt.Errorf("Background push won't do anything unless you also specify an installation ID") + return fmt.Errorf("background push won't do anything unless you also specify an installation ID") } if apiToken == "" { @@ -91,7 +92,7 @@ func push(cmd *cobra.Command, args []string) error { client := &http.Client{} req, err := http.NewRequest( "POST", - fmt.Sprintf(TidbytAPIPush, deviceID), + fmt.Sprintf("%s/v0/devices/%s/push", pushURL, deviceID), bytes.NewReader(payload), ) if err != nil { From c9dfc8e14602b4f0b522f0c81846a508819c31ff Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 16 Feb 2025 10:03:46 +0100 Subject: [PATCH 20/68] Update Go to 1.24.0 --- .devcontainer/devcontainer.json | 4 ++-- .github/workflows/main.yml | 6 +++--- .github/workflows/pull-request.yml | 4 ++-- Dockerfile | 4 ++-- cmd/buildifier.go | 2 +- go.mod | 16 ++++++++++------ go.sum | 15 +++++++++++++++ render/testutil.go | 2 +- runtime/applet.go | 2 +- runtime/httpcache.go | 12 +++++++++++- runtime/httpcache_test.go | 2 +- 11 files changed, 49 insertions(+), 20 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 0093f60cc6..537306f57c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,7 +3,7 @@ { "name": "Go", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/go:1.23-bookworm", + "image": "mcr.microsoft.com/devcontainers/base:bookworm", "features": { "ghcr.io/devcontainers/features/node:1": { "nodeGypDependencies": true, @@ -13,7 +13,7 @@ "nvmVersion": "latest" }, "ghcr.io/devcontainers/features/go:1": { - "version": "1.23.6" + "version": "1.24.0" } }, "customizations": { diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5e62fc22a1..7b4f74c9f8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,7 +20,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: "1.23.6" + go-version: "1.24.0" - name: Install buildifier run: make install-buildifier @@ -43,7 +43,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.23.6" + go-version: "1.24.0" - name: Install Node uses: actions/setup-node@v4 @@ -178,7 +178,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.23.6" + go-version: "1.24.0" - name: Fetch Release Artifacts uses: actions/download-artifact@v3 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 3a5226bae0..db278840f8 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -14,7 +14,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: "1.23.6" + go-version: "1.24.0" - name: Install buildifier run: make install-buildifier @@ -37,7 +37,7 @@ jobs: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.23.6" + go-version: "1.24.0" - name: Install Node uses: actions/setup-node@v4 diff --git a/Dockerfile b/Dockerfile index 4f17f377f4..949d847d11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ -FROM alpine:3.21 AS builder +FROM golang:1.24.0-alpine3.21 AS builder -RUN apk --no-cache add go npm libwebp-dev libwebp-static git make clang musl-dev +RUN apk --no-cache add npm libwebp-dev libwebp-static git make clang musl-dev COPY . /pixlet WORKDIR /pixlet RUN npm install && npm run build && STATIC=1 CC=clang make build diff --git a/cmd/buildifier.go b/cmd/buildifier.go index 64fb61fc96..ba0519381e 100644 --- a/cmd/buildifier.go +++ b/cmd/buildifier.go @@ -76,7 +76,7 @@ func runBuildifier(args []string, lint string, mode string, format string, recur // Do nothing. } else if format != "" { // Explicitly provided --format means the diagnostics are printed to stdout - fmt.Printf(diagnosticsOutput) + fmt.Print(diagnosticsOutput) // Exit code should be set to 0 so that other tools know they can safely parse the json exitCode = 0 } else { diff --git a/go.mod b/go.mod index 6c1c2b864e..108a8550aa 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module tidbyt.dev/pixlet -go 1.23.6 +go 1.24.0 require ( github.com/Code-Hex/Neo-cowsay/v2 v2.0.4 @@ -12,7 +12,7 @@ require ( github.com/fsnotify/fsnotify v1.8.0 github.com/gitsight/go-vcsurl v1.0.1 github.com/go-git/go-git/v5 v5.13.2 - github.com/go-playground/validator/v10 v10.24.0 + github.com/go-playground/validator/v10 v10.25.0 github.com/google/pprof v0.0.0-20250208200701-d0013a598941 github.com/google/tink/go v1.7.0 github.com/gorilla/mux v1.8.1 @@ -28,7 +28,7 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c github.com/qri-io/starlib v0.5.1-0.20220611014110-7fb7ff9ec804 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e - github.com/spf13/cobra v1.8.1 + github.com/spf13/cobra v1.9.0 github.com/spf13/viper v1.19.0 github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef @@ -46,10 +46,11 @@ require ( require ( dario.cat/mergo v1.0.1 // indirect + github.com/360EntSecGroup-Skylar/excelize v1.4.1 // indirect github.com/Code-Hex/go-wordwrap v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/ProtonMail/go-crypto v1.1.5 // indirect - github.com/PuerkitoBio/goquery v1.10.1 // indirect + github.com/PuerkitoBio/goquery v1.10.2 // indirect github.com/andybalholm/cascadia v1.3.3 // indirect github.com/antchfx/xpath v1.3.3 // indirect github.com/chzyer/readline v1.5.1 // indirect @@ -77,6 +78,8 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/paulmach/orb v0.1.5 // indirect github.com/pelletier/go-toml/v2 v2.2.3 // indirect github.com/pjbgf/sha1cd v0.3.2 // indirect github.com/pkg/errors v0.9.1 // indirect @@ -95,10 +98,11 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.33.0 // indirect - golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 // indirect - golang.org/x/net v0.34.0 // indirect + golang.org/x/exp v0.0.0-20250215185904-eff6e970281f // indirect + golang.org/x/net v0.35.0 // indirect golang.org/x/sys v0.30.0 // indirect google.golang.org/protobuf v1.36.5 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index d4cba6f538..f0181fbe5e 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/360EntSecGroup-Skylar/excelize v1.4.1 h1:l55mJb6rkkaUzOpSsgEeKYtS6/0gHwBYyfo5Jcjv/Ks= github.com/360EntSecGroup-Skylar/excelize v1.4.1/go.mod h1:vnax29X2usfl7HHkBrX5EvSCJcmH3dT9luvxzu8iGAE= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Code-Hex/Neo-cowsay/v2 v2.0.4 h1:y80Hd9hmB+rsEH/p4c5ti5PbO0PhBmxw4NgbpFZvoHg= @@ -16,6 +17,8 @@ github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQA github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/goquery v1.10.1 h1:Y8JGYUkXWTGRB6Ars3+j3kN0xg1YqqlwvdTV8WTFQcU= github.com/PuerkitoBio/goquery v1.10.1/go.mod h1:IYiHrOMps66ag56LEH7QYDDupKXyo5A8qrjIx3ZtujY= +github.com/PuerkitoBio/goquery v1.10.2 h1:7fh2BdHcG6VFZsK7toXBT/Bh1z5Wmy8Q9MV9HqT2AM8= +github.com/PuerkitoBio/goquery v1.10.2/go.mod h1:0guWGjcLu9AYC7C1GHnpysHy056u9aEkUHwhdnePMCU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= @@ -56,6 +59,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -109,6 +113,8 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.24.0 h1:KHQckvo8G6hlWnrPX4NJJ+aBfWNAE/HH+qdL2cBpCmg= github.com/go-playground/validator/v10 v10.24.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= +github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -203,6 +209,7 @@ github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/z github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nathan-osman/go-sunrise v1.1.0 h1:ZqZmtmtzs8Os/DGQYi0YMHpuUqR/iRoJK+wDO0wTCw8= @@ -219,6 +226,7 @@ github.com/nlepage/go-tarfs v1.2.1/go.mod h1:rno18mpMy9aEH1IiJVftFsqPyIpwqSUiAOp github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= +github.com/paulmach/orb v0.1.5 h1:GUcATabvxciqEzGd+c01/9ek3B6pUp9OdcIHFSDDSSg= github.com/paulmach/orb v0.1.5/go.mod h1:pPwxxs3zoAyosNSbNKn1jiXV2+oovRDObDKfTvRegDI= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= @@ -282,6 +290,8 @@ github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cA github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= +github.com/spf13/cobra v1.9.0 h1:Py5fIuq/lJsRYxcxfOtsJqpmwJWCMOUy2tMJYV8TNHE= +github.com/spf13/cobra v1.9.0/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -342,6 +352,8 @@ golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 h1:qNgPs5exUA+G0C96DrPwNrvLSj7GT/9D+3WMWUcUg34= golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= +golang.org/x/exp v0.0.0-20250215185904-eff6e970281f h1:oFMYAjX0867ZD2jcNiLBrI9BdpmEkvPyi5YrBGXbamg= +golang.org/x/exp v0.0.0-20250215185904-eff6e970281f/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= golang.org/x/image v0.0.0-20210504121937-7319ad40d33e/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ= golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8= @@ -375,6 +387,8 @@ golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -494,6 +508,7 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/render/testutil.go b/render/testutil.go index 746c9d9285..5b7ff789c9 100644 --- a/render/testutil.go +++ b/render/testutil.go @@ -83,7 +83,7 @@ func (ic ImageChecker) PrintImage(im image.Image) { if ascii == "" { ascii = "?" } - fmt.Printf(ascii) + fmt.Print(ascii) } fmt.Printf("\n") } diff --git a/runtime/applet.go b/runtime/applet.go index f7d9247656..d478ac9248 100644 --- a/runtime/applet.go +++ b/runtime/applet.go @@ -307,7 +307,7 @@ func (a *Applet) Call(ctx context.Context, callable *starlark.Function, args ... if err != nil { evalErr, ok := err.(*starlark.EvalError) if ok { - return nil, fmt.Errorf(evalErr.Backtrace()) + return nil, fmt.Errorf("%s", evalErr.Backtrace()) } return nil, fmt.Errorf( "in %s at %s: %s", diff --git a/runtime/httpcache.go b/runtime/httpcache.go index 40502058ab..bd997d531e 100644 --- a/runtime/httpcache.go +++ b/runtime/httpcache.go @@ -44,6 +44,8 @@ var cacheableStatusCodes = map[int]bool{ 501: true, } +var jitterRand *rand.Rand + type cacheClient struct { cache Cache transport http.RoundTripper @@ -197,7 +199,15 @@ func determineTTL(req *http.Request, resp *http.Response) time.Duration { func jitterDuration(duration time.Duration) time.Duration { jitter := int64(float64(duration) * 0.1) - randomJitter := rand.Int63n(2*jitter+1) - jitter + var r int64 + if jitterRand == nil { + // use global rand + r = rand.Int63n(2*jitter + 1) + } else { + // use supplied rand (used for testing) + r = jitterRand.Int63n(2*jitter + 1) + } + randomJitter := r - jitter return time.Duration(duration + time.Duration(randomJitter)) } diff --git a/runtime/httpcache_test.go b/runtime/httpcache_test.go index d4940078a4..97cfdaea6e 100644 --- a/runtime/httpcache_test.go +++ b/runtime/httpcache_test.go @@ -166,7 +166,7 @@ func TestDetermineTTLJitter(t *testing.T) { StatusCode: 200, } - rand.Seed(50) + jitterRand = rand.New(rand.NewSource(50)) ttl := DetermineTTL(req, res) assert.Equal(t, 64, int(ttl.Seconds())) } From 1b69aa4ca4ec72ee45e32ea3d7388268baa2c426 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 16 Feb 2025 22:37:53 +0100 Subject: [PATCH 21/68] Add an API to Pixlet Currently, only one endpoint is implemented: `/api/render` renders an applet accessible to the pixlet process and returns the webp or gif image data. Example request: ``` POST /api/render { "path": "/workspaces/pixlet/examples/clock", "config": { "timezone": "America/New_York" } } ``` The HTTP cache is bound to the process lifetime. That means, multiple render requests use the same HTTP cache. --- Dockerfile | 4 +- cmd/api.go | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++ cmd/render.go | 2 +- cmd/serve.go | 12 +-- main.go | 1 + 5 files changed, 214 insertions(+), 8 deletions(-) create mode 100644 cmd/api.go diff --git a/Dockerfile b/Dockerfile index 949d847d11..c59885f4f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,14 @@ FROM golang:1.24.0-alpine3.21 AS builder -RUN apk --no-cache add npm libwebp-dev libwebp-static git make clang musl-dev +RUN apk --no-cache add npm libwebp-dev libwebp-static git make clang musl-dev tzdata ca-certificates COPY . /pixlet WORKDIR /pixlet RUN npm install && npm run build && STATIC=1 CC=clang make build FROM scratch +COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo +COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /pixlet/pixlet /bin/pixlet ENTRYPOINT ["/bin/pixlet"] diff --git a/cmd/api.go b/cmd/api.go new file mode 100644 index 0000000000..5044e26ca4 --- /dev/null +++ b/cmd/api.go @@ -0,0 +1,203 @@ +package cmd + +import ( + "context" + "encoding/json" + "fmt" + "image" + "io/fs" + "log" + "net/http" + "os" + "path/filepath" + "strings" + "time" + + "github.com/spf13/cobra" + "tidbyt.dev/pixlet/encode" + "tidbyt.dev/pixlet/globals" + "tidbyt.dev/pixlet/runtime" + "tidbyt.dev/pixlet/tools" +) + +func init() { + ApiCmd.Flags().StringVarP(&host, "host", "i", "127.0.0.1", "Host interface for serving rendered images") + ApiCmd.Flags().IntVarP(&port, "port", "p", 8080, "Port for serving rendered images") + ApiCmd.Flags().BoolVarP(&renderGif, "gif", "", false, "Generate GIF instead of WebP") + ApiCmd.Flags().BoolVarP(&silenceOutput, "silent", "", false, "Silence print statements when rendering app") +} + +var ApiCmd = &cobra.Command{ + Use: "api", + Short: "Run a Pixlet API server", + Args: cobra.MinimumNArgs(0), + RunE: api, + Long: `Start an HTTP server that runs a Pixlet app in response to API requests. + `, +} + +type renderRequest struct { + Path string `json:"path"` + Config map[string]string `json:"config"` + Width int `json:"width"` + Height int `json:"height"` + Magnify int `json:"magnify"` +} + +func renderApplet(path string, config map[string]string, width, height, magnify int) ([]byte, error) { + // check if path exists, and whether it is a directory or a file + info, err := os.Stat(path) + if err != nil { + return nil, fmt.Errorf("failed to stat %s: %w", path, err) + } + + var fs fs.FS + if info.IsDir() { + fs = os.DirFS(path) + } else { + if !strings.HasSuffix(path, ".star") { + return nil, fmt.Errorf("script file must have suffix .star: %s", path) + } + + fs = tools.NewSingleFileFS(path) + } + + if width > 0 { + globals.Width = width + } + if height > 0 { + globals.Height = height + } + if magnify == 0 { + magnify = 1 + } + + // Remove the print function from the starlark thread if the silent flag is + // passed. + var opts []runtime.AppletOption + if silenceOutput { + opts = append(opts, runtime.WithPrintDisabled()) + } + + ctx := context.Background() + if timeout > 0 { + var cancel context.CancelFunc + ctx, cancel = context.WithTimeoutCause( + ctx, + time.Duration(timeout)*time.Millisecond, + fmt.Errorf("timeout after %d ms", timeout), + ) + defer cancel() + } + + applet, err := runtime.NewAppletFromFS(filepath.Base(path), fs, opts...) + if err != nil { + return nil, fmt.Errorf("failed to load applet: %w", err) + } + + roots, err := applet.RunWithConfig(ctx, config) + if err != nil { + return nil, fmt.Errorf("error running script: %w", err) + } + screens := encode.ScreensFromRoots(roots) + + filter := func(input image.Image) (image.Image, error) { + if magnify <= 1 { + return input, nil + } + in, ok := input.(*image.RGBA) + if !ok { + return nil, fmt.Errorf("image not RGBA, very weird") + } + + out := image.NewRGBA( + image.Rect( + 0, 0, + in.Bounds().Dx()*magnify, + in.Bounds().Dy()*magnify), + ) + for x := 0; x < in.Bounds().Dx(); x++ { + for y := 0; y < in.Bounds().Dy(); y++ { + for xx := 0; xx < magnify; xx++ { + for yy := 0; yy < magnify; yy++ { + out.SetRGBA( + x*magnify+xx, + y*magnify+yy, + in.RGBAAt(x, y), + ) + } + } + } + } + + return out, nil + } + + var buf []byte + + if screens.ShowFullAnimation { + maxDuration = 0 + } + + if renderGif { + buf, err = screens.EncodeGIF(maxDuration, filter) + } else { + buf, err = screens.EncodeWebP(maxDuration, filter) + } + if err != nil { + return nil, fmt.Errorf("error rendering: %w", err) + } + + return buf, nil +} + +func validatePath(path string) bool { + return !strings.Contains(path, "..") +} + +// Example request +// +// { +// "path": "/workspaces/pixlet/examples/clock", +// "config": { +// "timezone": "America/New_York" +// } +// } +func renderHandler(w http.ResponseWriter, req *http.Request) { + var r renderRequest + + if err := json.NewDecoder(req.Body).Decode(&r); err != nil { + http.Error(w, fmt.Sprintf("failed to decode render request: %v", err), http.StatusBadRequest) + return + } + + if !validatePath(r.Path) { + http.Error(w, "invalid path", http.StatusBadRequest) + return + } + + buf, err := renderApplet(r.Path, r.Config, r.Width, r.Height, r.Magnify) + if err != nil { + http.Error(w, fmt.Sprintf("error rendering: %v", err), http.StatusInternalServerError) + return + } + + if renderGif { + w.Header().Set("Content-Type", "image/gif") + } else { + w.Header().Set("Content-Type", "image/webp") + } + w.Write(buf) +} + +func api(cmd *cobra.Command, args []string) error { + cache := runtime.NewInMemoryCache() + runtime.InitHTTP(cache) + runtime.InitCache(cache) + + addr := fmt.Sprintf("%s:%d", host, port) + log.Printf("listening at http://%s\n", addr) + mux := http.NewServeMux() + mux.HandleFunc("POST /api/render", renderHandler) + return http.ListenAndServe(addr, mux) +} diff --git a/cmd/render.go b/cmd/render.go index dcf6dbb945..22ae5d5afa 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -150,7 +150,7 @@ func render(cmd *cobra.Command, args []string) error { if len(split) < 2 { return fmt.Errorf("parameters must be on form =, found %s", param) } - config[split[0]] = strings.Join(split[1:len(split)], "=") + config[split[0]] = strings.Join(split[1:], "=") } } diff --git a/cmd/serve.go b/cmd/serve.go index c78e96cf8d..f6c4599016 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -6,15 +6,15 @@ import ( ) var ( - host string - port int - watch bool - serveGif bool + host string + port int + watch bool + serveGif bool configOutFile string ) func init() { - ServeCmd.Flags().StringVarP(&configOutFile,"saveconfig","o","", "Output file for config changes") + ServeCmd.Flags().StringVarP(&configOutFile, "saveconfig", "o", "", "Output file for config changes") ServeCmd.Flags().StringVarP(&host, "host", "i", "127.0.0.1", "Host interface for serving rendered images") ServeCmd.Flags().IntVarP(&port, "port", "p", 8080, "Port for serving rendered images") ServeCmd.Flags().BoolVarP(&watch, "watch", "w", true, "Reload scripts on change. Does not recurse sub-directories.") @@ -36,7 +36,7 @@ containing multiple Starlark files and resources.`, } func serve(cmd *cobra.Command, args []string) error { - s, err := server.NewServer(host, port, watch, args[0], maxDuration, timeout, serveGif,configOutFile) + s, err := server.NewServer(host, port, watch, args[0], maxDuration, timeout, serveGif, configOutFile) if err != nil { return err } diff --git a/main.go b/main.go index 153d62edba..f574d42fae 100644 --- a/main.go +++ b/main.go @@ -18,6 +18,7 @@ var ( ) func init() { + rootCmd.AddCommand(cmd.ApiCmd) rootCmd.AddCommand(cmd.RenderCmd) rootCmd.AddCommand(cmd.PushCmd) rootCmd.AddCommand(cmd.EncryptCmd) From fa646e58dce973fbe387434e33c24ab55c7e9e58 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 17 Feb 2025 07:48:27 +0100 Subject: [PATCH 22/68] Migrate from gorilla/mux to standard http.ServeMux --- go.mod | 5 ----- go.sum | 18 ------------------ server/browser/browser.go | 33 ++++++++++++++++----------------- server/browser/preview.html | 4 ++-- 4 files changed, 18 insertions(+), 42 deletions(-) diff --git a/go.mod b/go.mod index 108a8550aa..23fe9db58b 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,6 @@ require ( github.com/go-playground/validator/v10 v10.25.0 github.com/google/pprof v0.0.0-20250208200701-d0013a598941 github.com/google/tink/go v1.7.0 - github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket v1.5.3 github.com/ingmarstein/go-libwebp v0.0.0-20250210064648-2a5c38d63a1b github.com/manifoldco/promptui v0.9.0 @@ -46,7 +45,6 @@ require ( require ( dario.cat/mergo v1.0.1 // indirect - github.com/360EntSecGroup-Skylar/excelize v1.4.1 // indirect github.com/Code-Hex/go-wordwrap v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/ProtonMail/go-crypto v1.1.5 // indirect @@ -78,8 +76,6 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect - github.com/paulmach/orb v0.1.5 // indirect github.com/pelletier/go-toml/v2 v2.2.3 // indirect github.com/pjbgf/sha1cd v0.3.2 // indirect github.com/pkg/errors v0.9.1 // indirect @@ -104,5 +100,4 @@ require ( google.golang.org/protobuf v1.36.5 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index f0181fbe5e..293d77bd4f 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,6 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -github.com/360EntSecGroup-Skylar/excelize v1.4.1 h1:l55mJb6rkkaUzOpSsgEeKYtS6/0gHwBYyfo5Jcjv/Ks= github.com/360EntSecGroup-Skylar/excelize v1.4.1/go.mod h1:vnax29X2usfl7HHkBrX5EvSCJcmH3dT9luvxzu8iGAE= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Code-Hex/Neo-cowsay/v2 v2.0.4 h1:y80Hd9hmB+rsEH/p4c5ti5PbO0PhBmxw4NgbpFZvoHg= @@ -15,8 +14,6 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE github.com/ProtonMail/go-crypto v1.1.5 h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4= github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= -github.com/PuerkitoBio/goquery v1.10.1 h1:Y8JGYUkXWTGRB6Ars3+j3kN0xg1YqqlwvdTV8WTFQcU= -github.com/PuerkitoBio/goquery v1.10.1/go.mod h1:IYiHrOMps66ag56LEH7QYDDupKXyo5A8qrjIx3ZtujY= github.com/PuerkitoBio/goquery v1.10.2 h1:7fh2BdHcG6VFZsK7toXBT/Bh1z5Wmy8Q9MV9HqT2AM8= github.com/PuerkitoBio/goquery v1.10.2/go.mod h1:0guWGjcLu9AYC7C1GHnpysHy056u9aEkUHwhdnePMCU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -58,7 +55,6 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= @@ -111,8 +107,6 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o 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.24.0 h1:KHQckvo8G6hlWnrPX4NJJ+aBfWNAE/HH+qdL2cBpCmg= -github.com/go-playground/validator/v10 v10.24.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -152,8 +146,6 @@ github.com/google/pprof v0.0.0-20250208200701-d0013a598941 h1:43XjGa6toxLpeksjcx github.com/google/pprof v0.0.0-20250208200701-d0013a598941/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/tink/go v1.7.0 h1:6Eox8zONGebBFcCBqkVmt60LaWZa6xg1cl/DwAh/J1w= github.com/google/tink/go v1.7.0/go.mod h1:GAUOd+QE3pgj9q8VKIGTCP33c/B7eb4NhxLcgTJZStM= -github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= -github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -209,7 +201,6 @@ github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/z github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nathan-osman/go-sunrise v1.1.0 h1:ZqZmtmtzs8Os/DGQYi0YMHpuUqR/iRoJK+wDO0wTCw8= @@ -226,7 +217,6 @@ github.com/nlepage/go-tarfs v1.2.1/go.mod h1:rno18mpMy9aEH1IiJVftFsqPyIpwqSUiAOp github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= -github.com/paulmach/orb v0.1.5 h1:GUcATabvxciqEzGd+c01/9ek3B6pUp9OdcIHFSDDSSg= github.com/paulmach/orb v0.1.5/go.mod h1:pPwxxs3zoAyosNSbNKn1jiXV2+oovRDObDKfTvRegDI= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= @@ -288,13 +278,10 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/cobra v1.9.0 h1:Py5fIuq/lJsRYxcxfOtsJqpmwJWCMOUy2tMJYV8TNHE= github.com/spf13/cobra v1.9.0/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= @@ -350,8 +337,6 @@ golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ss golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 h1:qNgPs5exUA+G0C96DrPwNrvLSj7GT/9D+3WMWUcUg34= -golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/exp v0.0.0-20250215185904-eff6e970281f h1:oFMYAjX0867ZD2jcNiLBrI9BdpmEkvPyi5YrBGXbamg= golang.org/x/exp v0.0.0-20250215185904-eff6e970281f/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= golang.org/x/image v0.0.0-20210504121937-7319ad40d33e/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -385,8 +370,6 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= -golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -508,7 +491,6 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/server/browser/browser.go b/server/browser/browser.go index 0815835e01..29eb4ff413 100644 --- a/server/browser/browser.go +++ b/server/browser/browser.go @@ -11,7 +11,6 @@ import ( "log" "net/http" - "github.com/gorilla/mux" "github.com/gorilla/websocket" "golang.org/x/sync/errgroup" "tidbyt.dev/pixlet/dist" @@ -27,10 +26,10 @@ type Browser struct { updateChan chan loader.Update // A channel of base64 encoded images. watch bool fo *fanout.Fanout - r *mux.Router + r *http.ServeMux tmpl *template.Template loader *loader.Loader - serveGif bool // True if serving GIF, false if serving WebP + serveGif bool // True if serving GIF, false if serving WebP } //go:embed preview-mask.png @@ -44,11 +43,11 @@ var previewHTML string // previewData is used to populate the HTML template. type previewData struct { - Title string `json:"title"` - Image string `json:"img"` + Title string `json:"title"` + Image string `json:"img"` ImageType string `json:"img_type"` - Watch bool `json:"-"` - Err string `json:"error,omitempty"` + Watch bool `json:"-"` + Err string `json:"error,omitempty"` } type handlerRequest struct { ID string `json:"id"` @@ -73,7 +72,7 @@ func NewBrowser(addr string, title string, watch bool, updateChan chan loader.Up serveGif: serveGif, } - r := mux.NewRouter() + r := http.NewServeMux() // In order for React Router to work, all routes that React Router should // manage need to return the root handler. @@ -82,23 +81,23 @@ func NewBrowser(addr string, title string, watch bool, updateChan chan loader.Up // This enables the static directory containing JS and CSS to be available // at /static. - r.PathPrefix("/static").Handler(http.FileServer(http.FS(dist.Static))) + r.Handle("GET /static/", http.FileServer(http.FS(dist.Static))) // In case we broke something or someone prefers the legacy editor, it is // still available for now. This will be removed in the future once we // have confirmed the new editor is stable. r.HandleFunc("/legacy", b.oldRootHandler) r.HandleFunc("/ws", b.websocketHandler) - r.HandleFunc("/favicon.png", b.faviconHandler).Methods("GET") - r.HandleFunc("/preview-mask.png", b.previewMaskHandler).Methods("GET") + r.HandleFunc("GET /favicon.png", b.faviconHandler) + r.HandleFunc("GET /preview-mask.png", b.previewMaskHandler) // API endpoints to support the React frontend. r.HandleFunc("/api/v1/preview", b.previewHandler) r.HandleFunc("/api/v1/preview.webp", b.imageHandler) r.HandleFunc("/api/v1/preview.gif", b.imageHandler) r.HandleFunc("/api/v1/push", b.pushHandler) - r.HandleFunc("/api/v1/schema", b.schemaHandler).Methods("GET") - r.HandleFunc("/api/v1/handlers/{handler}", b.schemaHandlerHandler).Methods("POST") + r.HandleFunc("GET /api/v1/schema", b.schemaHandler) + r.HandleFunc("POST /api/v1/handlers/{handler}", b.schemaHandlerHandler) r.HandleFunc("/api/v1/ws", b.websocketHandler) b.r = r @@ -134,8 +133,8 @@ func (b *Browser) schemaHandler(w http.ResponseWriter, r *http.Request) { } func (b *Browser) schemaHandlerHandler(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - if _, ok := vars["handler"]; !ok { + handler := r.PathValue("handler") + if handler == "" { w.WriteHeader(404) fmt.Fprintln(w, "no handler") return @@ -150,7 +149,7 @@ func (b *Browser) schemaHandlerHandler(w http.ResponseWriter, r *http.Request) { return } - data, err := b.loader.CallSchemaHandler(r.Context(), vars["handler"], msg.Param) + data, err := b.loader.CallSchemaHandler(r.Context(), handler, msg.Param) if err != nil { w.WriteHeader(500) fmt.Fprintln(w, err) @@ -303,7 +302,7 @@ func (b *Browser) oldRootHandler(w http.ResponseWriter, r *http.Request) { data := previewData{ Title: b.title, Watch: b.watch, - Image: img, + Image: img, } if err != nil { diff --git a/server/browser/preview.html b/server/browser/preview.html index 94a261a662..e427be0678 100644 --- a/server/browser/preview.html +++ b/server/browser/preview.html @@ -34,7 +34,7 @@ } connect() { - const proto = document.location.protocol === "https:" ? "wss:" : "ws:"; + const proto = document.location.protocol === "https:" ? "wss:" : "ws:"; this.conn = new WebSocket(proto + "//" + document.location.host + "/ws"); this.conn.open = this.open.bind(this); this.conn.onmessage = this.process.bind(this); @@ -47,7 +47,7 @@ } process(e) { - console.log("recieved new message"); + console.log("received new message"); const data = JSON.parse(e.data); const img = document.getElementById("render"); const err = document.getElementById("errors"); From 97953953b4dbb5405e76254708dd06a19dcac048 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 17 Feb 2025 09:43:05 +0100 Subject: [PATCH 23/68] Add support for serving the Pixlet app from a different path Example: `pixlet serve examples/clock/clock.star --path pixlet` serves from http://127.0.0.1/pixlet. --- cmd/serve.go | 4 +++- server/browser/browser.go | 40 ++++++++++++++++++++------------ server/browser/serve.go | 2 +- server/server.go | 4 ++-- src/features/handlers/actions.js | 6 ++--- src/features/preview/actions.js | 2 +- src/features/schema/actions.js | 2 +- src/features/watcher/watcher.js | 2 +- src/index.js | 2 +- webpack.prod.js | 2 +- 10 files changed, 39 insertions(+), 27 deletions(-) diff --git a/cmd/serve.go b/cmd/serve.go index f6c4599016..70e171d9f6 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -8,6 +8,7 @@ import ( var ( host string port int + path string watch bool serveGif bool configOutFile string @@ -21,6 +22,7 @@ func init() { ServeCmd.Flags().IntVarP(&maxDuration, "max_duration", "d", 15000, "Maximum allowed animation duration (ms)") ServeCmd.Flags().IntVarP(&timeout, "timeout", "", 30000, "Timeout for execution (ms)") ServeCmd.Flags().BoolVarP(&serveGif, "gif", "", false, "Generate GIF instead of WebP") + ServeCmd.Flags().StringVarP(&path, "path", "", "/", "Path to serve the app on") } var ServeCmd = &cobra.Command{ @@ -36,7 +38,7 @@ containing multiple Starlark files and resources.`, } func serve(cmd *cobra.Command, args []string) error { - s, err := server.NewServer(host, port, watch, args[0], maxDuration, timeout, serveGif, configOutFile) + s, err := server.NewServer(host, port, path, watch, args[0], maxDuration, timeout, serveGif, configOutFile) if err != nil { return err } diff --git a/server/browser/browser.go b/server/browser/browser.go index 29eb4ff413..4fd365da5b 100644 --- a/server/browser/browser.go +++ b/server/browser/browser.go @@ -10,6 +10,7 @@ import ( "html/template" "log" "net/http" + "strings" "github.com/gorilla/websocket" "golang.org/x/sync/errgroup" @@ -22,6 +23,7 @@ import ( // a web browser. type Browser struct { addr string // The address to listen on. + path string // The path to serve the app on. title string // The title of the HTML document. updateChan chan loader.Update // A channel of base64 encoded images. watch bool @@ -55,15 +57,23 @@ type handlerRequest struct { } // NewBrowser sets up a browser structure. Call Run() to kick off the main loops. -func NewBrowser(addr string, title string, watch bool, updateChan chan loader.Update, l *loader.Loader, serveGif bool) (*Browser, error) { +func NewBrowser(addr string, servePath string, title string, watch bool, updateChan chan loader.Update, l *loader.Loader, serveGif bool) (*Browser, error) { tmpl, err := template.New("preview").Parse(previewHTML) if err != nil { return nil, err } + if !strings.HasPrefix(servePath, "/") { + servePath = "/" + servePath + } + if !strings.HasSuffix(servePath, "/") { + servePath = servePath + "/" + } + b := &Browser{ updateChan: updateChan, addr: addr, + path: servePath, fo: fanout.NewFanout(), tmpl: tmpl, title: title, @@ -76,29 +86,29 @@ func NewBrowser(addr string, title string, watch bool, updateChan chan loader.Up // In order for React Router to work, all routes that React Router should // manage need to return the root handler. - r.HandleFunc("/", b.rootHandler) - r.HandleFunc("/oauth-callback", b.rootHandler) + r.HandleFunc(servePath, b.rootHandler) + r.HandleFunc(servePath+"oauth-callback", b.rootHandler) // This enables the static directory containing JS and CSS to be available // at /static. - r.Handle("GET /static/", http.FileServer(http.FS(dist.Static))) + r.Handle(fmt.Sprintf("GET %sstatic/", servePath), http.StripPrefix(servePath, http.FileServer(http.FS(dist.Static)))) // In case we broke something or someone prefers the legacy editor, it is // still available for now. This will be removed in the future once we // have confirmed the new editor is stable. - r.HandleFunc("/legacy", b.oldRootHandler) - r.HandleFunc("/ws", b.websocketHandler) - r.HandleFunc("GET /favicon.png", b.faviconHandler) - r.HandleFunc("GET /preview-mask.png", b.previewMaskHandler) + r.HandleFunc(servePath+"legacy", b.oldRootHandler) + r.HandleFunc(servePath+"ws", b.websocketHandler) + r.HandleFunc(fmt.Sprintf("GET %sfavicon.png", servePath), b.faviconHandler) + r.HandleFunc(fmt.Sprintf("GET %spreview-mask.png", servePath), b.previewMaskHandler) // API endpoints to support the React frontend. - r.HandleFunc("/api/v1/preview", b.previewHandler) - r.HandleFunc("/api/v1/preview.webp", b.imageHandler) - r.HandleFunc("/api/v1/preview.gif", b.imageHandler) - r.HandleFunc("/api/v1/push", b.pushHandler) - r.HandleFunc("GET /api/v1/schema", b.schemaHandler) - r.HandleFunc("POST /api/v1/handlers/{handler}", b.schemaHandlerHandler) - r.HandleFunc("/api/v1/ws", b.websocketHandler) + r.HandleFunc(servePath+"api/v1/preview", b.previewHandler) + r.HandleFunc(servePath+"api/v1/preview.webp", b.imageHandler) + r.HandleFunc(servePath+"api/v1/preview.gif", b.imageHandler) + r.HandleFunc(servePath+"api/v1/push", b.pushHandler) + r.HandleFunc(fmt.Sprintf("GET %sapi/v1/schema", servePath), b.schemaHandler) + r.HandleFunc(fmt.Sprintf("POST %sapi/v1/handlers/{handler}", servePath), b.schemaHandlerHandler) + r.HandleFunc(servePath+"api/v1/ws", b.websocketHandler) b.r = r return b, nil diff --git a/server/browser/serve.go b/server/browser/serve.go index 70a68f27e6..e550337dcf 100644 --- a/server/browser/serve.go +++ b/server/browser/serve.go @@ -8,6 +8,6 @@ import ( ) func (b *Browser) serveHTTP() error { - log.Printf("listening at http://%s\n", b.addr) + log.Printf("listening at http://%s%s\n", b.addr, b.path) return http.ListenAndServe(b.addr, b.r) } diff --git a/server/server.go b/server/server.go index 6b6bc13430..9029159474 100644 --- a/server/server.go +++ b/server/server.go @@ -23,7 +23,7 @@ type Server struct { } // NewServer creates a new server initialized with the applet. -func NewServer(host string, port int, watch bool, path string, maxDuration int, timeout int, serveGif bool, configOutFile string) (*Server, error) { +func NewServer(host string, port int, servePath string, watch bool, path string, maxDuration int, timeout int, serveGif bool, configOutFile string) (*Server, error) { fileChanges := make(chan bool, 100) // check if path exists, and whether it is a directory or a file @@ -53,7 +53,7 @@ func NewServer(host string, port int, watch bool, path string, maxDuration int, } addr := fmt.Sprintf("%s:%d", host, port) - b, err := browser.NewBrowser(addr, filepath.Base(path), watch, updatesChan, l, false) + b, err := browser.NewBrowser(addr, servePath, filepath.Base(path), watch, updatesChan, l, false) if err != nil { return nil, err } diff --git a/src/features/handlers/actions.js b/src/features/handlers/actions.js index a34869faa5..33cbf8ed22 100644 --- a/src/features/handlers/actions.js +++ b/src/features/handlers/actions.js @@ -20,7 +20,7 @@ export function callHandler(id, handler, param) { } store.dispatch(loading(true)); - axios.post(`${PIXLET_API_BASE}/api/v1/handlers/` + handler, JSON.stringify(data)) + axios.post(`api/v1/handlers/` + handler, JSON.stringify(data)) .then(res => { store.dispatch(update({ id: id, value: res.data })); }) @@ -42,7 +42,7 @@ export function callGeneratedHandler(id, handler, param) { } store.dispatch(loading(true)); - axios.post(`${PIXLET_API_BASE}/api/v1/handlers/` + handler, JSON.stringify(data)) + axios.post(`api/v1/handlers/` + handler, JSON.stringify(data)) .then(res => { store.dispatch(updateGenerated(res.data)); }) @@ -64,7 +64,7 @@ export function callHandlerSetValue(id, handler, param, valueHandler) { } store.dispatch(loading(true)); - axios.post(`${PIXLET_API_BASE}/api/v1/handlers/` + handler, JSON.stringify(data)) + axios.post(`api/v1/handlers/` + handler, JSON.stringify(data)) .then(res => { store.dispatch(update({ id: id, value: res.data })); valueHandler(res.data); diff --git a/src/features/preview/actions.js b/src/features/preview/actions.js index f03d9acc61..ee17ebcf4b 100644 --- a/src/features/preview/actions.js +++ b/src/features/preview/actions.js @@ -16,7 +16,7 @@ export default function fetchPreview(formData) { }, }); - client.post(`${PIXLET_API_BASE}/api/v1/preview`, formData) + client.post(`api/v1/preview`, formData) .then(res => { document.title = res.data.title; store.dispatch(update(res.data)); diff --git a/src/features/schema/actions.js b/src/features/schema/actions.js index a2c5a97a90..6356c921d9 100644 --- a/src/features/schema/actions.js +++ b/src/features/schema/actions.js @@ -17,7 +17,7 @@ export default function refreshSchema() { }, }); - client.get(`${PIXLET_API_BASE}/api/v1/schema`) + client.get(`api/v1/schema`) .then(res => { store.dispatch(update(res.data)); }) diff --git a/src/features/watcher/watcher.js b/src/features/watcher/watcher.js index 3ba1266668..340c3429fd 100644 --- a/src/features/watcher/watcher.js +++ b/src/features/watcher/watcher.js @@ -10,7 +10,7 @@ export default class Watcher { connect() { const proto = document.location.protocol === "https:" ? "wss:" : "ws:"; - this.conn = new WebSocket(proto + '//' + document.location.host + '/api/v1/ws'); + this.conn = new WebSocket(proto + '//' + document.location.host + document.location.pathname + 'api/v1/ws'); this.conn.open = this.open.bind(this); this.conn.onmessage = this.process.bind(this); this.conn.onclose = this.close.bind(this); diff --git a/src/index.js b/src/index.js index a4ebf27a26..44908d9e1c 100644 --- a/src/index.js +++ b/src/index.js @@ -12,7 +12,7 @@ const App = () => { return ( - + } /> } /> diff --git a/webpack.prod.js b/webpack.prod.js index e21663aac6..c8a5b552f9 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -30,7 +30,7 @@ module.exports = merge(common, { devtool: 'source-map', output: { asyncChunks: true, - publicPath: '/static/', + publicPath: 'auto', path: path.resolve(__dirname, 'dist/static'), filename: '[name].[chunkhash].js', clean: true, From 44eb56601835993c67ff2c8890ee0d8bd46b6f28 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 17 Feb 2025 10:02:48 +0100 Subject: [PATCH 24/68] Update dependencies --- package-lock.json | 348 +++++++++++++++++++++++----------------------- package.json | 5 +- 2 files changed, 180 insertions(+), 173 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee1f85746b..4af34f23e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,8 @@ "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.0", "@mui/icons-material": "^6.0.0", - "@mui/material": "^6.0.0", + "@mui/material": "^6.4.4", + "@mui/styles": "^6.4.4", "@mui/x-date-pickers": "7.26.0", "@reduxjs/toolkit": "1.9.7", "axios": "^1.7.4", @@ -92,23 +93,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz", - "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", + "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/traverse": "^7.26.8", - "@babel/types": "^7.26.8", - "@types/gensync": "^1.0.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -124,13 +124,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz", - "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -170,18 +170,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/traverse": "^7.26.9", "semver": "^6.3.1" }, "engines": { @@ -388,26 +388,26 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "license": "MIT", "dependencies": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -883,13 +883,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", - "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { @@ -1555,9 +1555,9 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.8.tgz", - "integrity": "sha512-um7Sy+2THd697S4zJEfv/U5MHGJzkN2xhtsR3T/SWRbVSic62nbISh51VVfU9JiO/L/Z97QczHTaFVkOU8IzNg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1590,7 +1590,7 @@ "@babel/plugin-transform-dynamic-import": "^7.25.9", "@babel/plugin-transform-exponentiation-operator": "^7.26.3", "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", "@babel/plugin-transform-function-name": "^7.25.9", "@babel/plugin-transform-json-strings": "^7.25.9", "@babel/plugin-transform-literals": "^7.25.9", @@ -1695,9 +1695,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" @@ -1707,30 +1707,30 @@ } }, "node_modules/@babel/template": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", - "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8" + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz", - "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1739,9 +1739,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -2216,9 +2216,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.3.tgz", - "integrity": "sha512-hlyOzo2ObarllAOeT1ZSAusADE5NZNencUeIvXrdQ1Na+FL1lcznhbxfV5He1KqGiuR8Az3xtCUcYKwMVGFdzg==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.4.tgz", + "integrity": "sha512-r+J0EditrekkTtO2CnCBCOGpNaDYwJqz8lH4rj6o/anDcskZFJodBlG8aCJkS8DL/CF/9EHS+Gz53EbmYEnQbw==", "license": "MIT", "funding": { "type": "opencollective", @@ -2226,9 +2226,9 @@ } }, "node_modules/@mui/icons-material": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.3.tgz", - "integrity": "sha512-3IY9LpjkwIJVgL/SkZQKKCUcumdHdQEsJaIavvsQze2QEztBt0HJ17naToN0DBBdhKdtwX5xXrfD6ZFUeWWk8g==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.4.tgz", + "integrity": "sha512-uF1chGaoFmYdRUomK6f8kgJfWosk9A3HXWiVD0vQm+2mE7f25eTQ1E8RRO11LXpnUBqu8Rbv/uGlpnjT/u1Ksg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0" @@ -2241,7 +2241,7 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^6.4.3", + "@mui/material": "^6.4.4", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, @@ -2252,13 +2252,13 @@ } }, "node_modules/@mui/material": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.3.tgz", - "integrity": "sha512-ubtQjplbWneIEU8Y+4b2VA0CDBlyH5I3AmVFGmsLyDe/bf0ubxav5t11c8Afem6rkSFWPlZA2DilxmGka1xiKQ==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.4.tgz", + "integrity": "sha512-ISVPrIsPQsxnwvS40C4u03AuNSPigFeS2+n1qpuEZ94hDsdMi19dQM2JcC9CHEhXecSIQjP1RTyY0mPiSpSrFQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/core-downloads-tracker": "^6.4.3", + "@mui/core-downloads-tracker": "^6.4.4", "@mui/system": "^6.4.3", "@mui/types": "^7.2.21", "@mui/utils": "^6.4.3", @@ -2376,6 +2376,56 @@ } } }, + "node_modules/@mui/styles": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.4.tgz", + "integrity": "sha512-QjB9jhjVTPR7+icGQQzjTUPAu/LodnwcRV3HNDqO5sr1HJhZOqd8V8TF/8ArXWwVIm0yw6E/MTvnvhJB82LUPQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@emotion/hash": "^0.9.2", + "@mui/private-theming": "^6.4.3", + "@mui/types": "^7.2.21", + "@mui/utils": "^6.4.3", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.10.0", + "jss-plugin-camel-case": "^10.10.0", + "jss-plugin-default-unit": "^10.10.0", + "jss-plugin-global": "^10.10.0", + "jss-plugin-nested": "^10.10.0", + "jss-plugin-props-sort": "^10.10.0", + "jss-plugin-rule-value-function": "^10.10.0", + "jss-plugin-vendor-prefixer": "^10.10.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styles/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/@mui/system": { "version": "6.4.3", "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.4.3.tgz", @@ -3045,13 +3095,6 @@ "@types/send": "*" } }, - "node_modules/@types/gensync": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz", - "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", @@ -3100,9 +3143,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "version": "22.13.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", + "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", "license": "MIT", "dependencies": { "undici-types": "~6.20.0" @@ -3974,10 +4017,9 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -4038,9 +4080,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001699", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", - "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", + "version": "1.0.30001700", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", + "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", "funding": [ { "type": "opencollective", @@ -4487,7 +4529,6 @@ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.8.3", "is-in-browser": "^1.0.2" @@ -4776,7 +4817,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -4795,9 +4835,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.97", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.97.tgz", - "integrity": "sha512-HKLtaH02augM7ZOdYRuO19rWDeY+QSJ1VxnXFa/XDFLf07HvM90pALIJFgrO+UVaajI3+aJMMpojoUTLZyQ7JQ==", + "version": "1.5.101", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.101.tgz", + "integrity": "sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA==", "license": "ISC" }, "node_modules/emojis-list": { @@ -4872,7 +4912,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4882,7 +4921,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4898,7 +4936,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -4907,6 +4944,21 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -5140,6 +5192,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, "license": "MIT" }, "node_modules/fast-uri": { @@ -5383,13 +5436,14 @@ } }, "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -5468,7 +5522,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -5493,7 +5546,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -5597,7 +5649,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5632,7 +5683,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5641,6 +5691,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -5911,8 +5976,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/iconv-lite": { "version": "0.4.24", @@ -6188,8 +6252,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/is-number": { "version": "7.0.0", @@ -6350,7 +6413,6 @@ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -6367,7 +6429,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", @@ -6379,7 +6440,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -6390,7 +6450,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -6401,7 +6460,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -6413,7 +6471,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -6424,7 +6481,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -6436,7 +6492,6 @@ "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", @@ -6605,7 +6660,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7387,6 +7441,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -8557,9 +8612,9 @@ } }, "node_modules/terser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.38.1.tgz", - "integrity": "sha512-GWANVlPM/ZfYzuPHjq0nxT+EbOEDDN3Jwhwdg1D8TU8oSkktp8w64Uq4auuGLxFSoNTRDncTq2hQHX1Ld9KHkA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -8625,8 +8680,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/to-fast-properties": { "version": "1.0.3", @@ -8775,6 +8829,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -8857,9 +8912,9 @@ } }, "node_modules/webpack": { - "version": "5.97.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", - "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "version": "5.98.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", + "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", @@ -8880,9 +8935,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", + "schema-utils": "^4.3.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", + "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, @@ -9066,55 +9121,6 @@ "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", diff --git a/package.json b/package.json index dffdc09fd7..20820165b9 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,8 @@ "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.0", "@mui/icons-material": "^6.0.0", - "@mui/material": "^6.0.0", + "@mui/material": "^6.4.4", + "@mui/styles": "^6.4.4", "@mui/x-date-pickers": "7.26.0", "@reduxjs/toolkit": "1.9.7", "axios": "^1.7.4", @@ -68,4 +69,4 @@ "react-router-dom": "^6.23.0", "react-simple-oauth2-login": "^0.5.4" } -} \ No newline at end of file +} From 85b8f2f221950d27987f18a17f18f24e968315e2 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 17 Feb 2025 12:49:50 +0100 Subject: [PATCH 25/68] Set when serving from non-root --- .github/workflows/main.yml | 4 ++-- server/browser/browser.go | 13 ++++++++++++- src/index.html | 3 +++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7b4f74c9f8..28b4052dc2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -122,7 +122,7 @@ jobs: - name: Set pixlet version id: vars - run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} + run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT if: matrix.os == 'ubuntu-24.04' || matrix.os == 'macos-latest' - name: Set Windows pixlet version @@ -130,7 +130,7 @@ jobs: shell: msys2 {0} run: | set MSYSTEM=MINGW64 - echo ::set-output name=tag::${GITHUB_REF#refs/*/} + echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT if: matrix.os == 'windows-latest' - name: Build Release Linux diff --git a/server/browser/browser.go b/server/browser/browser.go index 4fd365da5b..61973dfd47 100644 --- a/server/browser/browser.go +++ b/server/browser/browser.go @@ -298,7 +298,18 @@ func (b *Browser) updateWatcher() error { } func (b *Browser) rootHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/html") - w.Write(dist.Index) + t, err := template.New("index").Parse(string(dist.Index)) + if err != nil { + http.Error(w, fmt.Sprintf("error loading index template: %v", err), http.StatusInternalServerError) + return + } + config := map[string]any{} + if b.path != "/" { + config["Base"] = b.path + } + if err := t.Execute(w, config); err != nil { + http.Error(w, fmt.Sprintf("error executing template: %v", err), http.StatusInternalServerError) + } } func (b *Browser) oldRootHandler(w http.ResponseWriter, r *http.Request) { diff --git a/src/index.html b/src/index.html index 098a95820f..60a7b773dc 100644 --- a/src/index.html +++ b/src/index.html @@ -5,6 +5,9 @@ Pixlet + {{if .Base}} + + {{end}} From 27ad894f1dce4ff0a86cf2a9aae4312daa91d713 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 17 Feb 2025 15:56:17 +0100 Subject: [PATCH 26/68] Create libpixlet to export a function which renders an applet --- .gitignore | 10 ++-- Dockerfile | 10 +++- Makefile | 15 ++++- cmd/api.go | 119 +--------------------------------------- cmd/render.go | 85 +--------------------------- library/library.go | 51 +++++++++++++++++ server/loader/loader.go | 112 +++++++++++++++++++++++++++++++++++++ 7 files changed, 193 insertions(+), 209 deletions(-) create mode 100644 library/library.go diff --git a/.gitignore b/.gitignore index a90ac08393..a3aeab3318 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# MacOS +# macOS .DS_Store # Rendered Apps @@ -10,6 +10,11 @@ pixlet pixlet.exe pixlet.wasm +# Pixlet library +libpixlet.so +libpixlet.h +pixlet.dll + # Releases build/ out/ @@ -18,6 +23,3 @@ dist/ # Dependency directories node_modules src/go - -# build files from monorepo -BUILD.bazel diff --git a/Dockerfile b/Dockerfile index c59885f4f4..2fb53ab884 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,11 @@ -FROM golang:1.24.0-alpine3.21 AS builder +# Can't use Alpine because of +# - https://github.com/golang/go/issues/54805: libpixlet.so can't be loaded dynamically +# - https://github.com/python/cpython/issues/109332: CPython doesn't support musl +FROM golang:1.24.0-bookworm AS builder -RUN apk --no-cache add npm libwebp-dev libwebp-static git make clang musl-dev tzdata ca-certificates +RUN echo deb http://deb.debian.org/debian bookworm-backports main > /etc/apt/sources.list.d/bookworm-backports.list && \ + apt-get update && apt install -y --no-install-recommends npm libwebp-dev/bookworm-backports git make clang tzdata ca-certificates && \ + rm -rf /var/lib/apt/lists/* COPY . /pixlet WORKDIR /pixlet RUN npm install && npm run build && STATIC=1 CC=clang make build @@ -10,5 +15,6 @@ FROM scratch COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /pixlet/pixlet /bin/pixlet +COPY --from=builder /pixlet/libpixlet.so /lib/libpixlet.so ENTRYPOINT ["/bin/pixlet"] diff --git a/Makefile b/Makefile index 7488fc3bcc..a68a1472d6 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,24 @@ GIT_COMMIT = $(shell git rev-list -1 HEAD) +ARCH = $(shell uname -m) +OS = $(shell uname -s) ifeq ($(OS),Windows_NT) BINARY = pixlet.exe + LIBRARY = pixlet.dll LDFLAGS = -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" TAGS = -tags timetzdata else BINARY = pixlet - TAGS = + LIBRARY = libpixlet.so ifeq ($(STATIC),1) - LDFLAGS = -ldflags="-s -w -linkmode=external '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" + TAGS = -tags netgo,osusergo + LDFLAGS = -ldflags="-s -w -linkmode=external '-extldflags=-static -lsharpyuv -lm' -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" + ifeq ($(OS),Linux) + CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" + endif else - LDFLAGS = -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" + TAGS = + LDFLAGS = -ldflags="-s -w -X 'tidbyt.dev/pixlet/cmd.Version=$(GIT_COMMIT)'" endif endif @@ -29,6 +37,7 @@ bench: build: go build $(LDFLAGS) $(TAGS) -o $(BINARY) tidbyt.dev/pixlet + CGO_LDFLAGS=$(CGO_LDFLAGS) go build $(LDFLAGS) -tags lib -o $(LIBRARY) -buildmode=c-shared library/library.go embedfonts: go run render/gen/embedfonts.go diff --git a/cmd/api.go b/cmd/api.go index 5044e26ca4..8e5d107db4 100644 --- a/cmd/api.go +++ b/cmd/api.go @@ -1,23 +1,15 @@ package cmd import ( - "context" "encoding/json" "fmt" - "image" - "io/fs" "log" "net/http" - "os" - "path/filepath" "strings" - "time" "github.com/spf13/cobra" - "tidbyt.dev/pixlet/encode" - "tidbyt.dev/pixlet/globals" "tidbyt.dev/pixlet/runtime" - "tidbyt.dev/pixlet/tools" + "tidbyt.dev/pixlet/server/loader" ) func init() { @@ -44,113 +36,6 @@ type renderRequest struct { Magnify int `json:"magnify"` } -func renderApplet(path string, config map[string]string, width, height, magnify int) ([]byte, error) { - // check if path exists, and whether it is a directory or a file - info, err := os.Stat(path) - if err != nil { - return nil, fmt.Errorf("failed to stat %s: %w", path, err) - } - - var fs fs.FS - if info.IsDir() { - fs = os.DirFS(path) - } else { - if !strings.HasSuffix(path, ".star") { - return nil, fmt.Errorf("script file must have suffix .star: %s", path) - } - - fs = tools.NewSingleFileFS(path) - } - - if width > 0 { - globals.Width = width - } - if height > 0 { - globals.Height = height - } - if magnify == 0 { - magnify = 1 - } - - // Remove the print function from the starlark thread if the silent flag is - // passed. - var opts []runtime.AppletOption - if silenceOutput { - opts = append(opts, runtime.WithPrintDisabled()) - } - - ctx := context.Background() - if timeout > 0 { - var cancel context.CancelFunc - ctx, cancel = context.WithTimeoutCause( - ctx, - time.Duration(timeout)*time.Millisecond, - fmt.Errorf("timeout after %d ms", timeout), - ) - defer cancel() - } - - applet, err := runtime.NewAppletFromFS(filepath.Base(path), fs, opts...) - if err != nil { - return nil, fmt.Errorf("failed to load applet: %w", err) - } - - roots, err := applet.RunWithConfig(ctx, config) - if err != nil { - return nil, fmt.Errorf("error running script: %w", err) - } - screens := encode.ScreensFromRoots(roots) - - filter := func(input image.Image) (image.Image, error) { - if magnify <= 1 { - return input, nil - } - in, ok := input.(*image.RGBA) - if !ok { - return nil, fmt.Errorf("image not RGBA, very weird") - } - - out := image.NewRGBA( - image.Rect( - 0, 0, - in.Bounds().Dx()*magnify, - in.Bounds().Dy()*magnify), - ) - for x := 0; x < in.Bounds().Dx(); x++ { - for y := 0; y < in.Bounds().Dy(); y++ { - for xx := 0; xx < magnify; xx++ { - for yy := 0; yy < magnify; yy++ { - out.SetRGBA( - x*magnify+xx, - y*magnify+yy, - in.RGBAAt(x, y), - ) - } - } - } - } - - return out, nil - } - - var buf []byte - - if screens.ShowFullAnimation { - maxDuration = 0 - } - - if renderGif { - buf, err = screens.EncodeGIF(maxDuration, filter) - } else { - buf, err = screens.EncodeWebP(maxDuration, filter) - } - if err != nil { - return nil, fmt.Errorf("error rendering: %w", err) - } - - return buf, nil -} - func validatePath(path string) bool { return !strings.Contains(path, "..") } @@ -176,7 +61,7 @@ func renderHandler(w http.ResponseWriter, req *http.Request) { return } - buf, err := renderApplet(r.Path, r.Config, r.Width, r.Height, r.Magnify) + buf, err := loader.RenderApplet(r.Path, r.Config, r.Width, r.Height, r.Magnify, maxDuration, timeout, renderGif, silenceOutput) if err != nil { http.Error(w, fmt.Sprintf("error rendering: %v", err), http.StatusInternalServerError) return diff --git a/cmd/render.go b/cmd/render.go index 22ae5d5afa..968b23ab1b 100644 --- a/cmd/render.go +++ b/cmd/render.go @@ -1,23 +1,17 @@ package cmd import ( - "context" "encoding/json" "fmt" - "image" "io" - "io/fs" "log" "os" "path/filepath" "strings" - "time" "github.com/spf13/cobra" - "tidbyt.dev/pixlet/encode" - "tidbyt.dev/pixlet/globals" "tidbyt.dev/pixlet/runtime" - "tidbyt.dev/pixlet/tools" + "tidbyt.dev/pixlet/server/loader" ) var ( @@ -96,17 +90,14 @@ func render(cmd *cobra.Command, args []string) error { return fmt.Errorf("failed to stat %s: %w", path, err) } - var fs fs.FS var outPath string if info.IsDir() { - fs = os.DirFS(path) outPath = filepath.Join(path, filepath.Base(path)) } else { if !strings.HasSuffix(path, ".star") { return fmt.Errorf("script file must have suffix .star: %s", path) } - fs = tools.NewSingleFileFS(path) outPath = strings.TrimSuffix(path, ".star") } @@ -119,9 +110,6 @@ func render(cmd *cobra.Command, args []string) error { outPath = output } - globals.Width = width - globals.Height = height - config := map[string]string{} if configJson != "" { @@ -155,80 +143,11 @@ func render(cmd *cobra.Command, args []string) error { } - // Remove the print function from the starlark thread if the silent flag is - // passed. - var opts []runtime.AppletOption - if silenceOutput { - opts = append(opts, runtime.WithPrintDisabled()) - } - - ctx := context.Background() - if timeout > 0 { - ctx, _ = context.WithTimeoutCause( - ctx, - time.Duration(timeout)*time.Millisecond, - fmt.Errorf("timeout after %dms", timeout), - ) - } - cache := runtime.NewInMemoryCache() runtime.InitHTTP(cache) runtime.InitCache(cache) - applet, err := runtime.NewAppletFromFS(filepath.Base(path), fs, opts...) - if err != nil { - return fmt.Errorf("failed to load applet: %w", err) - } - - roots, err := applet.RunWithConfig(ctx, config) - if err != nil { - return fmt.Errorf("error running script: %w", err) - } - screens := encode.ScreensFromRoots(roots) - - filter := func(input image.Image) (image.Image, error) { - if magnify <= 1 { - return input, nil - } - in, ok := input.(*image.RGBA) - if !ok { - return nil, fmt.Errorf("image not RGBA, very weird") - } - - out := image.NewRGBA( - image.Rect( - 0, 0, - in.Bounds().Dx()*magnify, - in.Bounds().Dy()*magnify), - ) - for x := 0; x < in.Bounds().Dx(); x++ { - for y := 0; y < in.Bounds().Dy(); y++ { - for xx := 0; xx < magnify; xx++ { - for yy := 0; yy < magnify; yy++ { - out.SetRGBA( - x*magnify+xx, - y*magnify+yy, - in.RGBAAt(x, y), - ) - } - } - } - } - - return out, nil - } - - var buf []byte - - if screens.ShowFullAnimation { - maxDuration = 0 - } - - if renderGif { - buf, err = screens.EncodeGIF(maxDuration, filter) - } else { - buf, err = screens.EncodeWebP(maxDuration, filter) - } + buf, err := loader.RenderApplet(path, config, width, height, magnify, maxDuration, timeout, renderGif, silenceOutput) if err != nil { return fmt.Errorf("error rendering: %w", err) } diff --git a/library/library.go b/library/library.go new file mode 100644 index 0000000000..11835f00d5 --- /dev/null +++ b/library/library.go @@ -0,0 +1,51 @@ +//go:build lib + +package main + +/* +#include +*/ +import "C" + +import ( + "encoding/json" + "fmt" + "unsafe" + + "tidbyt.dev/pixlet/runtime" + "tidbyt.dev/pixlet/server/loader" +) + +//export render_app +func render_app(namePtr *C.char, configPtr *C.char, width, height, magnify, maxDuration, timeout C.int, renderGif, silenceOutput C.int) (*C.uchar, C.int) { + name := C.GoString(namePtr) + configStr := C.GoString(configPtr) + + var config map[string]string + err := json.Unmarshal([]byte(configStr), &config) + if err != nil { + fmt.Printf("error parsing config: %v\n", err) + return nil, -1 + } + + result, err := loader.RenderApplet(name, config, int(width), int(height), int(magnify), int(maxDuration), int(timeout), renderGif != 0, silenceOutput != 0) + if err != nil { + fmt.Printf("error rendering: %v\n", err) + return nil, -2 + } + return (*C.uchar)(C.CBytes(result)), C.int(len(result)) +} + +//export free_bytes +func free_bytes(ptr *C.uchar) { + C.free(unsafe.Pointer(ptr)) +} + +//export init_cache +func init_cache() { + cache := runtime.NewInMemoryCache() + runtime.InitHTTP(cache) + runtime.InitCache(cache) +} + +func main() {} diff --git a/server/loader/loader.go b/server/loader/loader.go index 922772c4ea..250a5344c9 100644 --- a/server/loader/loader.go +++ b/server/loader/loader.go @@ -7,14 +7,19 @@ import ( "encoding/base64" "encoding/json" "fmt" + "image" "io/fs" "log" "os" + "path/filepath" + "strings" "time" "tidbyt.dev/pixlet/encode" + "tidbyt.dev/pixlet/globals" "tidbyt.dev/pixlet/runtime" "tidbyt.dev/pixlet/schema" + "tidbyt.dev/pixlet/tools" ) // Loader is a structure to provide applet loading when a file changes or on @@ -233,3 +238,110 @@ func (l *Loader) markInitialLoadComplete() { close(l.initialLoad) } } + +func RenderApplet(path string, config map[string]string, width, height, magnify, maxDuration, timeout int, renderGif, silenceOutput bool) ([]byte, error) { + // check if path exists, and whether it is a directory or a file + info, err := os.Stat(path) + if err != nil { + return nil, fmt.Errorf("failed to stat %s: %w", path, err) + } + + var fs fs.FS + if info.IsDir() { + fs = os.DirFS(path) + } else { + if !strings.HasSuffix(path, ".star") { + return nil, fmt.Errorf("script file must have suffix .star: %s", path) + } + + fs = tools.NewSingleFileFS(path) + } + + if width > 0 { + globals.Width = width + } + if height > 0 { + globals.Height = height + } + if magnify == 0 { + magnify = 1 + } + + // Remove the print function from the starlark thread if the silent flag is + // passed. + var opts []runtime.AppletOption + if silenceOutput { + opts = append(opts, runtime.WithPrintDisabled()) + } + + ctx := context.Background() + if timeout > 0 { + var cancel context.CancelFunc + ctx, cancel = context.WithTimeoutCause( + ctx, + time.Duration(timeout)*time.Millisecond, + fmt.Errorf("timeout after %d ms", timeout), + ) + defer cancel() + } + + applet, err := runtime.NewAppletFromFS(filepath.Base(path), fs, opts...) + if err != nil { + return nil, fmt.Errorf("failed to load applet: %w", err) + } + + roots, err := applet.RunWithConfig(ctx, config) + if err != nil { + return nil, fmt.Errorf("error running script: %w", err) + } + screens := encode.ScreensFromRoots(roots) + + filter := func(input image.Image) (image.Image, error) { + if magnify <= 1 { + return input, nil + } + in, ok := input.(*image.RGBA) + if !ok { + return nil, fmt.Errorf("image not RGBA, very weird") + } + + out := image.NewRGBA( + image.Rect( + 0, 0, + in.Bounds().Dx()*magnify, + in.Bounds().Dy()*magnify), + ) + for x := 0; x < in.Bounds().Dx(); x++ { + for y := 0; y < in.Bounds().Dy(); y++ { + for xx := 0; xx < magnify; xx++ { + for yy := 0; yy < magnify; yy++ { + out.SetRGBA( + x*magnify+xx, + y*magnify+yy, + in.RGBAAt(x, y), + ) + } + } + } + } + + return out, nil + } + + var buf []byte + + if screens.ShowFullAnimation { + maxDuration = 0 + } + + if renderGif { + buf, err = screens.EncodeGIF(maxDuration, filter) + } else { + buf, err = screens.EncodeWebP(maxDuration, filter) + } + if err != nil { + return nil, fmt.Errorf("error rendering: %w", err) + } + + return buf, nil +} From 2cd17f24d14c178d5bbc89664f53882a2dc1b96b Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 09:56:25 +0100 Subject: [PATCH 27/68] Replace the defunct goreleaser(-pro) workflow with a GitHub CLI command --- .github/dependabot.yml | 10 +++++++ .github/workflows/main.yml | 34 ++++++++--------------- .goreleaser.yml | 56 -------------------------------------- 3 files changed, 21 insertions(+), 79 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 .goreleaser.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..2bbfda4de0 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 28b4052dc2..6db8749a6d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -164,42 +164,30 @@ jobs: create-release: name: Create Github Release - runs-on: ubuntu-24.04 - environment: release + runs-on: ubuntu-latest needs: build-and-test-release if: startsWith(github.ref, 'refs/tags/') steps: - - name: Checkout Code - uses: actions/checkout@v4 - with: - fetch-depth: "0" - - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.24.0" - - name: Fetch Release Artifacts uses: actions/download-artifact@v3 with: name: release-artifacts path: build - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v5 - with: - distribution: goreleaser-pro - version: v1.12.3 - args: release + - name: Create Release env: - GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} - GITHUB_TOKEN: ${{ secrets.TIDBYT_GITHUB_TOKEN }} - DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }} - DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref_name }} + run: | + gh release create "$tag" \ + --repo="${GITHUB_REPOSITORY}" \ + --title="${GITHUB_REPOSITORY#*/} ${tag#v}" \ + --generate-notes \ + build/* build-and-push-image: - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job. permissions: contents: read diff --git a/.goreleaser.yml b/.goreleaser.yml deleted file mode 100644 index d801e49213..0000000000 --- a/.goreleaser.yml +++ /dev/null @@ -1,56 +0,0 @@ -dist: out - -before: - hooks: - - scripts/set-executable.sh - -builds: - - builder: prebuilt - binary: pixlet - - goarch: - - amd64 - - arm64 - - goos: - - darwin - - linux - - windows - - goarm: - - 7 - - goamd64: - - v1 - - ignore: - - goos: windows - goarch: arm64 - - prebuilt: - path: build/{{ .Os }}_{{ .Arch }}/pixlet{{ .Ext }} - -checksum: - name_template: "checksums.txt" - -changelog: - sort: asc - -brews: - - tap: - owner: tidbyt - name: homebrew-tidbyt - - commit_author: - name: tidbyt-bot - email: bot@tidbyt.com - - homepage: https://github.com/tidbyt/pixlet - - description: App runtime and UX toolkit for pixel-based apps. - - dependencies: - - webp - - test: | - system "#{bin}/pixlet --version" From ee21d5bcdf2ef18620fb020b7d1edbf2f3eaf7f6 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 21:15:06 +0100 Subject: [PATCH 28/68] Bump actions/download-artifact to v4 Fixes the following error: ``` This request has been automatically failed because it uses a deprecated version of `actions/download-artifact: v3`. ``` --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6db8749a6d..8b053e47c2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -170,7 +170,7 @@ jobs: steps: - name: Fetch Release Artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: release-artifacts path: build From d52352dc91649bcb48dd6d1eadf5ce34aed3685c Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 21:25:33 +0100 Subject: [PATCH 29/68] Bump dependencies --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 6 +-- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4af34f23e0..837bdd6798 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,8 +11,8 @@ "dependencies": { "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", - "@fontsource/barlow": "^4.5.9", - "@fontsource/material-icons": "^4.5.4", + "@fontsource/barlow": "^5.0.0", + "@fontsource/material-icons": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", @@ -20,7 +20,7 @@ "@mui/icons-material": "^6.0.0", "@mui/material": "^6.4.4", "@mui/styles": "^6.4.4", - "@mui/x-date-pickers": "7.26.0", + "@mui/x-date-pickers": "^7.26.0", "@reduxjs/toolkit": "1.9.7", "axios": "^1.7.4", "axios-retry": "^3.5.0", @@ -1914,16 +1914,16 @@ "license": "MIT" }, "node_modules/@fontsource/barlow": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@fontsource/barlow/-/barlow-4.5.9.tgz", - "integrity": "sha512-Nzg7bpw6raZtNdHwvLIt6ue/Gas/tpsNyf7zrRvVdV38iOrtOip2aabO3lexEyiYkKjKrlqAjEyAtTrC2XfkRg==", - "license": "MIT" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@fontsource/barlow/-/barlow-5.1.1.tgz", + "integrity": "sha512-41BWOY3bZg0Hc7eQkeMEFIPUIt2wkVYHhfhlV8VVVaiRBdQw5JY8NT9qpB3Z/IKZ9dQuhHzUjuQJu9ALmjEwig==", + "license": "OFL-1.1" }, "node_modules/@fontsource/material-icons": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/@fontsource/material-icons/-/material-icons-4.5.4.tgz", - "integrity": "sha512-YGmXkkEdu6EIgpFKNmB/nIXzZocwSmbI01Ninpmml8x8BT0M6RR++V1KqOfpzZ6Cw/FQ2/KYonQ3x4IY/4VRRA==", - "license": "MIT" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@fontsource/material-icons/-/material-icons-5.1.1.tgz", + "integrity": "sha512-l1EhBIh9US1RMiiKEJ+/FTFvHZIU3cpn0MmxSZA6Ip2C/Szwca6h2xqNg/OTIOFWADune7b/rhtypeDbjHrZzA==", + "license": "OFL-1.1" }, "node_modules/@fortawesome/fontawesome-common-types": { "version": "6.7.2", @@ -2216,9 +2216,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.4.tgz", - "integrity": "sha512-r+J0EditrekkTtO2CnCBCOGpNaDYwJqz8lH4rj6o/anDcskZFJodBlG8aCJkS8DL/CF/9EHS+Gz53EbmYEnQbw==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.5.tgz", + "integrity": "sha512-zoXvHU1YuoodgMlPS+epP084Pqv9V+Vg+5IGv9n/7IIFVQ2nkTngYHYxElCq8pdTTbDcgji+nNh0lxri2abWgA==", "license": "MIT", "funding": { "type": "opencollective", @@ -2226,9 +2226,9 @@ } }, "node_modules/@mui/icons-material": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.4.tgz", - "integrity": "sha512-uF1chGaoFmYdRUomK6f8kgJfWosk9A3HXWiVD0vQm+2mE7f25eTQ1E8RRO11LXpnUBqu8Rbv/uGlpnjT/u1Ksg==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.5.tgz", + "integrity": "sha512-4A//t8Nrc+4u4pbVhGarIFU98zpuB5AV9hTNzgXx1ySZJ1tWtx+i/1SbQ8PtGJxWeXlljhwimZJNPQ3x0CiIFw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0" @@ -2241,7 +2241,7 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^6.4.4", + "@mui/material": "^6.4.5", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, @@ -2252,13 +2252,13 @@ } }, "node_modules/@mui/material": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.4.tgz", - "integrity": "sha512-ISVPrIsPQsxnwvS40C4u03AuNSPigFeS2+n1qpuEZ94hDsdMi19dQM2JcC9CHEhXecSIQjP1RTyY0mPiSpSrFQ==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.5.tgz", + "integrity": "sha512-5eyEgSXocIeV1JkXs8mYyJXU0aFyXZIWI5kq2g/mCnIgJe594lkOBNAKnCIaGVfQTu2T6TTEHF8/hHIqpiIRGA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/core-downloads-tracker": "^6.4.4", + "@mui/core-downloads-tracker": "^6.4.5", "@mui/system": "^6.4.3", "@mui/types": "^7.2.21", "@mui/utils": "^6.4.3", @@ -2377,9 +2377,9 @@ } }, "node_modules/@mui/styles": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.4.tgz", - "integrity": "sha512-QjB9jhjVTPR7+icGQQzjTUPAu/LodnwcRV3HNDqO5sr1HJhZOqd8V8TF/8ArXWwVIm0yw6E/MTvnvhJB82LUPQ==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.5.tgz", + "integrity": "sha512-F3cztqs/oeFC4FcdbIccBBeABLfcqD7ejQLf2Lh3YkJJ6dMKbyw8LUcV6p+D6ggQuOqKXnJbfg0F4BaEPMe1xw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", @@ -2535,9 +2535,9 @@ "license": "MIT" }, "node_modules/@mui/x-date-pickers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.26.0.tgz", - "integrity": "sha512-bhSDce1b5MBYYlCdHQJBThe10LGTE3D/u53TDQ41+IRj+iiNCun8jivw3DxKhmoBxlB+hVdkcltpTtIGlPjQZQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.27.0.tgz", + "integrity": "sha512-wSx8JGk4WQ2hTObfQITc+zlmUKNleQYoH1hGocaQlpWpo1HhauDtcQfX6sDN0J0dPT2eeyxDWGj4uJmiSfQKcw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", @@ -3143,9 +3143,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", - "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", + "version": "22.13.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", + "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", "license": "MIT", "dependencies": { "undici-types": "~6.20.0" @@ -4835,9 +4835,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.101", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.101.tgz", - "integrity": "sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA==", + "version": "1.5.103", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.103.tgz", + "integrity": "sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==", "license": "ISC" }, "node_modules/emojis-list": { @@ -5519,17 +5519,17 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", @@ -6509,9 +6509,9 @@ } }, "node_modules/launch-editor": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", - "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", + "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", "dev": true, "license": "MIT", "dependencies": { @@ -7260,9 +7260,9 @@ "peer": true }, "node_modules/postcss": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", - "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -9177,9 +9177,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 20820165b9..449fdcce28 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,8 @@ "dependencies": { "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", - "@fontsource/barlow": "^4.5.9", - "@fontsource/material-icons": "^4.5.4", + "@fontsource/barlow": "^5.0.0", + "@fontsource/material-icons": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", @@ -52,7 +52,7 @@ "@mui/icons-material": "^6.0.0", "@mui/material": "^6.4.4", "@mui/styles": "^6.4.4", - "@mui/x-date-pickers": "7.26.0", + "@mui/x-date-pickers": "^7.26.0", "@reduxjs/toolkit": "1.9.7", "axios": "^1.7.4", "axios-retry": "^3.5.0", From 8d14a343d2c7043fbd5aba4102852360872643a6 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 22:55:16 +0100 Subject: [PATCH 30/68] Release workflow: download artifacts from all architectures --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b053e47c2..783377ec5a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -172,8 +172,9 @@ jobs: - name: Fetch Release Artifacts uses: actions/download-artifact@v4 with: - name: release-artifacts path: build + pattern: release-artifacts-* + merge-multiple: true - name: Create Release env: From cd32710c43f92024a0a29fb28c68de72b872d6cf Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 23:28:53 +0100 Subject: [PATCH 31/68] Add release tarballs --- .github/workflows/main.yml | 2 +- scripts/build-release.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 783377ec5a..2b7279a172 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -185,7 +185,7 @@ jobs: --repo="${GITHUB_REPOSITORY}" \ --title="${GITHUB_REPOSITORY#*/} ${tag#v}" \ --generate-notes \ - build/* + build/*.tar.gz build-and-push-image: runs-on: ubuntu-latest diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 41e54c8955..1af05153fd 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -35,4 +35,5 @@ do fi echo "Built ./build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet successfully" + tar -cvf -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" pixlet done From dacbc5380cb22d86ddb7b46444ac7a5ead639199 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 23:34:43 +0100 Subject: [PATCH 32/68] Fix tar flags --- scripts/build-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 1af05153fd..1df234c6ab 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -35,5 +35,5 @@ do fi echo "Built ./build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet successfully" - tar -cvf -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" pixlet + tar -cvz -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" pixlet done From 6b8ae84815de8d65bec25873899bcdc96bcb1ba7 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Sun, 23 Feb 2025 23:46:48 +0100 Subject: [PATCH 33/68] Add version number to release tarball --- scripts/build-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 1df234c6ab..2ad1a26e8a 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -35,5 +35,5 @@ do fi echo "Built ./build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet successfully" - tar -cvz -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" pixlet + tar -cvz -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${PIXLET_VERSION}_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" pixlet done From ad1510b7dc59965ce46ac912a1f039bde847b19b Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 24 Feb 2025 00:02:31 +0100 Subject: [PATCH 34/68] Include libpixlet in release --- scripts/build-release.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 2ad1a26e8a..7194fc7be9 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -23,12 +23,15 @@ do if [[ $ARCH == "linux-arm64" ]]; then echo "linux-arm64" CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go elif [[ $ARCH == "linux-amd64" ]]; then echo "linux-amd64" - CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go elif [[ $ARCH == "windows-amd64" ]]; then echo "windows-amd64" go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -tags timetzdata -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.exe tidbyt.dev/pixlet + go build -ldflags="-s '-extldflags=-static -lsharpyuv'" -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.dll library/library.go else echo "other" CGO_CFLAGS="-I/tmp/${LIBWEBP_VERSION}/${ARCH}/include" CGO_LDFLAGS="-L/tmp/${LIBWEBP_VERSION}/${ARCH}/lib" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet From a6df06a9a0e369628f389dc5e0cbcc733c78f6f1 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 24 Feb 2025 00:14:26 +0100 Subject: [PATCH 35/68] Remove CGO_LDFLAGS on linux-amd64 --- scripts/build-release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-release.sh b/scripts/build-release.sh index 7194fc7be9..cabcb0443c 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -26,8 +26,8 @@ do CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go elif [[ $ARCH == "linux-amd64" ]]; then echo "linux-amd64" - CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet - CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go + CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go elif [[ $ARCH == "windows-amd64" ]]; then echo "windows-amd64" go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -tags timetzdata -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.exe tidbyt.dev/pixlet From aa9acbf2995b495a2f50581839b76613b68ab1ee Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 24 Feb 2025 08:12:11 +0100 Subject: [PATCH 36/68] Add write permissions to the create-release workflow --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2b7279a172..dad168600d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -167,6 +167,8 @@ jobs: runs-on: ubuntu-latest needs: build-and-test-release if: startsWith(github.ref, 'refs/tags/') + permissions: + contents: write steps: - name: Fetch Release Artifacts From 86f3781b9b56fe5225c2245147994c7833ea83cb Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Mon, 24 Feb 2025 09:52:32 +0100 Subject: [PATCH 37/68] Include libpixlet in release tarball --- scripts/build-release.sh | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/scripts/build-release.sh b/scripts/build-release.sh index cabcb0443c..c2c19df971 100755 --- a/scripts/build-release.sh +++ b/scripts/build-release.sh @@ -20,23 +20,28 @@ do echo "Building ${RELEASE_PLATFORM}_${RELEASE_ARCH}" + PIXLET=pixlet + LIBPIXLET=libpixlet.so if [[ $ARCH == "linux-arm64" ]]; then echo "linux-arm64" - CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet - CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go + CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${PIXLET}" tidbyt.dev/pixlet + CC=aarch64-linux-gnu-gcc CGO_LDFLAGS="-Wl,-Bstatic -lwebp -lwebpdemux -lwebpmux -lsharpyuv -Wl,-Bdynamic" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${LIBPIXLET}" -buildmode=c-shared library/library.go elif [[ $ARCH == "linux-amd64" ]]; then echo "linux-amd64" - CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet - CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so -buildmode=c-shared library/library.go + CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${PIXLET}" tidbyt.dev/pixlet + CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${LIBPIXLET}" -buildmode=c-shared library/library.go elif [[ $ARCH == "windows-amd64" ]]; then echo "windows-amd64" - go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -tags timetzdata -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.exe tidbyt.dev/pixlet - go build -ldflags="-s '-extldflags=-static -lsharpyuv'" -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet.dll library/library.go + PIXLET=pixlet.exe + LIBPIXLET=pixlet.dll + go build -ldflags="-s '-extldflags=-static -lsharpyuv' -X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -tags timetzdata -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${PIXLET} tidbyt.dev/pixlet + go build -ldflags="-s '-extldflags=-static -lsharpyuv'" -tags lib -o "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${LIBPIXLET}" library/library.go else echo "other" - CGO_CFLAGS="-I/tmp/${LIBWEBP_VERSION}/${ARCH}/include" CGO_LDFLAGS="-L/tmp/${LIBWEBP_VERSION}/${ARCH}/lib" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet tidbyt.dev/pixlet + CGO_CFLAGS="-I/tmp/${LIBWEBP_VERSION}/${ARCH}/include" CGO_LDFLAGS="-L/tmp/${LIBWEBP_VERSION}/${ARCH}/lib" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -ldflags="-X 'tidbyt.dev/pixlet/cmd.Version=${PIXLET_VERSION}'" -o "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${PIXLET}" tidbyt.dev/pixlet + CGO_CFLAGS="-I/tmp/${LIBWEBP_VERSION}/${ARCH}/include" CGO_LDFLAGS="-L/tmp/${LIBWEBP_VERSION}/${ARCH}/lib" CGO_ENABLED=1 GOOS=$RELEASE_PLATFORM GOARCH=$RELEASE_ARCH go build -tags lib -o build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/libpixlet.so library/library.go fi - echo "Built ./build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/pixlet successfully" - tar -cvz -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${PIXLET_VERSION}_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" pixlet + echo "Built ./build/${RELEASE_PLATFORM}_${RELEASE_ARCH}/${PIXLET} successfully" + tar -cvz -C "build/${RELEASE_PLATFORM}_${RELEASE_ARCH}" -f "build/pixlet_${PIXLET_VERSION}_${RELEASE_PLATFORM}_${RELEASE_ARCH}.tar.gz" ${PIXLET} ${LIBPIXLET} done From 9b7b9b1fb226fe9a4f4e681aeecf6502c2344231 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Tue, 25 Feb 2025 23:34:48 +0100 Subject: [PATCH 38/68] Fix the DateTime picker (#15) * Fix the DateTime picker * Bump libwebp version for releases --- scripts/set-libwebp-version.sh | 2 +- src/features/schema/fields/DateTime.jsx | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/set-libwebp-version.sh b/scripts/set-libwebp-version.sh index 23aed262e7..8d0aa0b8e5 100755 --- a/scripts/set-libwebp-version.sh +++ b/scripts/set-libwebp-version.sh @@ -1,3 +1,3 @@ #!/bin/bash -export LIBWEBP_VERSION="libwebp-1.2.2-rc1" +export LIBWEBP_VERSION="libwebp-1.5.0" diff --git a/src/features/schema/fields/DateTime.jsx b/src/features/schema/fields/DateTime.jsx index 3c26d100f1..6f444d42f5 100644 --- a/src/features/schema/fields/DateTime.jsx +++ b/src/features/schema/fields/DateTime.jsx @@ -1,5 +1,6 @@ import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; +import dayjs from 'dayjs'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'; @@ -10,19 +11,19 @@ import { set, remove } from '../../config/configSlice' export default function DateTime({ field }) { - const [dateTime, setDateTime] = useState(new Date()); + const [dateTime, setDateTime] = useState(dayjs()); const config = useSelector(state => state.config); const dispatch = useDispatch(); useEffect(() => { if (field.id in config) { - setDateTime(new Date(config[field.id].value)); + setDateTime(dayjs(config[field.id].value)); } }, [config]); const onChange = (timestamp) => { if (!timestamp) { - setDateTime(new Date()); + setDateTime(dayjs()); dispatch(remove(field.id)); return; } From de72911b9ddb530e41d387baa006b2af52f064d9 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Wed, 26 Feb 2025 14:20:11 +0000 Subject: [PATCH 39/68] Remove the legacy UI --- server/browser/browser.go | 36 ------------ server/browser/preview.html | 107 ------------------------------------ 2 files changed, 143 deletions(-) delete mode 100644 server/browser/preview.html diff --git a/server/browser/browser.go b/server/browser/browser.go index 61973dfd47..7614e9237a 100644 --- a/server/browser/browser.go +++ b/server/browser/browser.go @@ -29,7 +29,6 @@ type Browser struct { watch bool fo *fanout.Fanout r *http.ServeMux - tmpl *template.Template loader *loader.Loader serveGif bool // True if serving GIF, false if serving WebP } @@ -40,9 +39,6 @@ var previewMask []byte //go:embed favicon.png var favicon []byte -//go:embed preview.html -var previewHTML string - // previewData is used to populate the HTML template. type previewData struct { Title string `json:"title"` @@ -58,11 +54,6 @@ type handlerRequest struct { // NewBrowser sets up a browser structure. Call Run() to kick off the main loops. func NewBrowser(addr string, servePath string, title string, watch bool, updateChan chan loader.Update, l *loader.Loader, serveGif bool) (*Browser, error) { - tmpl, err := template.New("preview").Parse(previewHTML) - if err != nil { - return nil, err - } - if !strings.HasPrefix(servePath, "/") { servePath = "/" + servePath } @@ -75,7 +66,6 @@ func NewBrowser(addr string, servePath string, title string, watch bool, updateC addr: addr, path: servePath, fo: fanout.NewFanout(), - tmpl: tmpl, title: title, loader: l, watch: watch, @@ -93,10 +83,6 @@ func NewBrowser(addr string, servePath string, title string, watch bool, updateC // at /static. r.Handle(fmt.Sprintf("GET %sstatic/", servePath), http.StripPrefix(servePath, http.FileServer(http.FS(dist.Static)))) - // In case we broke something or someone prefers the legacy editor, it is - // still available for now. This will be removed in the future once we - // have confirmed the new editor is stable. - r.HandleFunc(servePath+"legacy", b.oldRootHandler) r.HandleFunc(servePath+"ws", b.websocketHandler) r.HandleFunc(fmt.Sprintf("GET %sfavicon.png", servePath), b.faviconHandler) r.HandleFunc(fmt.Sprintf("GET %spreview-mask.png", servePath), b.previewMaskHandler) @@ -311,25 +297,3 @@ func (b *Browser) rootHandler(w http.ResponseWriter, r *http.Request) { http.Error(w, fmt.Sprintf("error executing template: %v", err), http.StatusInternalServerError) } } - -func (b *Browser) oldRootHandler(w http.ResponseWriter, r *http.Request) { - config := make(map[string]string) - for k, vals := range r.URL.Query() { - config[k] = vals[0] - } - - img, err := b.loader.LoadApplet(config) - - data := previewData{ - Title: b.title, - Watch: b.watch, - Image: img, - } - - if err != nil { - data.Err = err.Error() - } - - w.Header().Set("Content-Type", "text/html") - b.tmpl.Execute(w, data) -} diff --git a/server/browser/preview.html b/server/browser/preview.html deleted file mode 100644 index e427be0678..0000000000 --- a/server/browser/preview.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - {{ .Title }} - - - - - -
- -
-
-

{{ .Err }}

-
- - {{ if .Watch }} - - {{ end }} - - - \ No newline at end of file From 766cdaba7a4a048ed55c28ddb7e7b27db7dfc38e Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Wed, 26 Feb 2025 22:08:40 +0100 Subject: [PATCH 40/68] Update from React 17 to 19 While replacing the abandoned `material-ui-color` with `@uiw/react-color`, we lost the feature that exposes color palettes specified in the schema. --- package-lock.json | 2309 +++++++++-------- package.json | 38 +- src/features/appbar/AppBar.jsx | 2 +- src/features/errors/ErrorSnackbar.jsx | 2 +- src/features/preview/Preview.jsx | 2 +- src/features/schema/FieldIcon.jsx | 2 +- src/features/schema/fields/Color.jsx | 28 +- .../schema/fields/location/InputSlider.jsx | 8 +- .../schema/fields/photoselect/PhotoSelect.jsx | 2 +- .../fields/photoselect/RawPhotoSelect.jsx | 8 +- src/index.js | 6 +- webpack.dev.js | 30 +- webpack.prod.js | 35 +- 13 files changed, 1336 insertions(+), 1136 deletions(-) diff --git a/package-lock.json b/package-lock.json index 837bdd6798..7e81a4c8d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,37 +21,37 @@ "@mui/material": "^6.4.4", "@mui/styles": "^6.4.4", "@mui/x-date-pickers": "^7.26.0", - "@reduxjs/toolkit": "1.9.7", - "axios": "^1.7.4", - "axios-retry": "^3.5.0", - "copy-webpack-plugin": "^11.0.0", - "date-fns": "2.30.0", + "@reduxjs/toolkit": "2.6.0", + "@uiw/react-color": "^2.4.0", + "axios": "^1.8.1", + "axios-retry": "^4.5.0", + "copy-webpack-plugin": "^12.0.2", + "date-fns": "4.1.0", "dayjs": "^1.11.10", - "material-ui-color": "^1.2.0", "notistack": "^3.0.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-easy-crop": "^4.7.4", - "react-redux": "^8.1.3", - "react-router": "^6.23.0", - "react-router-dom": "^6.23.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-easy-crop": "^5.4.1", + "react-redux": "^9.2.0", + "react-router": "^7.2.0", + "react-router-dom": "^7.2.0", "react-simple-oauth2-login": "^0.5.4" }, "devDependencies": { "@babel/core": "^7.24.4", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-react": "^7.24.1", - "@svgr/webpack": "^6.5.1", + "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", "babel-preset-react": "^6.24.1", - "css-loader": "^6.11.0", + "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", - "style-loader": "^3.3.4", + "style-loader": "^4.0.0", "webpack": "^5.94.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.2", - "webpack-merge": "^5.10.0" + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.0", + "webpack-merge": "^6.0.1" } }, "node_modules/@ampproject/remapping": { @@ -1752,13 +1752,13 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=14.17.0" } }, "node_modules/@emotion/babel-plugin": { @@ -2041,184 +2041,74 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", "dev": true, - "license": "MIT" - }, - "node_modules/@material-ui/core": { - "version": "4.12.4", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", - "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "2" } }, - "node_modules/@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "peer": true, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.1.tgz", + "integrity": "sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "2" } }, - "node_modules/@material-ui/styles/node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "license": "MIT", - "peer": true - }, - "node_modules/@material-ui/styles/node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT", - "peer": true - }, - "node_modules/@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - }, + "node_modules/@jsonjoy.com/util": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", + "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/system/node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT", - "peer": true - }, - "node_modules/@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "license": "MIT", - "peer": true, "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "2" } }, - "node_modules/@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - } + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" }, "node_modules/@mui/core-downloads-tracker": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.5.tgz", - "integrity": "sha512-zoXvHU1YuoodgMlPS+epP084Pqv9V+Vg+5IGv9n/7IIFVQ2nkTngYHYxElCq8pdTTbDcgji+nNh0lxri2abWgA==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.6.tgz", + "integrity": "sha512-rho5Q4IscbrVmK9rCrLTJmjLjfH6m/NcqKr/mchvck0EIXlyYUB9+Z0oVmkt/+Mben43LMRYBH8q/Uzxj/c4Vw==", "license": "MIT", "funding": { "type": "opencollective", @@ -2226,9 +2116,9 @@ } }, "node_modules/@mui/icons-material": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.5.tgz", - "integrity": "sha512-4A//t8Nrc+4u4pbVhGarIFU98zpuB5AV9hTNzgXx1ySZJ1tWtx+i/1SbQ8PtGJxWeXlljhwimZJNPQ3x0CiIFw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.6.tgz", + "integrity": "sha512-rGJBvIQQbQAlyKYljHQ8wAQS/K2/uYwvemcpygnAmCizmCI4zSF9HQPuiG8Ql4YLZ6V/uKjA3WHIYmF/8sV+pQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0" @@ -2241,7 +2131,7 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^6.4.5", + "@mui/material": "^6.4.6", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, @@ -2252,16 +2142,16 @@ } }, "node_modules/@mui/material": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.5.tgz", - "integrity": "sha512-5eyEgSXocIeV1JkXs8mYyJXU0aFyXZIWI5kq2g/mCnIgJe594lkOBNAKnCIaGVfQTu2T6TTEHF8/hHIqpiIRGA==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.6.tgz", + "integrity": "sha512-6UyAju+DBOdMogfYmLiT3Nu7RgliorimNBny1pN/acOjc+THNFVE7hlxLyn3RDONoZJNDi/8vO4AQQr6dLAXqA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/core-downloads-tracker": "^6.4.5", - "@mui/system": "^6.4.3", + "@mui/core-downloads-tracker": "^6.4.6", + "@mui/system": "^6.4.6", "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.12", "clsx": "^2.1.1", @@ -2280,7 +2170,7 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@mui/material-pigment-css": "^6.4.3", + "@mui/material-pigment-css": "^6.4.6", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" @@ -2300,29 +2190,14 @@ } } }, - "node_modules/@mui/material/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@mui/material/node_modules/react-is": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", - "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", - "license": "MIT" - }, "node_modules/@mui/private-theming": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.3.tgz", - "integrity": "sha512-7x9HaNwDCeoERc4BoEWLieuzKzXu5ZrhRnEM6AUcRXUScQLvF1NFkTlP59+IJfTbEMgcGg1wWHApyoqcksrBpQ==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.6.tgz", + "integrity": "sha512-T5FxdPzCELuOrhpA2g4Pi6241HAxRwZudzAuL9vBvniuB5YU82HCmrARw32AuCiyTfWzbrYGGpZ4zyeqqp9RvQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "prop-types": "^15.8.1" }, "engines": { @@ -2343,9 +2218,9 @@ } }, "node_modules/@mui/styled-engine": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.3.tgz", - "integrity": "sha512-OC402VfK+ra2+f12Gef8maY7Y9n7B6CZcoQ9u7mIkh/7PKwW/xH81xwX+yW+Ak1zBT3HYcVjh2X82k5cKMFGoQ==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.6.tgz", + "integrity": "sha512-vSWYc9ZLX46be5gP+FCzWVn5rvDr4cXC5JBZwSIkYk9xbC7GeV+0kCvB8Q6XLFQJy+a62bbqtmdwS4Ghi9NBlQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", @@ -2377,16 +2252,16 @@ } }, "node_modules/@mui/styles": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.5.tgz", - "integrity": "sha512-F3cztqs/oeFC4FcdbIccBBeABLfcqD7ejQLf2Lh3YkJJ6dMKbyw8LUcV6p+D6ggQuOqKXnJbfg0F4BaEPMe1xw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.6.tgz", + "integrity": "sha512-mz5qEJbyV9aRyBUhy2wJ2gJBzU6/yrEPUgaWs53PUrDLk9fFcTXWiZKJy7vZUBdgCNL6thbqW2B1ms98lSeWFA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", "@emotion/hash": "^0.9.2", - "@mui/private-theming": "^6.4.3", + "@mui/private-theming": "^6.4.6", "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "clsx": "^2.1.1", "csstype": "^3.1.3", "hoist-non-react-statics": "^3.3.2", @@ -2417,26 +2292,17 @@ } } }, - "node_modules/@mui/styles/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/system": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.4.3.tgz", - "integrity": "sha512-Q0iDwnH3+xoxQ0pqVbt8hFdzhq1g2XzzR4Y5pVcICTNtoCLJmpJS3vI4y/OIM1FHFmpfmiEC2IRIq7YcZ8nsmg==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.4.6.tgz", + "integrity": "sha512-FQjWwPec7pMTtB/jw5f9eyLynKFZ6/Ej9vhm5kGdtmts1z5b7Vyn3Rz6kasfYm1j2TfrfGnSXRvvtwVWxjpz6g==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/private-theming": "^6.4.3", - "@mui/styled-engine": "^6.4.3", + "@mui/private-theming": "^6.4.6", + "@mui/styled-engine": "^6.4.6", "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "clsx": "^2.1.1", "csstype": "^3.1.3", "prop-types": "^15.8.1" @@ -2466,15 +2332,6 @@ } } }, - "node_modules/@mui/system/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/types": { "version": "7.2.21", "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.21.tgz", @@ -2490,9 +2347,9 @@ } }, "node_modules/@mui/utils": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.4.3.tgz", - "integrity": "sha512-jxHRHh3BqVXE9ABxDm+Tc3wlBooYz/4XPa0+4AI+iF38rV1/+btJmSUgG4shDtSWVs/I97aDn5jBCt6SF2Uq2A==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.4.6.tgz", + "integrity": "sha512-43nZeE1pJF2anGafNydUcYFPtHwAqiBiauRtaMvurdrZI3YrUjHkAu43RBsxef7OFtJMXGiHFvq43kb7lig0sA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", @@ -2519,25 +2376,10 @@ } } }, - "node_modules/@mui/utils/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@mui/utils/node_modules/react-is": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", - "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", - "license": "MIT" - }, "node_modules/@mui/x-date-pickers": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.27.0.tgz", - "integrity": "sha512-wSx8JGk4WQ2hTObfQITc+zlmUKNleQYoH1hGocaQlpWpo1HhauDtcQfX6sDN0J0dPT2eeyxDWGj4uJmiSfQKcw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.27.1.tgz", + "integrity": "sha512-2YPhTM9TM39dmIkEQdSB6P6NASePB9LuhXXKQqq0PX4FXGymYEPz/acQXkk617zwfxJJaDhJZ6g8SAv5pklTJQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", @@ -2600,15 +2442,6 @@ } } }, - "node_modules/@mui/x-date-pickers/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/x-internals": { "version": "7.26.0", "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.26.0.tgz", @@ -2675,19 +2508,19 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", - "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.6.0.tgz", + "integrity": "sha512-mWJCYpewLRyTuuzRSEC/IwIBBkYg2dKtQas8mty5MaV2iXzcmicS3gW554FDeOvLnY3x13NIk8MB1e8wHO7rqQ==", "license": "MIT", "dependencies": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" }, "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", - "react-redux": "^7.2.1 || ^8.0.2" + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "peerDependenciesMeta": { "react": { @@ -2698,23 +2531,26 @@ } } }, - "node_modules/@remix-run/router": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.22.0.tgz", - "integrity": "sha512-MBOl8MeOzpK0HQQQshKB7pABXbmyHizdTpqnrIseTbsv0nAepwC2ENZa1aaBExNQcpLoXmWthhak8SABLzvGPw==", + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2759,13 +2595,13 @@ } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2776,13 +2612,13 @@ } }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2793,13 +2629,13 @@ } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2810,13 +2646,13 @@ } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2827,9 +2663,9 @@ } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "dev": true, "license": "MIT", "engines": { @@ -2844,23 +2680,23 @@ } }, "node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dev": true, "license": "MIT", "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2871,20 +2707,20 @@ } }, "node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2892,17 +2728,17 @@ } }, "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.21.3", "entities": "^4.4.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2910,41 +2746,41 @@ } }, "node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", "svg-parser": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@svgr/core": "^6.0.0" + "@svgr/core": "*" } }, "node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", "dev": true, "license": "MIT", "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2955,23 +2791,23 @@ } }, "node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3030,6 +2866,12 @@ "@types/node": "*" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, "node_modules/@types/eslint": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", @@ -3095,16 +2937,6 @@ "@types/send": "*" } }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", - "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", - "license": "MIT", - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -3188,13 +3020,12 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.83", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.83.tgz", - "integrity": "sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw==", + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", + "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", "license": "MIT", + "peer": true, "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, @@ -3208,18 +3039,12 @@ } }, "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true, "license": "MIT" }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "license": "MIT" - }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -3264,9 +3089,9 @@ } }, "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", "license": "MIT" }, "node_modules/@types/ws": { @@ -3279,6 +3104,420 @@ "@types/node": "*" } }, + "node_modules/@uiw/color-convert": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/color-convert/-/color-convert-2.4.0.tgz", + "integrity": "sha512-IFXAIe65Vm8czMyzd3/L+LRyYdF5PO5tQqwwojMtf9mChuzbI5tLMj2rjfcAwVaAi5+rQ6t82eyXQ2GZUfoeaA==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0" + } + }, + "node_modules/@uiw/react-color": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color/-/react-color-2.4.0.tgz", + "integrity": "sha512-JmfuWIXlH2rqV/W1DgO/4llISgtuhNnpwSgBcb3NZpUGf7+1uvtXVyW8fZsZozIoTHVwh84diM6WGlz8PZ+QcA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-block": "2.4.0", + "@uiw/react-color-chrome": "2.4.0", + "@uiw/react-color-circle": "2.4.0", + "@uiw/react-color-colorful": "2.4.0", + "@uiw/react-color-compact": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-hsla": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-github": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-material": "2.4.0", + "@uiw/react-color-name": "2.4.0", + "@uiw/react-color-saturation": "2.4.0", + "@uiw/react-color-shade-slider": "2.4.0", + "@uiw/react-color-sketch": "2.4.0", + "@uiw/react-color-slider": "2.4.0", + "@uiw/react-color-swatch": "2.4.0", + "@uiw/react-color-wheel": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-alpha": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-alpha/-/react-color-alpha-2.4.0.tgz", + "integrity": "sha512-IQuVmn5AVIJmN1FloqgTpaJLWnb5z5OEJvY+9pynK6aVzUtw/4+v9GydJgFVp4aM5eaSjlbFBnhV57c9d1D75Q==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-drag-event-interactive": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-block": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-block/-/react-color-block-2.4.0.tgz", + "integrity": "sha512-dkM7TLP+67bPK49HzYe/gA54A/uDp31WkpyjY+lwi+OiLANWhKhSk39lw3NhuhR0TwlHSKsSIPbvyS2OIKdreg==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-chrome": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-chrome/-/react-color-chrome-2.4.0.tgz", + "integrity": "sha512-/sv3f1rJhyKdpZ9iE2Mn1swiLBrVHz8OI4TqqscSPfXvMNUt4xZ7YdXVQd4jFQUIsHEvrzdBTCZgejSf8q5Vww==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-hsla": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-github": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-saturation": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-circle": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-circle/-/react-color-circle-2.4.0.tgz", + "integrity": "sha512-92jHKpk98RHKxsPCgs57KEGWAxeAmzZzmTrvwTTc3Yq1VYpeQ9Cykh5gyUraMRj3zdkR7gMvaZFUmoOrYaHFAA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-colorful": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-colorful/-/react-color-colorful-2.4.0.tgz", + "integrity": "sha512-NNwin2pfPmcXga/3r7ZD3ludBp8eMrtfyCkzl+jTCv8SwVtnvHzZyUWgAbtXI/4f1zPLeriovEyNX6SCM0+rEQ==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-saturation": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-compact": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-compact/-/react-color-compact-2.4.0.tgz", + "integrity": "sha512-shWHMxE1EtB+AV3YzyW3cOhKCZqExGv6ta8G0Uw2BR+qHIdQ61eqRhVMQBO+rW7NwRR1tMfVHEf6Mb17RetIMg==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-editable-input": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-editable-input/-/react-color-editable-input-2.4.0.tgz", + "integrity": "sha512-+UtJF3dSjZ4qGjFilvJ4Sg2VghGrIFwf8xk6mlyrsup7c1iO/H/dSPy42qkNx0QYiRPuva5uaB8H1/8OkgNSfg==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-editable-input-hsla": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-editable-input-hsla/-/react-color-editable-input-hsla-2.4.0.tgz", + "integrity": "sha512-+BjAmAQn/B2CjQ7t+iur39S+UeNxQDDttUl3+hY3d98O4ZoCXShblqNgPARlqri2wEIK49Gx649ZXjWBW+sS7w==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-editable-input-rgba": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-editable-input-rgba/-/react-color-editable-input-rgba-2.4.0.tgz", + "integrity": "sha512-FOoW50uevWt7RM/8AUXFIKpMG1AM48kNCvtRrN1yqx0aZYvkloHsQ+WW/So0tFKjj51fOii8dsGiviqHqdiVlQ==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-github": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-github/-/react-color-github-2.4.0.tgz", + "integrity": "sha512-a+yXxIQ6rq0GSqq/VFlV9uzZcaRV8Du0Bn4sVeVvRswkMVdCvXN4PF37ZBClhSZFpnmu8hpt9XHGu9zUSZl/6Q==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-hue": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-hue/-/react-color-hue-2.4.0.tgz", + "integrity": "sha512-hMBET3eMrxywXwaRPMrgmxoPsqdpgJh0uvYAUKXfwMnppqLfxaiH+p/Ofh1ZVAz9C4bCMqMvrs3xvdp171GHNQ==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-material": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-material/-/react-color-material-2.4.0.tgz", + "integrity": "sha512-GXlgQVHiTZDY2pLnmXgiTrzUK2QdW+evqBX5soIBhCP9+GvDSUUy4SjXuCKYAjB2ZewSyJsgvkiQjAadiXu4QA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-name": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-name/-/react-color-name-2.4.0.tgz", + "integrity": "sha512-gCF/3LYVkh5fbUI/2hNhGfqVsEornw2mDLDL1aSmjakKZmS10UL8CvYeqv4HBCwWelH3IL3/qIngmltRtn88aQ==", + "license": "MIT", + "dependencies": { + "colors-named": "^1.0.1", + "colors-named-hex": "^1.0.1" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0" + } + }, + "node_modules/@uiw/react-color-saturation": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-saturation/-/react-color-saturation-2.4.0.tgz", + "integrity": "sha512-DmY38yXTmp4SOyj31soBgaB/TLH49Y17Tg2IeFDSUi4VkpSQy99qcuaO3PUzIhcCDctCkH8AAfmvs7WjotBGFw==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-drag-event-interactive": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-shade-slider": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-shade-slider/-/react-color-shade-slider-2.4.0.tgz", + "integrity": "sha512-nOec78w+e5h3W/gZs8zvCe+pUyYhmVaO/8KQKWcDYUgeGWJfOkZ2s8hpL+4WpB81vZPorrdcVLm4dEO/3e7rGw==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-sketch": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-sketch/-/react-color-sketch-2.4.0.tgz", + "integrity": "sha512-S+qEqj/SHWYY28fp/rNO0+n4r9pG2rwGIy02OjaPFPVYOlKxlPyoDz5BgGJ7PkGiwTsgGHPtMnlE7kuyZP1Fng==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-saturation": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-slider": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-slider/-/react-color-slider-2.4.0.tgz", + "integrity": "sha512-zecJM3pI2OxeDjqY+VT/gDK7ckjseKTIr8YjRHlSGgEJwWp9/KJSip/171qXEYGKZJbZZV33jmW/OQmJmjKPuA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-swatch": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-swatch/-/react-color-swatch-2.4.0.tgz", + "integrity": "sha512-vq1TbS7grxFn1sHHh1vF3ulY+S9P9vrmFcxjSzbaYo8r+XQsGztTIQiLkNx3ZHA3z3cafbqPi95Ynz6NbimOWA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-wheel": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-wheel/-/react-color-wheel-2.4.0.tgz", + "integrity": "sha512-63FVRg4ON/8TP9uDHjER10IQpXnsk+jXjnE1/zwbyMrEcokrTykgFLgXIvwtQ2E042wR0q1tQj3hjikaMneaYA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-drag-event-interactive": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-drag-event-interactive": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-drag-event-interactive/-/react-drag-event-interactive-2.4.0.tgz", + "integrity": "sha512-xRr1s5kpBG9sk35jWlTx0bpBXMNXUGcd/dWu2V4+JHmLbmU6CoUnlLSw5ygg1ob7fjx0p5u/U4dQpgs3VakOWg==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -3426,45 +3665,45 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" } }, "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" } }, "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" }, "peerDependenciesMeta": { "webpack-dev-server": { @@ -3602,6 +3841,13 @@ "node": ">= 8" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -3616,9 +3862,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz", + "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -3627,13 +3873,15 @@ } }, "node_modules/axios-retry": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.9.1.tgz", - "integrity": "sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.15.4", "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" } }, "node_modules/babel-helper-builder-react-jsx": { @@ -3681,6 +3929,22 @@ "npm": ">=6" } }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.12", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", @@ -3848,13 +4112,6 @@ "to-fast-properties": "^1.0.3" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -3945,17 +4202,6 @@ "dev": true, "license": "ISC" }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -4006,6 +4252,22 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -4080,9 +4342,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001700", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", - "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", + "version": "1.0.30001701", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz", + "integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==", "funding": [ { "type": "opencollective", @@ -4146,13 +4408,6 @@ "node": ">=6.0" } }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", - "license": "MIT", - "peer": true - }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -4192,9 +4447,9 @@ } }, "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "license": "MIT", "engines": { "node": ">=6" @@ -4207,6 +4462,30 @@ "dev": true, "license": "MIT" }, + "node_modules/colors-named": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/colors-named/-/colors-named-1.0.2.tgz", + "integrity": "sha512-2ANq2r393PV9njYUD66UdfBcxR1slMqRA3QRTWgCx49JoCJ+kOhyfbQYxKJbPZQIhZUcNjVOs5AlyY1WwXec3w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/colors-named-hex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/colors-named-hex/-/colors-named-hex-1.0.2.tgz", + "integrity": "sha512-k6kq1e1pUCQvSVwIaGFq2l0LrkAPQZWyeuZn1Z8nOiYSEZiKoFj4qx690h2Kd34DFl9Me0gKS6MUwAMBJj8nuA==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4285,13 +4564,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -4333,13 +4605,12 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=18" } }, "node_modules/cookie-signature": { @@ -4350,20 +4621,20 @@ "license": "MIT" }, "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", "license": "MIT", "dependencies": { - "fast-glob": "^3.2.11", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^13.1.1", + "globby": "^14.0.0", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -4404,19 +4675,30 @@ "license": "MIT" }, "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/cross-spawn": { @@ -4435,9 +4717,9 @@ } }, "node_modules/css-loader": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", "dev": true, "license": "MIT", "dependencies": { @@ -4451,7 +4733,7 @@ "semver": "^7.5.4" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -4459,7 +4741,7 @@ }, "peerDependencies": { "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" + "webpack": "^5.27.0" }, "peerDependenciesMeta": { "@rspack/core": { @@ -4501,27 +4783,17 @@ } }, "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, "node_modules/css-vendor": { @@ -4561,18 +4833,41 @@ } }, "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -4580,19 +4875,13 @@ "license": "MIT" }, "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" } }, "node_modules/dayjs": { @@ -4628,27 +4917,47 @@ "node": ">=0.10.0" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "execa": "^5.0.0" + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" }, "engines": { - "node": ">= 10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delayed-stream": { @@ -4688,18 +4997,6 @@ "dev": true, "license": "MIT" }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -4835,9 +5132,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.103", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.103.tgz", - "integrity": "sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==", + "version": "1.5.105", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.105.tgz", + "integrity": "sha512-ccp7LocdXx3yBhwiG0qTQ7XFrK48Ua2pxIxBdJO8cbddp/MvbBtPFzvnTchtyHQTsgqqczO8cdmAIbpMa0u2+g==", "license": "ISC" }, "node_modules/emojis-list": { @@ -5066,30 +5363,6 @@ "node": ">=0.8.x" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/express": { "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", @@ -5137,6 +5410,16 @@ "url": "https://opencollective.com/express" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -5222,9 +5505,9 @@ } }, "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -5470,20 +5753,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-monkey": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "dev": true, - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -5555,41 +5824,6 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -5618,19 +5852,32 @@ } }, "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "license": "MIT", "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5789,23 +6036,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -5962,14 +6192,14 @@ } } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=10.17.0" + "node": ">=10.18" } }, "node_modules/hyphenate-style-name": { @@ -6005,18 +6235,18 @@ } }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", + "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", "license": "MIT", "funding": { "type": "opencollective", @@ -6138,18 +6368,6 @@ "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -6212,16 +6430,16 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6254,6 +6472,38 @@ "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", "license": "MIT" }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6301,30 +6551,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isarray": { @@ -6371,6 +6611,19 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -6598,62 +6851,17 @@ "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/material-ui-color": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/material-ui-color/-/material-ui-color-1.2.0.tgz", - "integrity": "sha512-bD2Rww+hakJxD2/19uxc280Vh292DnRStLke2LDFavVtGd5fzOz09zIrHO3ZHlMkJFsvwx6IwiB4/932ftv0sQ==", - "license": "MIT", - "peerDependencies": { - "@material-ui/core": "^4.9.5", - "material-ui-popup-state": "^1.5.3", - "prop-types": "^15.7.2", - "react": "^16.0.0 || ^17.0.0", - "react-dom": "^16.0.0 || ^17.0.0" - } - }, - "node_modules/material-ui-popup-state": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-1.9.3.tgz", - "integrity": "sha512-+Ete5Tzw5rXlYfmqptOS8kBUH8vnK5OJsd6IQ7SHtLjU0PsvsmM73M/k8ot0xkX4RmPGuNRsFbK3mlCe/ClQuw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@material-ui/types": "^6.0.1", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0 || ^5.0.0-beta", - "react": "^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/material-ui-popup-state/node_modules/@material-ui/types": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-6.0.2.tgz", - "integrity": "sha512-/XUca4wUb9pWimLLdM1PE8KS8rTbDEGohSGkGtk3WST7lm23m+8RYv9uOmrvOg/VSsl4bMiOv4t2/LCb+RLbTg==", - "license": "MIT", - "peer": true, - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" } }, "node_modules/math-intrinsics": { @@ -6666,9 +6874,9 @@ } }, "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true, "license": "CC0-1.0" }, @@ -6683,16 +6891,23 @@ } }, "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", + "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", "dev": true, - "license": "Unlicense", + "license": "Apache-2.0", "dependencies": { - "fs-monkey": "^1.0.4" + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" }, "engines": { "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" } }, "node_modules/merge-descriptors": { @@ -6777,16 +6992,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -6794,19 +6999,6 @@ "dev": true, "license": "ISC" }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -6926,17 +7118,13 @@ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, + "node_modules/notistack/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, "node_modules/nth-check": { @@ -7004,45 +7192,20 @@ "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", "dev": true, "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7081,17 +7244,21 @@ } }, "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/retry": "0.12.0", + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", "retry": "^0.13.1" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { @@ -7176,16 +7343,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -7252,13 +7409,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", - "license": "MIT", - "peer": true - }, "node_modules/postcss": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", @@ -7519,134 +7669,107 @@ } }, "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.25.0" }, "peerDependencies": { - "react": "17.0.2" + "react": "^19.0.0" } }, "node_modules/react-easy-crop": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-4.7.5.tgz", - "integrity": "sha512-qKfI4PuhaH1jOLC3DQfQB0cE0z+3N7bfyPkPejQmylXNb8nstfPMH+oHj3gKgpBHLFUiQp/C1rY7sVCVgtjn3Q==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-5.4.1.tgz", + "integrity": "sha512-Djtsi7bWO75vkKYkVxNRrJWY69pXLahIAkUN0mmt9cXNnaq2tpG59ctSY6P7ipJgBc7COJDRMRuwb2lYwtACNQ==", "license": "MIT", "dependencies": { "normalize-wheel": "^1.0.1", - "tslib": "2.0.1" + "tslib": "^2.0.1" }, "peerDependencies": { "react": ">=16.4.0", "react-dom": ">=16.4.0" } }, - "node_modules/react-easy-crop/node_modules/tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", - "license": "0BSD" - }, "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT", - "peer": true + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", + "license": "MIT" }, "node_modules/react-redux": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", - "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/use-sync-external-store": "^0.0.3", - "hoist-non-react-statics": "^3.3.2", - "react-is": "^18.0.0", - "use-sync-external-store": "^1.0.0" + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" }, "peerDependencies": { - "@types/react": "^16.8 || ^17.0 || ^18.0", - "@types/react-dom": "^16.8 || ^17.0 || ^18.0", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0", - "react-native": ">=0.59", - "redux": "^4 || ^5.0.0-beta.0" + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" }, "peerDependenciesMeta": { "@types/react": { "optional": true }, - "@types/react-dom": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - }, "redux": { "optional": true } } }, - "node_modules/react-redux/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" - }, "node_modules/react-router": { - "version": "6.29.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.29.0.tgz", - "integrity": "sha512-DXZJoE0q+KyeVw75Ck6GkPxFak63C4fGqZGNijnWgzB/HzSP1ZfTlBj5COaGWwhrMQ/R8bXiq5Ooy4KG+ReyjQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.2.0.tgz", + "integrity": "sha512-fXyqzPgCPZbqhrk7k3hPcCpYIlQ2ugIXDboHUzhJISFVy2DEPsmHgN588MyGmkIOv3jDgNfUE3kJi83L28s/LQ==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.22.0" + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "react": ">=16.8" + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } } }, "node_modules/react-router-dom": { - "version": "6.29.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.29.0.tgz", - "integrity": "sha512-pkEbJPATRJ2iotK+wUwHfy0xs2T59YPEN8BQxVCPeBZvK7kfPESRc/nyxzdcxR17hXgUPYx2whMwl+eo9cUdnQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.2.0.tgz", + "integrity": "sha512-cU7lTxETGtQRQbafJubvZKHEn5izNABxZhBY0Jlzdv0gqQhCPQt2J8aN5ZPjS6mQOXn5NnirWNh+FpE8TTYN0Q==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.22.0", - "react-router": "6.29.0" + "react-router": "7.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "react": ">=18", + "react-dom": ">=18" } }, "node_modules/react-simple-oauth2-login": { @@ -7717,21 +7840,18 @@ } }, "node_modules/redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.9.2" - } + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" }, "node_modules/redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", "license": "MIT", "peerDependencies": { - "redux": "^4" + "redux": "^5.0.0" } }, "node_modules/regenerate": { @@ -7862,9 +7982,9 @@ "license": "MIT" }, "node_modules/reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", "license": "MIT" }, "node_modules/resolve": { @@ -7930,30 +8050,26 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/run-parallel": { @@ -8007,14 +8123,10 @@ "license": "MIT" }, "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" }, "node_modules/schema-utils": { "version": "4.3.0", @@ -8229,6 +8341,12 @@ "node": ">= 0.8.0" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -8361,25 +8479,29 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -8462,14 +8584,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true, - "license": "MIT" - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -8503,31 +8617,21 @@ "node": ">=8" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^5.27.0" } }, "node_modules/stylis": { @@ -8571,25 +8675,29 @@ "license": "MIT" }, "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" }, "bin": { "svgo": "bin/svgo" }, "engines": { - "node": ">=10.13.0" + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, "node_modules/svgo/node_modules/commander": { @@ -8602,6 +8710,69 @@ "node": ">= 10" } }, + "node_modules/svgo/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -8669,6 +8840,19 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "license": "MIT" }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -8714,13 +8898,35 @@ "node": ">=0.6" } }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, "license": "0BSD" }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -8785,6 +8991,18 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8796,9 +9014,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "funding": [ { "type": "opencollective", @@ -8958,43 +9176,40 @@ } }, "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", + "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", "dev": true, "license": "MIT", "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", + "@discoveryjs/json-ext": "^0.6.1", + "@webpack-cli/configtest": "^3.0.1", + "@webpack-cli/info": "^3.0.1", + "@webpack-cli/serve": "^3.0.1", "colorette": "^2.0.14", - "commander": "^10.0.1", + "commander": "^12.1.0", "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", + "envinfo": "^7.14.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^3.1.1", "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" + "webpack-merge": "^6.0.1" }, "bin": { "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "5.x.x" + "webpack": "^5.82.0" }, "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, "webpack-bundle-analyzer": { "optional": true }, @@ -9004,89 +9219,92 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", "dev": true, "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.3", + "memfs": "^4.6.0", "mime-types": "^2.1.31", + "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz", + "integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==", "dev": true, "license": "MIT", "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "express": "^4.21.2", "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", + "http-proxy-middleware": "^2.0.7", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { "webpack": { @@ -9098,18 +9316,18 @@ } }, "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", "dev": true, "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", - "wildcard": "^2.0.0" + "wildcard": "^2.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, "node_modules/webpack-sources": { @@ -9169,13 +9387,6 @@ "dev": true, "license": "MIT" }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, "node_modules/ws": { "version": "8.18.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", diff --git a/package.json b/package.json index 449fdcce28..f68fb8eb6c 100644 --- a/package.json +++ b/package.json @@ -28,17 +28,17 @@ "@babel/core": "^7.24.4", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-react": "^7.24.1", - "@svgr/webpack": "^6.5.1", + "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", "babel-preset-react": "^6.24.1", - "css-loader": "^6.11.0", + "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", - "style-loader": "^3.3.4", + "style-loader": "^4.0.0", "webpack": "^5.94.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.2", - "webpack-merge": "^5.10.0" + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.0", + "webpack-merge": "^6.0.1" }, "dependencies": { "@emotion/react": "^11.11.4", @@ -53,20 +53,20 @@ "@mui/material": "^6.4.4", "@mui/styles": "^6.4.4", "@mui/x-date-pickers": "^7.26.0", - "@reduxjs/toolkit": "1.9.7", - "axios": "^1.7.4", - "axios-retry": "^3.5.0", - "copy-webpack-plugin": "^11.0.0", - "date-fns": "2.30.0", + "@reduxjs/toolkit": "2.6.0", + "@uiw/react-color": "^2.4.0", + "axios": "^1.8.1", + "axios-retry": "^4.5.0", + "copy-webpack-plugin": "^12.0.2", + "date-fns": "4.1.0", "dayjs": "^1.11.10", - "material-ui-color": "^1.2.0", - "notistack": "^3.0.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-easy-crop": "^4.7.4", - "react-redux": "^8.1.3", - "react-router": "^6.23.0", - "react-router-dom": "^6.23.0", + "notistack": "^3.0.2", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-easy-crop": "^5.4.1", + "react-redux": "^9.2.0", + "react-router": "^7.2.0", + "react-router-dom": "^7.2.0", "react-simple-oauth2-login": "^0.5.4" } } diff --git a/src/features/appbar/AppBar.jsx b/src/features/appbar/AppBar.jsx index 50ba7e4d18..5295aeed82 100644 --- a/src/features/appbar/AppBar.jsx +++ b/src/features/appbar/AppBar.jsx @@ -4,7 +4,7 @@ import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import Logo from './logo.svg'; -import styles from './styles.css'; +import * as styles from './styles.css'; import { solarized } from '../theme/colors'; diff --git a/src/features/errors/ErrorSnackbar.jsx b/src/features/errors/ErrorSnackbar.jsx index 2045e3eaf9..6e7818b897 100644 --- a/src/features/errors/ErrorSnackbar.jsx +++ b/src/features/errors/ErrorSnackbar.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { SnackbarProvider } from 'notistack'; -import styles from './styles.css'; +import * as styles from './styles.css'; export default function ErrorSnackbar(props) { const notistackRef = React.createRef(); diff --git a/src/features/preview/Preview.jsx b/src/features/preview/Preview.jsx index 7b83798b7b..9e07e96a04 100644 --- a/src/features/preview/Preview.jsx +++ b/src/features/preview/Preview.jsx @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux'; import { Paper } from '@mui/material'; -import styles from './styles.css'; +import * as styles from './styles.css'; const loading = `UklGRu4KAABXRUJQVlA4WAoAAAASAAAAPwAAHwAAQU5JTQYAAAD/////AABBTk1GYgAAAAAAAAAA AD8AAB8AADIAAAJWUDhMSQAAAC8/wAcAR6CgbRuml0g1/igHQkHaBmxo18iYgrQN2NCukbH5TwDb diff --git a/src/features/schema/FieldIcon.jsx b/src/features/schema/FieldIcon.jsx index 06d45ae94e..285daa4fa2 100644 --- a/src/features/schema/FieldIcon.jsx +++ b/src/features/schema/FieldIcon.jsx @@ -4,7 +4,7 @@ import { findIconDefinition } from '@fortawesome/fontawesome-svg-core'; import Icon from '@mui/material/Icon'; -import styles from './styles.css'; +import * as styles from './styles.css'; export default function FieldIcon(props) { diff --git a/src/features/schema/fields/Color.jsx b/src/features/schema/fields/Color.jsx index ef3acc5fd9..651fa12b75 100644 --- a/src/features/schema/fields/Color.jsx +++ b/src/features/schema/fields/Color.jsx @@ -1,44 +1,42 @@ import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; -import { ColorPicker, createColor } from "material-ui-color"; +import { Sketch } from '@uiw/react-color'; import { set } from '../../config/configSlice'; export default function Color({ field }) { - const [color, setColor] = useState(createColor(field.default)); - const [palette, setPalette] = useState(field.palette); + const [color, setColor] = useState(field.default || '#000'); + // TODO: expose the color palette specified in the schema. const config = useSelector(state => state.config); const dispatch = useDispatch(); - // TODO: figure out how to update the palette when schema changes without - // a refresh. useEffect(() => { if (field.id in config) { - setColor(createColor(config[field.id].value)); + setColor(config[field.id].value); } else if (field.default) { dispatch(set({ id: field.id, value: field.default, })); } - }, [config]) + }, [config]); - const onChange = (value) => { - setColor(value); + const onChange = (color) => { + setColor(color.hex); // Skip updates that contain an error. - if (value.hasOwnProperty("error")) { + if (color.hasOwnProperty("error")) { return; } dispatch(set({ id: field.id, - value: "#" + value.hex, + value: color.hex, })); - } + }; return ( - - ) -} \ No newline at end of file + + ); +} diff --git a/src/features/schema/fields/location/InputSlider.jsx b/src/features/schema/fields/location/InputSlider.jsx index 884997567e..cfff1f7bbf 100644 --- a/src/features/schema/fields/location/InputSlider.jsx +++ b/src/features/schema/fields/location/InputSlider.jsx @@ -12,7 +12,7 @@ const Input = styled(MuiInput)` width: 80px; `; -export default function InputSlider({ min, max, step, defaultValue, onChange}) { +export default function InputSlider({ min, max, step, defaultValue, onChange }) { const [value, setValue] = useState(defaultValue); const handleSliderChange = (event, newValue) => { @@ -65,9 +65,9 @@ export default function InputSlider({ min, max, step, defaultValue, onChange}) { onChange={handleInputChange} onBlur={handleBlur} inputProps={{ - step: {step}, - min: {min}, - max: {max}, + step: { step }, + min: { min }, + max: { max }, type: 'number', 'aria-labelledby': 'input-slider', }} diff --git a/src/features/schema/fields/photoselect/PhotoSelect.jsx b/src/features/schema/fields/photoselect/PhotoSelect.jsx index da70c7394f..3be9d97be9 100644 --- a/src/features/schema/fields/photoselect/PhotoSelect.jsx +++ b/src/features/schema/fields/photoselect/PhotoSelect.jsx @@ -12,7 +12,7 @@ import Box from '@mui/material/Box'; import { set, remove } from '../../../config/configSlice'; import getCroppedImg from './cropImage'; -import styles from './styles.css'; +import * as styles from './styles.css'; export default function PhotoSelect({ field }) { diff --git a/src/features/schema/fields/photoselect/RawPhotoSelect.jsx b/src/features/schema/fields/photoselect/RawPhotoSelect.jsx index fa7d344ff1..9700dd0793 100644 --- a/src/features/schema/fields/photoselect/RawPhotoSelect.jsx +++ b/src/features/schema/fields/photoselect/RawPhotoSelect.jsx @@ -1,18 +1,12 @@ -import React, { useState, useCallback, useEffect } from 'react'; -import Cropper from 'react-easy-crop'; +import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import Button from '@mui/material/Button'; -import Modal from '@mui/material/Modal'; import PhotoCamera from '@mui/icons-material/PhotoCamera'; -import Slider from '@mui/material/Slider'; import Stack from '@mui/material/Stack'; import DeleteIcon from '@mui/icons-material/Delete'; -import Box from '@mui/material/Box'; import { set, remove } from '../../../config/configSlice'; -import getCroppedImg from './cropImage'; -import styles from './styles.css'; export default function RawPhotoSelect({ field }) { diff --git a/src/index.js b/src/index.js index 44908d9e1c..b5af7b9ed5 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,4 @@ import React from 'react'; -import ReactDOM from 'react-dom'; import { Provider } from 'react-redux'; import { BrowserRouter, Route, Routes } from "react-router-dom"; @@ -7,6 +6,7 @@ import Main from './Main'; import OAuth2Handler from './features/schema/fields/oauth2/OAuth2Handler'; import store from './store'; import DevToolsTheme from './features/theme/DevToolsTheme'; +import { createRoot } from 'react-dom/client'; const App = () => { return ( @@ -23,4 +23,6 @@ const App = () => { ) } -ReactDOM.render(, document.getElementById('app')); \ No newline at end of file +const container = document.getElementById('app'); +const root = createRoot(container); +root.render(); \ No newline at end of file diff --git a/webpack.dev.js b/webpack.dev.js index dcbfec94be..a82564e060 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,42 +1,40 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const webpack = require('webpack'); +const { merge } = require("webpack-merge"); +const common = require("./webpack.common.js"); +const webpack = require("webpack"); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const HtmlWebPackPlugin = require("html-webpack-plugin"); const htmlPlugin = new HtmlWebPackPlugin({ - template: './src/index.html', - filename: './index.html', - favicon: 'src/favicon.png' + template: "./src/index.html", + filename: "./index.html", + favicon: "src/favicon.png", }); const copyPlugin = new CopyWebpackPlugin({ - patterns: [ - { from: "public", to: "../" }, - ], + patterns: [{ from: "public", to: "../" }], }); let plugins = [htmlPlugin, copyPlugin]; plugins.push( new webpack.DefinePlugin({ - 'PIXLET_API_BASE': JSON.stringify(''), + PIXLET_API_BASE: JSON.stringify(""), }) ); module.exports = merge(common, { - mode: 'development', - devtool: 'source-map', + mode: "development", + devtool: "source-map", devServer: { port: 3000, historyApiFallback: true, proxy: [ { - context: ['/api'], - target: 'http://localhost:8080', + context: ["/api"], + target: "http://localhost:8080", ws: true, }, ], }, plugins: plugins, -}); \ No newline at end of file +}); diff --git a/webpack.prod.js b/webpack.prod.js index c8a5b552f9..8abb09264c 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,39 +1,36 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const webpack = require('webpack'); -const path = require('path'); +const { merge } = require("webpack-merge"); +const common = require("./webpack.common.js"); +const webpack = require("webpack"); +const path = require("path"); const HtmlWebPackPlugin = require("html-webpack-plugin"); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const htmlPlugin = new HtmlWebPackPlugin({ - template: './src/index.html', - filename: '../index.html', - favicon: 'src/favicon.png' + template: "./src/index.html", + filename: "../index.html", + favicon: "src/favicon.png", }); const copyPlugin = new CopyWebpackPlugin({ - patterns: [ - { from: "public", to: "../" }, - ], + patterns: [{ from: "public", to: "../" }], }); - let plugins = [htmlPlugin, copyPlugin]; plugins.push( new webpack.DefinePlugin({ - 'PIXLET_API_BASE': JSON.stringify(''), + PIXLET_API_BASE: JSON.stringify(""), }) ); module.exports = merge(common, { - mode: 'production', - devtool: 'source-map', + mode: "production", + devtool: "source-map", output: { asyncChunks: true, - publicPath: 'auto', - path: path.resolve(__dirname, 'dist/static'), - filename: '[name].[chunkhash].js', + publicPath: "auto", + path: path.resolve(__dirname, "dist/static"), + filename: "[name].[chunkhash].js", clean: true, }, plugins: plugins, -}); \ No newline at end of file +}); From 247c40ad648d08c61d35e8d626ea6ded5bf1b7ec Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Wed, 26 Feb 2025 22:43:57 +0100 Subject: [PATCH 41/68] Enable npm and devcontainers for dependabot --- .github/dependabot.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2bbfda4de0..4cfc644b7e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,3 +8,11 @@ updates: directory: "/" schedule: interval: "weekly" + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: "weekly" \ No newline at end of file From b89fedb15680589db7284d48fb652aa5cded3cbb Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Wed, 26 Feb 2025 22:50:24 +0100 Subject: [PATCH 42/68] Bump Go dependencies --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 23fe9db58b..3004eb8df6 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c github.com/qri-io/starlib v0.5.1-0.20220611014110-7fb7ff9ec804 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e - github.com/spf13/cobra v1.9.0 + github.com/spf13/cobra v1.9.1 github.com/spf13/viper v1.19.0 github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef @@ -35,9 +35,9 @@ require ( github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427 github.com/vmihailenco/msgpack/v5 v5.4.1 github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be - go.starlark.net v0.0.0-20250205221240-492d3672b3f4 + go.starlark.net v0.0.0-20250225190231-0d3f41d403af golang.org/x/image v0.24.0 - golang.org/x/oauth2 v0.26.0 + golang.org/x/oauth2 v0.27.0 golang.org/x/sync v0.11.0 golang.org/x/text v0.22.0 gopkg.in/yaml.v3 v3.0.1 @@ -93,8 +93,8 @@ require ( github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.33.0 // indirect - golang.org/x/exp v0.0.0-20250215185904-eff6e970281f // indirect + golang.org/x/crypto v0.35.0 // indirect + golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa // indirect golang.org/x/net v0.35.0 // indirect golang.org/x/sys v0.30.0 // indirect google.golang.org/protobuf v1.36.5 // indirect diff --git a/go.sum b/go.sum index 293d77bd4f..73b9b483e9 100644 --- a/go.sum +++ b/go.sum @@ -278,8 +278,8 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.9.0 h1:Py5fIuq/lJsRYxcxfOtsJqpmwJWCMOUy2tMJYV8TNHE= -github.com/spf13/cobra v1.9.0/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= @@ -319,8 +319,8 @@ github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be h1:qf05vm7CJA3tc github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be/go.mod h1:FWqHpmEj39kZYjkb4y+GkFRwJofD3lP2k8ataoNlo2Y= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.starlark.net v0.0.0-20210602144842-1cdb82c9e17a/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= -go.starlark.net v0.0.0-20250205221240-492d3672b3f4 h1:eBP+boBfJoGU3irqbxGTcTlKcbNwJCOdbmsnDq56nak= -go.starlark.net v0.0.0-20250205221240-492d3672b3f4/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= +go.starlark.net v0.0.0-20250225190231-0d3f41d403af h1:gdHSl5pZSdC+7qdBKx0n0x4Y2b4UNjuKnKH8Lfwft3o= +go.starlark.net v0.0.0-20250225190231-0d3f41d403af/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -334,11 +334,11 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= -golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= +golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= +golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20250215185904-eff6e970281f h1:oFMYAjX0867ZD2jcNiLBrI9BdpmEkvPyi5YrBGXbamg= -golang.org/x/exp v0.0.0-20250215185904-eff6e970281f/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= +golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa h1:t2QcU6V556bFjYgu4L6C+6VrCPyJZ+eyRsABUPs1mz4= +golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= golang.org/x/image v0.0.0-20210504121937-7319ad40d33e/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ= golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8= @@ -373,8 +373,8 @@ golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= -golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= +golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= From 14b27daab299fa176de5c4df9da56c18e3344e47 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Wed, 26 Feb 2025 23:05:38 +0100 Subject: [PATCH 43/68] Remove unused imports --- src/features/schema/FieldDetails.jsx | 1 - src/features/schema/fields/location/InputSlider.jsx | 1 - src/features/schema/fields/location/LocationBased.jsx | 1 - src/features/schema/fields/location/LocationForm.jsx | 1 - 4 files changed, 4 deletions(-) diff --git a/src/features/schema/FieldDetails.jsx b/src/features/schema/FieldDetails.jsx index 493094b426..aeef935caa 100644 --- a/src/features/schema/FieldDetails.jsx +++ b/src/features/schema/FieldDetails.jsx @@ -2,7 +2,6 @@ import React from 'react'; import OAuth2 from './fields/oauth2/OAuth2'; import PhotoSelect from './fields/photoselect/PhotoSelect'; -import RawPhotoSelect from './fields/photoselect/RawPhotoSelect'; import Toggle from './fields/Toggle'; import Color from './fields/Color'; import DateTime from './fields/DateTime'; diff --git a/src/features/schema/fields/location/InputSlider.jsx b/src/features/schema/fields/location/InputSlider.jsx index cfff1f7bbf..4e3241608a 100644 --- a/src/features/schema/fields/location/InputSlider.jsx +++ b/src/features/schema/fields/location/InputSlider.jsx @@ -4,7 +4,6 @@ import React, { useState } from 'react'; import { styled } from '@mui/material/styles'; import Box from '@mui/material/Box'; import Grid from '@mui/material/Grid'; -import Typography from '@mui/material/Typography'; import Slider from '@mui/material/Slider'; import MuiInput from '@mui/material/Input'; diff --git a/src/features/schema/fields/location/LocationBased.jsx b/src/features/schema/fields/location/LocationBased.jsx index 1a50cd0f3f..94190b52bf 100644 --- a/src/features/schema/fields/location/LocationBased.jsx +++ b/src/features/schema/fields/location/LocationBased.jsx @@ -1,7 +1,6 @@ import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; -import InputLabel from '@mui/material/InputLabel'; import MenuItem from '@mui/material/MenuItem'; import FormControl from '@mui/material/FormControl'; import Select from '@mui/material/Select'; diff --git a/src/features/schema/fields/location/LocationForm.jsx b/src/features/schema/fields/location/LocationForm.jsx index b4503972b6..b54e2a27d2 100644 --- a/src/features/schema/fields/location/LocationForm.jsx +++ b/src/features/schema/fields/location/LocationForm.jsx @@ -1,7 +1,6 @@ import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; -import InputLabel from '@mui/material/InputLabel'; import MenuItem from '@mui/material/MenuItem'; import FormControl from '@mui/material/FormControl'; import Select from '@mui/material/Select'; From 4078bbef124cb62d7233d3cfd98070536af46059 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Wed, 26 Feb 2025 23:36:20 +0100 Subject: [PATCH 44/68] Migrate from Grid to Grid2 --- src/Main.jsx | 7 +++---- .../schema/fields/location/InputSlider.jsx | 14 +++++++------- .../schema/fields/oauth2/OAuth2Handler.jsx | 4 ++-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/Main.jsx b/src/Main.jsx index efe7f2834b..6ae7373e6f 100644 --- a/src/Main.jsx +++ b/src/Main.jsx @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux'; import Container from '@mui/material/Container'; import Box from '@mui/material/Box'; -import Grid from '@mui/material/Grid'; +import Grid from '@mui/material/Grid2'; import AppBar from './features/appbar/AppBar'; import ConfigManager from './features/config/ConfigManager'; @@ -14,7 +14,6 @@ import Preview from './features/preview/Preview'; import Schema from './features/schema/Schema'; import WatcherManager from './features/watcher/WatcherManager'; import Controls from './features/controls/Controls'; -import { Typography } from '@mui/material'; export default function Main() { @@ -36,11 +35,11 @@ export default function Main() { - + - + diff --git a/src/features/schema/fields/location/InputSlider.jsx b/src/features/schema/fields/location/InputSlider.jsx index 4e3241608a..9c339ca5fc 100644 --- a/src/features/schema/fields/location/InputSlider.jsx +++ b/src/features/schema/fields/location/InputSlider.jsx @@ -3,7 +3,7 @@ import React, { useState } from 'react'; import { styled } from '@mui/material/styles'; import Box from '@mui/material/Box'; -import Grid from '@mui/material/Grid'; +import Grid from '@mui/material/Grid2'; import Slider from '@mui/material/Slider'; import MuiInput from '@mui/material/Input'; @@ -11,7 +11,7 @@ const Input = styled(MuiInput)` width: 80px; `; -export default function InputSlider({ min, max, step, defaultValue, onChange }) { +export default function InputSlider({ min, max, step, defaultValue, onChange}) { const [value, setValue] = useState(defaultValue); const handleSliderChange = (event, newValue) => { @@ -47,7 +47,7 @@ export default function InputSlider({ min, max, step, defaultValue, onChange }) return ( - + - + - + From 675f8ea914d82dc4d79633086500f4d241b7c5ac Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 07:15:12 +0100 Subject: [PATCH 45/68] Fix wrong initial values being displayed in the location picker --- .../schema/fields/location/InputSlider.jsx | 28 ++++++------------- .../schema/fields/location/LocationBased.jsx | 8 +++--- .../schema/fields/location/LocationForm.jsx | 8 +++--- 3 files changed, 17 insertions(+), 27 deletions(-) diff --git a/src/features/schema/fields/location/InputSlider.jsx b/src/features/schema/fields/location/InputSlider.jsx index 9c339ca5fc..59d5cbb1f1 100644 --- a/src/features/schema/fields/location/InputSlider.jsx +++ b/src/features/schema/fields/location/InputSlider.jsx @@ -1,5 +1,5 @@ // Largely based on https://mui.com/material-ui/react-slider/#InputSlider.js -import React, { useState } from 'react'; +import React from 'react'; import { styled } from '@mui/material/styles'; import Box from '@mui/material/Box'; @@ -11,29 +11,19 @@ const Input = styled(MuiInput)` width: 80px; `; -export default function InputSlider({ min, max, step, defaultValue, onChange}) { - const [value, setValue] = useState(defaultValue); - +export default function InputSlider({ min, max, step, value, onChange}) { const handleSliderChange = (event, newValue) => { - setValue(newValue); - onChange(event); + onChange({ ...event, target: { ...event.target, value: newValue } }); }; const handleInputChange = (event) => { - if (event.target.value === '') { - setValue(''); - onChange(event); - return; - } - const value = Number(event.target.value); - if (value < min) { - setValue(min); - } else if (value > max) { - setValue(max); - } else { - setValue(value); + let newValue = event.target.value === '' ? '' : Number(event.target.value); + if (newValue < min) { + newValue = min; + } else if (newValue > max) { + newValue = max; } - onChange(event); + onChange({ ...event, target: { ...event.target, value: newValue } }); }; const handleBlur = () => { diff --git a/src/features/schema/fields/location/LocationBased.jsx b/src/features/schema/fields/location/LocationBased.jsx index 94190b52bf..54f7ab4436 100644 --- a/src/features/schema/fields/location/LocationBased.jsx +++ b/src/features/schema/fields/location/LocationBased.jsx @@ -88,7 +88,7 @@ export default function LocationBased({ field }) { max={90} step={0.1} onChange={onChangeLatitude} - defaultValue={locationValue['lat']} + value={locationValue['lat']} > Longitude @@ -97,7 +97,7 @@ export default function LocationBased({ field }) { max={180} step={0.1} onChange={onChangeLongitude} - defaultValue={locationValue['lng']} + value={locationValue['lng']} > Locality @@ -106,13 +106,13 @@ export default function LocationBased({ field }) { variant="outlined" onChange={onChangeLocality} style={{ marginBottom: '0.5rem' }} - defaultValue={locationValue['locality']} + value={locationValue['locality']} /> Timezone {Intl.supportedValuesOf('timeZone').map((zone) => { return {zone} From 0b6b6a5ff48101f9157978c41cfa9c1a5f613fc1 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 07:18:06 +0100 Subject: [PATCH 46/68] Update from React 17 to 19 (#16) * Update from React 17 to 19 While replacing the abandoned `material-ui-color` with `@uiw/react-color`, we lost the feature that exposes color palettes specified in the schema. * Enable npm and devcontainers for dependabot * Bump Go dependencies * Remove unused imports * Migrate from Grid to Grid2 * Fix wrong initial values being displayed in the location picker --- .github/dependabot.yml | 8 + go.mod | 10 +- go.sum | 20 +- package-lock.json | 2309 +++++++++-------- package.json | 38 +- src/Main.jsx | 7 +- src/features/appbar/AppBar.jsx | 2 +- src/features/errors/ErrorSnackbar.jsx | 2 +- src/features/preview/Preview.jsx | 2 +- src/features/schema/FieldDetails.jsx | 1 - src/features/schema/FieldIcon.jsx | 2 +- src/features/schema/fields/Color.jsx | 28 +- .../schema/fields/location/InputSlider.jsx | 35 +- .../schema/fields/location/LocationBased.jsx | 9 +- .../schema/fields/location/LocationForm.jsx | 9 +- .../schema/fields/oauth2/OAuth2Handler.jsx | 4 +- .../schema/fields/photoselect/PhotoSelect.jsx | 2 +- .../fields/photoselect/RawPhotoSelect.jsx | 8 +- src/index.js | 6 +- webpack.dev.js | 30 +- webpack.prod.js | 35 +- 21 files changed, 1380 insertions(+), 1187 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2bbfda4de0..4cfc644b7e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,3 +8,11 @@ updates: directory: "/" schedule: interval: "weekly" + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: "weekly" \ No newline at end of file diff --git a/go.mod b/go.mod index 23fe9db58b..3004eb8df6 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c github.com/qri-io/starlib v0.5.1-0.20220611014110-7fb7ff9ec804 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e - github.com/spf13/cobra v1.9.0 + github.com/spf13/cobra v1.9.1 github.com/spf13/viper v1.19.0 github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef @@ -35,9 +35,9 @@ require ( github.com/tidbyt/gg v0.0.0-20220808163829-95806fa1d427 github.com/vmihailenco/msgpack/v5 v5.4.1 github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be - go.starlark.net v0.0.0-20250205221240-492d3672b3f4 + go.starlark.net v0.0.0-20250225190231-0d3f41d403af golang.org/x/image v0.24.0 - golang.org/x/oauth2 v0.26.0 + golang.org/x/oauth2 v0.27.0 golang.org/x/sync v0.11.0 golang.org/x/text v0.22.0 gopkg.in/yaml.v3 v3.0.1 @@ -93,8 +93,8 @@ require ( github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.33.0 // indirect - golang.org/x/exp v0.0.0-20250215185904-eff6e970281f // indirect + golang.org/x/crypto v0.35.0 // indirect + golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa // indirect golang.org/x/net v0.35.0 // indirect golang.org/x/sys v0.30.0 // indirect google.golang.org/protobuf v1.36.5 // indirect diff --git a/go.sum b/go.sum index 293d77bd4f..73b9b483e9 100644 --- a/go.sum +++ b/go.sum @@ -278,8 +278,8 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.9.0 h1:Py5fIuq/lJsRYxcxfOtsJqpmwJWCMOUy2tMJYV8TNHE= -github.com/spf13/cobra v1.9.0/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= @@ -319,8 +319,8 @@ github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be h1:qf05vm7CJA3tc github.com/zachomedia/go-bdf v0.0.0-20220611021443-a3af701111be/go.mod h1:FWqHpmEj39kZYjkb4y+GkFRwJofD3lP2k8ataoNlo2Y= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.starlark.net v0.0.0-20210602144842-1cdb82c9e17a/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= -go.starlark.net v0.0.0-20250205221240-492d3672b3f4 h1:eBP+boBfJoGU3irqbxGTcTlKcbNwJCOdbmsnDq56nak= -go.starlark.net v0.0.0-20250205221240-492d3672b3f4/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= +go.starlark.net v0.0.0-20250225190231-0d3f41d403af h1:gdHSl5pZSdC+7qdBKx0n0x4Y2b4UNjuKnKH8Lfwft3o= +go.starlark.net v0.0.0-20250225190231-0d3f41d403af/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -334,11 +334,11 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= -golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= +golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= +golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20250215185904-eff6e970281f h1:oFMYAjX0867ZD2jcNiLBrI9BdpmEkvPyi5YrBGXbamg= -golang.org/x/exp v0.0.0-20250215185904-eff6e970281f/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= +golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa h1:t2QcU6V556bFjYgu4L6C+6VrCPyJZ+eyRsABUPs1mz4= +golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= golang.org/x/image v0.0.0-20210504121937-7319ad40d33e/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ= golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8= @@ -373,8 +373,8 @@ golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= -golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= +golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/package-lock.json b/package-lock.json index 837bdd6798..7e81a4c8d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,37 +21,37 @@ "@mui/material": "^6.4.4", "@mui/styles": "^6.4.4", "@mui/x-date-pickers": "^7.26.0", - "@reduxjs/toolkit": "1.9.7", - "axios": "^1.7.4", - "axios-retry": "^3.5.0", - "copy-webpack-plugin": "^11.0.0", - "date-fns": "2.30.0", + "@reduxjs/toolkit": "2.6.0", + "@uiw/react-color": "^2.4.0", + "axios": "^1.8.1", + "axios-retry": "^4.5.0", + "copy-webpack-plugin": "^12.0.2", + "date-fns": "4.1.0", "dayjs": "^1.11.10", - "material-ui-color": "^1.2.0", "notistack": "^3.0.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-easy-crop": "^4.7.4", - "react-redux": "^8.1.3", - "react-router": "^6.23.0", - "react-router-dom": "^6.23.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-easy-crop": "^5.4.1", + "react-redux": "^9.2.0", + "react-router": "^7.2.0", + "react-router-dom": "^7.2.0", "react-simple-oauth2-login": "^0.5.4" }, "devDependencies": { "@babel/core": "^7.24.4", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-react": "^7.24.1", - "@svgr/webpack": "^6.5.1", + "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", "babel-preset-react": "^6.24.1", - "css-loader": "^6.11.0", + "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", - "style-loader": "^3.3.4", + "style-loader": "^4.0.0", "webpack": "^5.94.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.2", - "webpack-merge": "^5.10.0" + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.0", + "webpack-merge": "^6.0.1" } }, "node_modules/@ampproject/remapping": { @@ -1752,13 +1752,13 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=14.17.0" } }, "node_modules/@emotion/babel-plugin": { @@ -2041,184 +2041,74 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", "dev": true, - "license": "MIT" - }, - "node_modules/@material-ui/core": { - "version": "4.12.4", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", - "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "2" } }, - "node_modules/@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "peer": true, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.1.tgz", + "integrity": "sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "2" } }, - "node_modules/@material-ui/styles/node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "license": "MIT", - "peer": true - }, - "node_modules/@material-ui/styles/node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT", - "peer": true - }, - "node_modules/@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - }, + "node_modules/@jsonjoy.com/util": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", + "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/system/node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT", - "peer": true - }, - "node_modules/@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "license": "MIT", - "peer": true, "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "2" } }, - "node_modules/@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - } + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" }, "node_modules/@mui/core-downloads-tracker": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.5.tgz", - "integrity": "sha512-zoXvHU1YuoodgMlPS+epP084Pqv9V+Vg+5IGv9n/7IIFVQ2nkTngYHYxElCq8pdTTbDcgji+nNh0lxri2abWgA==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.6.tgz", + "integrity": "sha512-rho5Q4IscbrVmK9rCrLTJmjLjfH6m/NcqKr/mchvck0EIXlyYUB9+Z0oVmkt/+Mben43LMRYBH8q/Uzxj/c4Vw==", "license": "MIT", "funding": { "type": "opencollective", @@ -2226,9 +2116,9 @@ } }, "node_modules/@mui/icons-material": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.5.tgz", - "integrity": "sha512-4A//t8Nrc+4u4pbVhGarIFU98zpuB5AV9hTNzgXx1ySZJ1tWtx+i/1SbQ8PtGJxWeXlljhwimZJNPQ3x0CiIFw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.6.tgz", + "integrity": "sha512-rGJBvIQQbQAlyKYljHQ8wAQS/K2/uYwvemcpygnAmCizmCI4zSF9HQPuiG8Ql4YLZ6V/uKjA3WHIYmF/8sV+pQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0" @@ -2241,7 +2131,7 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^6.4.5", + "@mui/material": "^6.4.6", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, @@ -2252,16 +2142,16 @@ } }, "node_modules/@mui/material": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.5.tgz", - "integrity": "sha512-5eyEgSXocIeV1JkXs8mYyJXU0aFyXZIWI5kq2g/mCnIgJe594lkOBNAKnCIaGVfQTu2T6TTEHF8/hHIqpiIRGA==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.4.6.tgz", + "integrity": "sha512-6UyAju+DBOdMogfYmLiT3Nu7RgliorimNBny1pN/acOjc+THNFVE7hlxLyn3RDONoZJNDi/8vO4AQQr6dLAXqA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/core-downloads-tracker": "^6.4.5", - "@mui/system": "^6.4.3", + "@mui/core-downloads-tracker": "^6.4.6", + "@mui/system": "^6.4.6", "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.12", "clsx": "^2.1.1", @@ -2280,7 +2170,7 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@mui/material-pigment-css": "^6.4.3", + "@mui/material-pigment-css": "^6.4.6", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" @@ -2300,29 +2190,14 @@ } } }, - "node_modules/@mui/material/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@mui/material/node_modules/react-is": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", - "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", - "license": "MIT" - }, "node_modules/@mui/private-theming": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.3.tgz", - "integrity": "sha512-7x9HaNwDCeoERc4BoEWLieuzKzXu5ZrhRnEM6AUcRXUScQLvF1NFkTlP59+IJfTbEMgcGg1wWHApyoqcksrBpQ==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.6.tgz", + "integrity": "sha512-T5FxdPzCELuOrhpA2g4Pi6241HAxRwZudzAuL9vBvniuB5YU82HCmrARw32AuCiyTfWzbrYGGpZ4zyeqqp9RvQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "prop-types": "^15.8.1" }, "engines": { @@ -2343,9 +2218,9 @@ } }, "node_modules/@mui/styled-engine": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.3.tgz", - "integrity": "sha512-OC402VfK+ra2+f12Gef8maY7Y9n7B6CZcoQ9u7mIkh/7PKwW/xH81xwX+yW+Ak1zBT3HYcVjh2X82k5cKMFGoQ==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.6.tgz", + "integrity": "sha512-vSWYc9ZLX46be5gP+FCzWVn5rvDr4cXC5JBZwSIkYk9xbC7GeV+0kCvB8Q6XLFQJy+a62bbqtmdwS4Ghi9NBlQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", @@ -2377,16 +2252,16 @@ } }, "node_modules/@mui/styles": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.5.tgz", - "integrity": "sha512-F3cztqs/oeFC4FcdbIccBBeABLfcqD7ejQLf2Lh3YkJJ6dMKbyw8LUcV6p+D6ggQuOqKXnJbfg0F4BaEPMe1xw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.4.6.tgz", + "integrity": "sha512-mz5qEJbyV9aRyBUhy2wJ2gJBzU6/yrEPUgaWs53PUrDLk9fFcTXWiZKJy7vZUBdgCNL6thbqW2B1ms98lSeWFA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", "@emotion/hash": "^0.9.2", - "@mui/private-theming": "^6.4.3", + "@mui/private-theming": "^6.4.6", "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "clsx": "^2.1.1", "csstype": "^3.1.3", "hoist-non-react-statics": "^3.3.2", @@ -2417,26 +2292,17 @@ } } }, - "node_modules/@mui/styles/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/system": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.4.3.tgz", - "integrity": "sha512-Q0iDwnH3+xoxQ0pqVbt8hFdzhq1g2XzzR4Y5pVcICTNtoCLJmpJS3vI4y/OIM1FHFmpfmiEC2IRIq7YcZ8nsmg==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.4.6.tgz", + "integrity": "sha512-FQjWwPec7pMTtB/jw5f9eyLynKFZ6/Ej9vhm5kGdtmts1z5b7Vyn3Rz6kasfYm1j2TfrfGnSXRvvtwVWxjpz6g==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", - "@mui/private-theming": "^6.4.3", - "@mui/styled-engine": "^6.4.3", + "@mui/private-theming": "^6.4.6", + "@mui/styled-engine": "^6.4.6", "@mui/types": "^7.2.21", - "@mui/utils": "^6.4.3", + "@mui/utils": "^6.4.6", "clsx": "^2.1.1", "csstype": "^3.1.3", "prop-types": "^15.8.1" @@ -2466,15 +2332,6 @@ } } }, - "node_modules/@mui/system/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/types": { "version": "7.2.21", "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.21.tgz", @@ -2490,9 +2347,9 @@ } }, "node_modules/@mui/utils": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.4.3.tgz", - "integrity": "sha512-jxHRHh3BqVXE9ABxDm+Tc3wlBooYz/4XPa0+4AI+iF38rV1/+btJmSUgG4shDtSWVs/I97aDn5jBCt6SF2Uq2A==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.4.6.tgz", + "integrity": "sha512-43nZeE1pJF2anGafNydUcYFPtHwAqiBiauRtaMvurdrZI3YrUjHkAu43RBsxef7OFtJMXGiHFvq43kb7lig0sA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.26.0", @@ -2519,25 +2376,10 @@ } } }, - "node_modules/@mui/utils/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@mui/utils/node_modules/react-is": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", - "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", - "license": "MIT" - }, "node_modules/@mui/x-date-pickers": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.27.0.tgz", - "integrity": "sha512-wSx8JGk4WQ2hTObfQITc+zlmUKNleQYoH1hGocaQlpWpo1HhauDtcQfX6sDN0J0dPT2eeyxDWGj4uJmiSfQKcw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.27.1.tgz", + "integrity": "sha512-2YPhTM9TM39dmIkEQdSB6P6NASePB9LuhXXKQqq0PX4FXGymYEPz/acQXkk617zwfxJJaDhJZ6g8SAv5pklTJQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", @@ -2600,15 +2442,6 @@ } } }, - "node_modules/@mui/x-date-pickers/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/x-internals": { "version": "7.26.0", "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.26.0.tgz", @@ -2675,19 +2508,19 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", - "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.6.0.tgz", + "integrity": "sha512-mWJCYpewLRyTuuzRSEC/IwIBBkYg2dKtQas8mty5MaV2iXzcmicS3gW554FDeOvLnY3x13NIk8MB1e8wHO7rqQ==", "license": "MIT", "dependencies": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" }, "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", - "react-redux": "^7.2.1 || ^8.0.2" + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "peerDependenciesMeta": { "react": { @@ -2698,23 +2531,26 @@ } } }, - "node_modules/@remix-run/router": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.22.0.tgz", - "integrity": "sha512-MBOl8MeOzpK0HQQQshKB7pABXbmyHizdTpqnrIseTbsv0nAepwC2ENZa1aaBExNQcpLoXmWthhak8SABLzvGPw==", + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2759,13 +2595,13 @@ } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2776,13 +2612,13 @@ } }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2793,13 +2629,13 @@ } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2810,13 +2646,13 @@ } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2827,9 +2663,9 @@ } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "dev": true, "license": "MIT", "engines": { @@ -2844,23 +2680,23 @@ } }, "node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dev": true, "license": "MIT", "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2871,20 +2707,20 @@ } }, "node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2892,17 +2728,17 @@ } }, "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.21.3", "entities": "^4.4.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2910,41 +2746,41 @@ } }, "node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", "svg-parser": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@svgr/core": "^6.0.0" + "@svgr/core": "*" } }, "node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", "dev": true, "license": "MIT", "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -2955,23 +2791,23 @@ } }, "node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3030,6 +2866,12 @@ "@types/node": "*" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, "node_modules/@types/eslint": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", @@ -3095,16 +2937,6 @@ "@types/send": "*" } }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", - "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", - "license": "MIT", - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -3188,13 +3020,12 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.83", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.83.tgz", - "integrity": "sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw==", + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", + "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", "license": "MIT", + "peer": true, "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, @@ -3208,18 +3039,12 @@ } }, "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true, "license": "MIT" }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "license": "MIT" - }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -3264,9 +3089,9 @@ } }, "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", "license": "MIT" }, "node_modules/@types/ws": { @@ -3279,6 +3104,420 @@ "@types/node": "*" } }, + "node_modules/@uiw/color-convert": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/color-convert/-/color-convert-2.4.0.tgz", + "integrity": "sha512-IFXAIe65Vm8czMyzd3/L+LRyYdF5PO5tQqwwojMtf9mChuzbI5tLMj2rjfcAwVaAi5+rQ6t82eyXQ2GZUfoeaA==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0" + } + }, + "node_modules/@uiw/react-color": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color/-/react-color-2.4.0.tgz", + "integrity": "sha512-JmfuWIXlH2rqV/W1DgO/4llISgtuhNnpwSgBcb3NZpUGf7+1uvtXVyW8fZsZozIoTHVwh84diM6WGlz8PZ+QcA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-block": "2.4.0", + "@uiw/react-color-chrome": "2.4.0", + "@uiw/react-color-circle": "2.4.0", + "@uiw/react-color-colorful": "2.4.0", + "@uiw/react-color-compact": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-hsla": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-github": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-material": "2.4.0", + "@uiw/react-color-name": "2.4.0", + "@uiw/react-color-saturation": "2.4.0", + "@uiw/react-color-shade-slider": "2.4.0", + "@uiw/react-color-sketch": "2.4.0", + "@uiw/react-color-slider": "2.4.0", + "@uiw/react-color-swatch": "2.4.0", + "@uiw/react-color-wheel": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-alpha": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-alpha/-/react-color-alpha-2.4.0.tgz", + "integrity": "sha512-IQuVmn5AVIJmN1FloqgTpaJLWnb5z5OEJvY+9pynK6aVzUtw/4+v9GydJgFVp4aM5eaSjlbFBnhV57c9d1D75Q==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-drag-event-interactive": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-block": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-block/-/react-color-block-2.4.0.tgz", + "integrity": "sha512-dkM7TLP+67bPK49HzYe/gA54A/uDp31WkpyjY+lwi+OiLANWhKhSk39lw3NhuhR0TwlHSKsSIPbvyS2OIKdreg==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-chrome": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-chrome/-/react-color-chrome-2.4.0.tgz", + "integrity": "sha512-/sv3f1rJhyKdpZ9iE2Mn1swiLBrVHz8OI4TqqscSPfXvMNUt4xZ7YdXVQd4jFQUIsHEvrzdBTCZgejSf8q5Vww==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-hsla": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-github": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-saturation": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-circle": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-circle/-/react-color-circle-2.4.0.tgz", + "integrity": "sha512-92jHKpk98RHKxsPCgs57KEGWAxeAmzZzmTrvwTTc3Yq1VYpeQ9Cykh5gyUraMRj3zdkR7gMvaZFUmoOrYaHFAA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-colorful": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-colorful/-/react-color-colorful-2.4.0.tgz", + "integrity": "sha512-NNwin2pfPmcXga/3r7ZD3ludBp8eMrtfyCkzl+jTCv8SwVtnvHzZyUWgAbtXI/4f1zPLeriovEyNX6SCM0+rEQ==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-saturation": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-compact": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-compact/-/react-color-compact-2.4.0.tgz", + "integrity": "sha512-shWHMxE1EtB+AV3YzyW3cOhKCZqExGv6ta8G0Uw2BR+qHIdQ61eqRhVMQBO+rW7NwRR1tMfVHEf6Mb17RetIMg==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-editable-input": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-editable-input/-/react-color-editable-input-2.4.0.tgz", + "integrity": "sha512-+UtJF3dSjZ4qGjFilvJ4Sg2VghGrIFwf8xk6mlyrsup7c1iO/H/dSPy42qkNx0QYiRPuva5uaB8H1/8OkgNSfg==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-editable-input-hsla": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-editable-input-hsla/-/react-color-editable-input-hsla-2.4.0.tgz", + "integrity": "sha512-+BjAmAQn/B2CjQ7t+iur39S+UeNxQDDttUl3+hY3d98O4ZoCXShblqNgPARlqri2wEIK49Gx649ZXjWBW+sS7w==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-editable-input-rgba": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-editable-input-rgba/-/react-color-editable-input-rgba-2.4.0.tgz", + "integrity": "sha512-FOoW50uevWt7RM/8AUXFIKpMG1AM48kNCvtRrN1yqx0aZYvkloHsQ+WW/So0tFKjj51fOii8dsGiviqHqdiVlQ==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-github": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-github/-/react-color-github-2.4.0.tgz", + "integrity": "sha512-a+yXxIQ6rq0GSqq/VFlV9uzZcaRV8Du0Bn4sVeVvRswkMVdCvXN4PF37ZBClhSZFpnmu8hpt9XHGu9zUSZl/6Q==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-hue": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-hue/-/react-color-hue-2.4.0.tgz", + "integrity": "sha512-hMBET3eMrxywXwaRPMrgmxoPsqdpgJh0uvYAUKXfwMnppqLfxaiH+p/Ofh1ZVAz9C4bCMqMvrs3xvdp171GHNQ==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-material": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-material/-/react-color-material-2.4.0.tgz", + "integrity": "sha512-GXlgQVHiTZDY2pLnmXgiTrzUK2QdW+evqBX5soIBhCP9+GvDSUUy4SjXuCKYAjB2ZewSyJsgvkiQjAadiXu4QA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-name": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-name/-/react-color-name-2.4.0.tgz", + "integrity": "sha512-gCF/3LYVkh5fbUI/2hNhGfqVsEornw2mDLDL1aSmjakKZmS10UL8CvYeqv4HBCwWelH3IL3/qIngmltRtn88aQ==", + "license": "MIT", + "dependencies": { + "colors-named": "^1.0.1", + "colors-named-hex": "^1.0.1" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0" + } + }, + "node_modules/@uiw/react-color-saturation": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-saturation/-/react-color-saturation-2.4.0.tgz", + "integrity": "sha512-DmY38yXTmp4SOyj31soBgaB/TLH49Y17Tg2IeFDSUi4VkpSQy99qcuaO3PUzIhcCDctCkH8AAfmvs7WjotBGFw==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-drag-event-interactive": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-shade-slider": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-shade-slider/-/react-color-shade-slider-2.4.0.tgz", + "integrity": "sha512-nOec78w+e5h3W/gZs8zvCe+pUyYhmVaO/8KQKWcDYUgeGWJfOkZ2s8hpL+4WpB81vZPorrdcVLm4dEO/3e7rGw==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-sketch": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-sketch/-/react-color-sketch-2.4.0.tgz", + "integrity": "sha512-S+qEqj/SHWYY28fp/rNO0+n4r9pG2rwGIy02OjaPFPVYOlKxlPyoDz5BgGJ7PkGiwTsgGHPtMnlE7kuyZP1Fng==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0", + "@uiw/react-color-editable-input": "2.4.0", + "@uiw/react-color-editable-input-rgba": "2.4.0", + "@uiw/react-color-hue": "2.4.0", + "@uiw/react-color-saturation": "2.4.0", + "@uiw/react-color-swatch": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-slider": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-slider/-/react-color-slider-2.4.0.tgz", + "integrity": "sha512-zecJM3pI2OxeDjqY+VT/gDK7ckjseKTIr8YjRHlSGgEJwWp9/KJSip/171qXEYGKZJbZZV33jmW/OQmJmjKPuA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-color-alpha": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-swatch": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-swatch/-/react-color-swatch-2.4.0.tgz", + "integrity": "sha512-vq1TbS7grxFn1sHHh1vF3ulY+S9P9vrmFcxjSzbaYo8r+XQsGztTIQiLkNx3ZHA3z3cafbqPi95Ynz6NbimOWA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-color-wheel": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-color-wheel/-/react-color-wheel-2.4.0.tgz", + "integrity": "sha512-63FVRg4ON/8TP9uDHjER10IQpXnsk+jXjnE1/zwbyMrEcokrTykgFLgXIvwtQ2E042wR0q1tQj3hjikaMneaYA==", + "license": "MIT", + "dependencies": { + "@uiw/color-convert": "2.4.0", + "@uiw/react-drag-event-interactive": "2.4.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@uiw/react-drag-event-interactive": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@uiw/react-drag-event-interactive/-/react-drag-event-interactive-2.4.0.tgz", + "integrity": "sha512-xRr1s5kpBG9sk35jWlTx0bpBXMNXUGcd/dWu2V4+JHmLbmU6CoUnlLSw5ygg1ob7fjx0p5u/U4dQpgs3VakOWg==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.19.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -3426,45 +3665,45 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" } }, "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" } }, "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" }, "peerDependenciesMeta": { "webpack-dev-server": { @@ -3602,6 +3841,13 @@ "node": ">= 8" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -3616,9 +3862,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz", + "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -3627,13 +3873,15 @@ } }, "node_modules/axios-retry": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.9.1.tgz", - "integrity": "sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.15.4", "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" } }, "node_modules/babel-helper-builder-react-jsx": { @@ -3681,6 +3929,22 @@ "npm": ">=6" } }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.12", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", @@ -3848,13 +4112,6 @@ "to-fast-properties": "^1.0.3" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -3945,17 +4202,6 @@ "dev": true, "license": "ISC" }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -4006,6 +4252,22 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -4080,9 +4342,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001700", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", - "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", + "version": "1.0.30001701", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz", + "integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==", "funding": [ { "type": "opencollective", @@ -4146,13 +4408,6 @@ "node": ">=6.0" } }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", - "license": "MIT", - "peer": true - }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -4192,9 +4447,9 @@ } }, "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "license": "MIT", "engines": { "node": ">=6" @@ -4207,6 +4462,30 @@ "dev": true, "license": "MIT" }, + "node_modules/colors-named": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/colors-named/-/colors-named-1.0.2.tgz", + "integrity": "sha512-2ANq2r393PV9njYUD66UdfBcxR1slMqRA3QRTWgCx49JoCJ+kOhyfbQYxKJbPZQIhZUcNjVOs5AlyY1WwXec3w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/colors-named-hex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/colors-named-hex/-/colors-named-hex-1.0.2.tgz", + "integrity": "sha512-k6kq1e1pUCQvSVwIaGFq2l0LrkAPQZWyeuZn1Z8nOiYSEZiKoFj4qx690h2Kd34DFl9Me0gKS6MUwAMBJj8nuA==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4285,13 +4564,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -4333,13 +4605,12 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=18" } }, "node_modules/cookie-signature": { @@ -4350,20 +4621,20 @@ "license": "MIT" }, "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", "license": "MIT", "dependencies": { - "fast-glob": "^3.2.11", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^13.1.1", + "globby": "^14.0.0", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -4404,19 +4675,30 @@ "license": "MIT" }, "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/cross-spawn": { @@ -4435,9 +4717,9 @@ } }, "node_modules/css-loader": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", "dev": true, "license": "MIT", "dependencies": { @@ -4451,7 +4733,7 @@ "semver": "^7.5.4" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -4459,7 +4741,7 @@ }, "peerDependencies": { "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" + "webpack": "^5.27.0" }, "peerDependenciesMeta": { "@rspack/core": { @@ -4501,27 +4783,17 @@ } }, "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, "node_modules/css-vendor": { @@ -4561,18 +4833,41 @@ } }, "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -4580,19 +4875,13 @@ "license": "MIT" }, "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" } }, "node_modules/dayjs": { @@ -4628,27 +4917,47 @@ "node": ">=0.10.0" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "execa": "^5.0.0" + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" }, "engines": { - "node": ">= 10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delayed-stream": { @@ -4688,18 +4997,6 @@ "dev": true, "license": "MIT" }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -4835,9 +5132,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.103", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.103.tgz", - "integrity": "sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==", + "version": "1.5.105", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.105.tgz", + "integrity": "sha512-ccp7LocdXx3yBhwiG0qTQ7XFrK48Ua2pxIxBdJO8cbddp/MvbBtPFzvnTchtyHQTsgqqczO8cdmAIbpMa0u2+g==", "license": "ISC" }, "node_modules/emojis-list": { @@ -5066,30 +5363,6 @@ "node": ">=0.8.x" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/express": { "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", @@ -5137,6 +5410,16 @@ "url": "https://opencollective.com/express" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -5222,9 +5505,9 @@ } }, "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -5470,20 +5753,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-monkey": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "dev": true, - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -5555,41 +5824,6 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -5618,19 +5852,32 @@ } }, "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "license": "MIT", "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5789,23 +6036,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -5962,14 +6192,14 @@ } } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=10.17.0" + "node": ">=10.18" } }, "node_modules/hyphenate-style-name": { @@ -6005,18 +6235,18 @@ } }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", + "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", "license": "MIT", "funding": { "type": "opencollective", @@ -6138,18 +6368,6 @@ "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -6212,16 +6430,16 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6254,6 +6472,38 @@ "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", "license": "MIT" }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6301,30 +6551,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isarray": { @@ -6371,6 +6611,19 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -6598,62 +6851,17 @@ "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/material-ui-color": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/material-ui-color/-/material-ui-color-1.2.0.tgz", - "integrity": "sha512-bD2Rww+hakJxD2/19uxc280Vh292DnRStLke2LDFavVtGd5fzOz09zIrHO3ZHlMkJFsvwx6IwiB4/932ftv0sQ==", - "license": "MIT", - "peerDependencies": { - "@material-ui/core": "^4.9.5", - "material-ui-popup-state": "^1.5.3", - "prop-types": "^15.7.2", - "react": "^16.0.0 || ^17.0.0", - "react-dom": "^16.0.0 || ^17.0.0" - } - }, - "node_modules/material-ui-popup-state": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-1.9.3.tgz", - "integrity": "sha512-+Ete5Tzw5rXlYfmqptOS8kBUH8vnK5OJsd6IQ7SHtLjU0PsvsmM73M/k8ot0xkX4RmPGuNRsFbK3mlCe/ClQuw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@material-ui/types": "^6.0.1", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0 || ^5.0.0-beta", - "react": "^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/material-ui-popup-state/node_modules/@material-ui/types": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-6.0.2.tgz", - "integrity": "sha512-/XUca4wUb9pWimLLdM1PE8KS8rTbDEGohSGkGtk3WST7lm23m+8RYv9uOmrvOg/VSsl4bMiOv4t2/LCb+RLbTg==", - "license": "MIT", - "peer": true, - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" } }, "node_modules/math-intrinsics": { @@ -6666,9 +6874,9 @@ } }, "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true, "license": "CC0-1.0" }, @@ -6683,16 +6891,23 @@ } }, "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", + "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", "dev": true, - "license": "Unlicense", + "license": "Apache-2.0", "dependencies": { - "fs-monkey": "^1.0.4" + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" }, "engines": { "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" } }, "node_modules/merge-descriptors": { @@ -6777,16 +6992,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -6794,19 +6999,6 @@ "dev": true, "license": "ISC" }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -6926,17 +7118,13 @@ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, + "node_modules/notistack/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, "node_modules/nth-check": { @@ -7004,45 +7192,20 @@ "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", "dev": true, "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7081,17 +7244,21 @@ } }, "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/retry": "0.12.0", + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", "retry": "^0.13.1" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { @@ -7176,16 +7343,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -7252,13 +7409,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", - "license": "MIT", - "peer": true - }, "node_modules/postcss": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", @@ -7519,134 +7669,107 @@ } }, "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.25.0" }, "peerDependencies": { - "react": "17.0.2" + "react": "^19.0.0" } }, "node_modules/react-easy-crop": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-4.7.5.tgz", - "integrity": "sha512-qKfI4PuhaH1jOLC3DQfQB0cE0z+3N7bfyPkPejQmylXNb8nstfPMH+oHj3gKgpBHLFUiQp/C1rY7sVCVgtjn3Q==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-5.4.1.tgz", + "integrity": "sha512-Djtsi7bWO75vkKYkVxNRrJWY69pXLahIAkUN0mmt9cXNnaq2tpG59ctSY6P7ipJgBc7COJDRMRuwb2lYwtACNQ==", "license": "MIT", "dependencies": { "normalize-wheel": "^1.0.1", - "tslib": "2.0.1" + "tslib": "^2.0.1" }, "peerDependencies": { "react": ">=16.4.0", "react-dom": ">=16.4.0" } }, - "node_modules/react-easy-crop/node_modules/tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", - "license": "0BSD" - }, "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT", - "peer": true + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", + "license": "MIT" }, "node_modules/react-redux": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", - "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/use-sync-external-store": "^0.0.3", - "hoist-non-react-statics": "^3.3.2", - "react-is": "^18.0.0", - "use-sync-external-store": "^1.0.0" + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" }, "peerDependencies": { - "@types/react": "^16.8 || ^17.0 || ^18.0", - "@types/react-dom": "^16.8 || ^17.0 || ^18.0", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0", - "react-native": ">=0.59", - "redux": "^4 || ^5.0.0-beta.0" + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" }, "peerDependenciesMeta": { "@types/react": { "optional": true }, - "@types/react-dom": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - }, "redux": { "optional": true } } }, - "node_modules/react-redux/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" - }, "node_modules/react-router": { - "version": "6.29.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.29.0.tgz", - "integrity": "sha512-DXZJoE0q+KyeVw75Ck6GkPxFak63C4fGqZGNijnWgzB/HzSP1ZfTlBj5COaGWwhrMQ/R8bXiq5Ooy4KG+ReyjQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.2.0.tgz", + "integrity": "sha512-fXyqzPgCPZbqhrk7k3hPcCpYIlQ2ugIXDboHUzhJISFVy2DEPsmHgN588MyGmkIOv3jDgNfUE3kJi83L28s/LQ==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.22.0" + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "react": ">=16.8" + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } } }, "node_modules/react-router-dom": { - "version": "6.29.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.29.0.tgz", - "integrity": "sha512-pkEbJPATRJ2iotK+wUwHfy0xs2T59YPEN8BQxVCPeBZvK7kfPESRc/nyxzdcxR17hXgUPYx2whMwl+eo9cUdnQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.2.0.tgz", + "integrity": "sha512-cU7lTxETGtQRQbafJubvZKHEn5izNABxZhBY0Jlzdv0gqQhCPQt2J8aN5ZPjS6mQOXn5NnirWNh+FpE8TTYN0Q==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.22.0", - "react-router": "6.29.0" + "react-router": "7.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "react": ">=18", + "react-dom": ">=18" } }, "node_modules/react-simple-oauth2-login": { @@ -7717,21 +7840,18 @@ } }, "node_modules/redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.9.2" - } + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" }, "node_modules/redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", "license": "MIT", "peerDependencies": { - "redux": "^4" + "redux": "^5.0.0" } }, "node_modules/regenerate": { @@ -7862,9 +7982,9 @@ "license": "MIT" }, "node_modules/reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", "license": "MIT" }, "node_modules/resolve": { @@ -7930,30 +8050,26 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/run-parallel": { @@ -8007,14 +8123,10 @@ "license": "MIT" }, "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" }, "node_modules/schema-utils": { "version": "4.3.0", @@ -8229,6 +8341,12 @@ "node": ">= 0.8.0" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -8361,25 +8479,29 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -8462,14 +8584,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true, - "license": "MIT" - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -8503,31 +8617,21 @@ "node": ">=8" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^5.27.0" } }, "node_modules/stylis": { @@ -8571,25 +8675,29 @@ "license": "MIT" }, "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" }, "bin": { "svgo": "bin/svgo" }, "engines": { - "node": ">=10.13.0" + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, "node_modules/svgo/node_modules/commander": { @@ -8602,6 +8710,69 @@ "node": ">= 10" } }, + "node_modules/svgo/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -8669,6 +8840,19 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "license": "MIT" }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -8714,13 +8898,35 @@ "node": ">=0.6" } }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, "license": "0BSD" }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -8785,6 +8991,18 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8796,9 +9014,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "funding": [ { "type": "opencollective", @@ -8958,43 +9176,40 @@ } }, "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", + "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", "dev": true, "license": "MIT", "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", + "@discoveryjs/json-ext": "^0.6.1", + "@webpack-cli/configtest": "^3.0.1", + "@webpack-cli/info": "^3.0.1", + "@webpack-cli/serve": "^3.0.1", "colorette": "^2.0.14", - "commander": "^10.0.1", + "commander": "^12.1.0", "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", + "envinfo": "^7.14.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^3.1.1", "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" + "webpack-merge": "^6.0.1" }, "bin": { "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "5.x.x" + "webpack": "^5.82.0" }, "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, "webpack-bundle-analyzer": { "optional": true }, @@ -9004,89 +9219,92 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", "dev": true, "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.3", + "memfs": "^4.6.0", "mime-types": "^2.1.31", + "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz", + "integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==", "dev": true, "license": "MIT", "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "express": "^4.21.2", "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", + "http-proxy-middleware": "^2.0.7", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { "webpack": { @@ -9098,18 +9316,18 @@ } }, "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", "dev": true, "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", - "wildcard": "^2.0.0" + "wildcard": "^2.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, "node_modules/webpack-sources": { @@ -9169,13 +9387,6 @@ "dev": true, "license": "MIT" }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, "node_modules/ws": { "version": "8.18.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", diff --git a/package.json b/package.json index 449fdcce28..f68fb8eb6c 100644 --- a/package.json +++ b/package.json @@ -28,17 +28,17 @@ "@babel/core": "^7.24.4", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-react": "^7.24.1", - "@svgr/webpack": "^6.5.1", + "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", "babel-preset-react": "^6.24.1", - "css-loader": "^6.11.0", + "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", - "style-loader": "^3.3.4", + "style-loader": "^4.0.0", "webpack": "^5.94.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.2", - "webpack-merge": "^5.10.0" + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.0", + "webpack-merge": "^6.0.1" }, "dependencies": { "@emotion/react": "^11.11.4", @@ -53,20 +53,20 @@ "@mui/material": "^6.4.4", "@mui/styles": "^6.4.4", "@mui/x-date-pickers": "^7.26.0", - "@reduxjs/toolkit": "1.9.7", - "axios": "^1.7.4", - "axios-retry": "^3.5.0", - "copy-webpack-plugin": "^11.0.0", - "date-fns": "2.30.0", + "@reduxjs/toolkit": "2.6.0", + "@uiw/react-color": "^2.4.0", + "axios": "^1.8.1", + "axios-retry": "^4.5.0", + "copy-webpack-plugin": "^12.0.2", + "date-fns": "4.1.0", "dayjs": "^1.11.10", - "material-ui-color": "^1.2.0", - "notistack": "^3.0.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-easy-crop": "^4.7.4", - "react-redux": "^8.1.3", - "react-router": "^6.23.0", - "react-router-dom": "^6.23.0", + "notistack": "^3.0.2", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-easy-crop": "^5.4.1", + "react-redux": "^9.2.0", + "react-router": "^7.2.0", + "react-router-dom": "^7.2.0", "react-simple-oauth2-login": "^0.5.4" } } diff --git a/src/Main.jsx b/src/Main.jsx index efe7f2834b..6ae7373e6f 100644 --- a/src/Main.jsx +++ b/src/Main.jsx @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux'; import Container from '@mui/material/Container'; import Box from '@mui/material/Box'; -import Grid from '@mui/material/Grid'; +import Grid from '@mui/material/Grid2'; import AppBar from './features/appbar/AppBar'; import ConfigManager from './features/config/ConfigManager'; @@ -14,7 +14,6 @@ import Preview from './features/preview/Preview'; import Schema from './features/schema/Schema'; import WatcherManager from './features/watcher/WatcherManager'; import Controls from './features/controls/Controls'; -import { Typography } from '@mui/material'; export default function Main() { @@ -36,11 +35,11 @@ export default function Main() { - + - + diff --git a/src/features/appbar/AppBar.jsx b/src/features/appbar/AppBar.jsx index 50ba7e4d18..5295aeed82 100644 --- a/src/features/appbar/AppBar.jsx +++ b/src/features/appbar/AppBar.jsx @@ -4,7 +4,7 @@ import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import Logo from './logo.svg'; -import styles from './styles.css'; +import * as styles from './styles.css'; import { solarized } from '../theme/colors'; diff --git a/src/features/errors/ErrorSnackbar.jsx b/src/features/errors/ErrorSnackbar.jsx index 2045e3eaf9..6e7818b897 100644 --- a/src/features/errors/ErrorSnackbar.jsx +++ b/src/features/errors/ErrorSnackbar.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { SnackbarProvider } from 'notistack'; -import styles from './styles.css'; +import * as styles from './styles.css'; export default function ErrorSnackbar(props) { const notistackRef = React.createRef(); diff --git a/src/features/preview/Preview.jsx b/src/features/preview/Preview.jsx index 7b83798b7b..9e07e96a04 100644 --- a/src/features/preview/Preview.jsx +++ b/src/features/preview/Preview.jsx @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux'; import { Paper } from '@mui/material'; -import styles from './styles.css'; +import * as styles from './styles.css'; const loading = `UklGRu4KAABXRUJQVlA4WAoAAAASAAAAPwAAHwAAQU5JTQYAAAD/////AABBTk1GYgAAAAAAAAAA AD8AAB8AADIAAAJWUDhMSQAAAC8/wAcAR6CgbRuml0g1/igHQkHaBmxo18iYgrQN2NCukbH5TwDb diff --git a/src/features/schema/FieldDetails.jsx b/src/features/schema/FieldDetails.jsx index 493094b426..aeef935caa 100644 --- a/src/features/schema/FieldDetails.jsx +++ b/src/features/schema/FieldDetails.jsx @@ -2,7 +2,6 @@ import React from 'react'; import OAuth2 from './fields/oauth2/OAuth2'; import PhotoSelect from './fields/photoselect/PhotoSelect'; -import RawPhotoSelect from './fields/photoselect/RawPhotoSelect'; import Toggle from './fields/Toggle'; import Color from './fields/Color'; import DateTime from './fields/DateTime'; diff --git a/src/features/schema/FieldIcon.jsx b/src/features/schema/FieldIcon.jsx index 06d45ae94e..285daa4fa2 100644 --- a/src/features/schema/FieldIcon.jsx +++ b/src/features/schema/FieldIcon.jsx @@ -4,7 +4,7 @@ import { findIconDefinition } from '@fortawesome/fontawesome-svg-core'; import Icon from '@mui/material/Icon'; -import styles from './styles.css'; +import * as styles from './styles.css'; export default function FieldIcon(props) { diff --git a/src/features/schema/fields/Color.jsx b/src/features/schema/fields/Color.jsx index ef3acc5fd9..651fa12b75 100644 --- a/src/features/schema/fields/Color.jsx +++ b/src/features/schema/fields/Color.jsx @@ -1,44 +1,42 @@ import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; -import { ColorPicker, createColor } from "material-ui-color"; +import { Sketch } from '@uiw/react-color'; import { set } from '../../config/configSlice'; export default function Color({ field }) { - const [color, setColor] = useState(createColor(field.default)); - const [palette, setPalette] = useState(field.palette); + const [color, setColor] = useState(field.default || '#000'); + // TODO: expose the color palette specified in the schema. const config = useSelector(state => state.config); const dispatch = useDispatch(); - // TODO: figure out how to update the palette when schema changes without - // a refresh. useEffect(() => { if (field.id in config) { - setColor(createColor(config[field.id].value)); + setColor(config[field.id].value); } else if (field.default) { dispatch(set({ id: field.id, value: field.default, })); } - }, [config]) + }, [config]); - const onChange = (value) => { - setColor(value); + const onChange = (color) => { + setColor(color.hex); // Skip updates that contain an error. - if (value.hasOwnProperty("error")) { + if (color.hasOwnProperty("error")) { return; } dispatch(set({ id: field.id, - value: "#" + value.hex, + value: color.hex, })); - } + }; return ( - - ) -} \ No newline at end of file + + ); +} diff --git a/src/features/schema/fields/location/InputSlider.jsx b/src/features/schema/fields/location/InputSlider.jsx index 884997567e..59d5cbb1f1 100644 --- a/src/features/schema/fields/location/InputSlider.jsx +++ b/src/features/schema/fields/location/InputSlider.jsx @@ -1,10 +1,9 @@ // Largely based on https://mui.com/material-ui/react-slider/#InputSlider.js -import React, { useState } from 'react'; +import React from 'react'; import { styled } from '@mui/material/styles'; import Box from '@mui/material/Box'; -import Grid from '@mui/material/Grid'; -import Typography from '@mui/material/Typography'; +import Grid from '@mui/material/Grid2'; import Slider from '@mui/material/Slider'; import MuiInput from '@mui/material/Input'; @@ -12,29 +11,19 @@ const Input = styled(MuiInput)` width: 80px; `; -export default function InputSlider({ min, max, step, defaultValue, onChange}) { - const [value, setValue] = useState(defaultValue); - +export default function InputSlider({ min, max, step, value, onChange}) { const handleSliderChange = (event, newValue) => { - setValue(newValue); - onChange(event); + onChange({ ...event, target: { ...event.target, value: newValue } }); }; const handleInputChange = (event) => { - if (event.target.value === '') { - setValue(''); - onChange(event); - return; - } - const value = Number(event.target.value); - if (value < min) { - setValue(min); - } else if (value > max) { - setValue(max); - } else { - setValue(value); + let newValue = event.target.value === '' ? '' : Number(event.target.value); + if (newValue < min) { + newValue = min; + } else if (newValue > max) { + newValue = max; } - onChange(event); + onChange({ ...event, target: { ...event.target, value: newValue } }); }; const handleBlur = () => { @@ -48,7 +37,7 @@ export default function InputSlider({ min, max, step, defaultValue, onChange}) { return ( - + - + Longitude @@ -98,7 +97,7 @@ export default function LocationBased({ field }) { max={180} step={0.1} onChange={onChangeLongitude} - defaultValue={locationValue['lng']} + value={locationValue['lng']} > Locality @@ -107,13 +106,13 @@ export default function LocationBased({ field }) { variant="outlined" onChange={onChangeLocality} style={{ marginBottom: '0.5rem' }} - defaultValue={locationValue['locality']} + value={locationValue['locality']} /> Timezone {Intl.supportedValuesOf('timeZone').map((zone) => { return {zone} diff --git a/src/features/schema/fields/oauth2/OAuth2Handler.jsx b/src/features/schema/fields/oauth2/OAuth2Handler.jsx index a785abb775..117f1ad7d1 100644 --- a/src/features/schema/fields/oauth2/OAuth2Handler.jsx +++ b/src/features/schema/fields/oauth2/OAuth2Handler.jsx @@ -2,7 +2,7 @@ import React from 'react'; import { useEffect } from 'react'; import CircularProgress from '@mui/material/CircularProgress'; -import Grid from '@mui/material/Grid'; +import Grid from '@mui/material/Grid2'; export default function OAuth2Handler() { @@ -25,7 +25,7 @@ export default function OAuth2Handler() { justifyContent="center" style={{ minHeight: '100vh' }} > - + diff --git a/src/features/schema/fields/photoselect/PhotoSelect.jsx b/src/features/schema/fields/photoselect/PhotoSelect.jsx index da70c7394f..3be9d97be9 100644 --- a/src/features/schema/fields/photoselect/PhotoSelect.jsx +++ b/src/features/schema/fields/photoselect/PhotoSelect.jsx @@ -12,7 +12,7 @@ import Box from '@mui/material/Box'; import { set, remove } from '../../../config/configSlice'; import getCroppedImg from './cropImage'; -import styles from './styles.css'; +import * as styles from './styles.css'; export default function PhotoSelect({ field }) { diff --git a/src/features/schema/fields/photoselect/RawPhotoSelect.jsx b/src/features/schema/fields/photoselect/RawPhotoSelect.jsx index fa7d344ff1..9700dd0793 100644 --- a/src/features/schema/fields/photoselect/RawPhotoSelect.jsx +++ b/src/features/schema/fields/photoselect/RawPhotoSelect.jsx @@ -1,18 +1,12 @@ -import React, { useState, useCallback, useEffect } from 'react'; -import Cropper from 'react-easy-crop'; +import React, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import Button from '@mui/material/Button'; -import Modal from '@mui/material/Modal'; import PhotoCamera from '@mui/icons-material/PhotoCamera'; -import Slider from '@mui/material/Slider'; import Stack from '@mui/material/Stack'; import DeleteIcon from '@mui/icons-material/Delete'; -import Box from '@mui/material/Box'; import { set, remove } from '../../../config/configSlice'; -import getCroppedImg from './cropImage'; -import styles from './styles.css'; export default function RawPhotoSelect({ field }) { diff --git a/src/index.js b/src/index.js index 44908d9e1c..b5af7b9ed5 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,4 @@ import React from 'react'; -import ReactDOM from 'react-dom'; import { Provider } from 'react-redux'; import { BrowserRouter, Route, Routes } from "react-router-dom"; @@ -7,6 +6,7 @@ import Main from './Main'; import OAuth2Handler from './features/schema/fields/oauth2/OAuth2Handler'; import store from './store'; import DevToolsTheme from './features/theme/DevToolsTheme'; +import { createRoot } from 'react-dom/client'; const App = () => { return ( @@ -23,4 +23,6 @@ const App = () => { ) } -ReactDOM.render(, document.getElementById('app')); \ No newline at end of file +const container = document.getElementById('app'); +const root = createRoot(container); +root.render(); \ No newline at end of file diff --git a/webpack.dev.js b/webpack.dev.js index dcbfec94be..a82564e060 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,42 +1,40 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const webpack = require('webpack'); +const { merge } = require("webpack-merge"); +const common = require("./webpack.common.js"); +const webpack = require("webpack"); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const HtmlWebPackPlugin = require("html-webpack-plugin"); const htmlPlugin = new HtmlWebPackPlugin({ - template: './src/index.html', - filename: './index.html', - favicon: 'src/favicon.png' + template: "./src/index.html", + filename: "./index.html", + favicon: "src/favicon.png", }); const copyPlugin = new CopyWebpackPlugin({ - patterns: [ - { from: "public", to: "../" }, - ], + patterns: [{ from: "public", to: "../" }], }); let plugins = [htmlPlugin, copyPlugin]; plugins.push( new webpack.DefinePlugin({ - 'PIXLET_API_BASE': JSON.stringify(''), + PIXLET_API_BASE: JSON.stringify(""), }) ); module.exports = merge(common, { - mode: 'development', - devtool: 'source-map', + mode: "development", + devtool: "source-map", devServer: { port: 3000, historyApiFallback: true, proxy: [ { - context: ['/api'], - target: 'http://localhost:8080', + context: ["/api"], + target: "http://localhost:8080", ws: true, }, ], }, plugins: plugins, -}); \ No newline at end of file +}); diff --git a/webpack.prod.js b/webpack.prod.js index c8a5b552f9..8abb09264c 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,39 +1,36 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const webpack = require('webpack'); -const path = require('path'); +const { merge } = require("webpack-merge"); +const common = require("./webpack.common.js"); +const webpack = require("webpack"); +const path = require("path"); const HtmlWebPackPlugin = require("html-webpack-plugin"); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const htmlPlugin = new HtmlWebPackPlugin({ - template: './src/index.html', - filename: '../index.html', - favicon: 'src/favicon.png' + template: "./src/index.html", + filename: "../index.html", + favicon: "src/favicon.png", }); const copyPlugin = new CopyWebpackPlugin({ - patterns: [ - { from: "public", to: "../" }, - ], + patterns: [{ from: "public", to: "../" }], }); - let plugins = [htmlPlugin, copyPlugin]; plugins.push( new webpack.DefinePlugin({ - 'PIXLET_API_BASE': JSON.stringify(''), + PIXLET_API_BASE: JSON.stringify(""), }) ); module.exports = merge(common, { - mode: 'production', - devtool: 'source-map', + mode: "production", + devtool: "source-map", output: { asyncChunks: true, - publicPath: 'auto', - path: path.resolve(__dirname, 'dist/static'), - filename: '[name].[chunkhash].js', + publicPath: "auto", + path: path.resolve(__dirname, "dist/static"), + filename: "[name].[chunkhash].js", clean: true, }, plugins: plugins, -}); \ No newline at end of file +}); From 6fe4ce30008b8e07064725ad0217ad1bd8e0bacd Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 08:09:40 +0100 Subject: [PATCH 47/68] Update build badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fade81e60..0867f5c96e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Pixlet [![Docs](https://img.shields.io/badge/docs-tidbyt.dev-blue?style=flat-square)](https://tidbyt.dev) -[![Build & test](https://img.shields.io/github/workflow/status/tidbyt/pixlet/pixlet?style=flat-square)](https://github.com/tidbyt/pixlet/actions) +[![Build & test](https://img.shields.io/github/actions/workflow/status/Tronbyt/pixlet/main.yml?branch=main&style=flat-square)](https://github.com/Tronbyt/pixlet/actions) [![Discourse](https://img.shields.io/discourse/status?server=https%3A%2F%2Fdiscuss.tidbyt.com&style=flat-square)](https://discuss.tidbyt.com/) [![Discord Server](https://img.shields.io/discord/928484660785336380?style=flat-square)](https://discord.gg/r45MXG4kZc) [![GoDoc](https://godoc.org/github.com/tidbyt/pixlet/runtime?status.svg)](https://godoc.org/github.com/tidbyt/pixlet/runtime) From 83c90af91dca5d05451508944a74ebbef36cbcd6 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 09:12:25 +0000 Subject: [PATCH 48/68] Require at least node 18 --- package-lock.json | 5 ++++- package.json | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7e81a4c8d2..784ccbf50d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "copy-webpack-plugin": "^12.0.2", "date-fns": "4.1.0", "dayjs": "^1.11.10", - "notistack": "^3.0.1", + "notistack": "^3.0.2", "react": "^19.0.0", "react-dom": "^19.0.0", "react-easy-crop": "^5.4.1", @@ -52,6 +52,9 @@ "webpack-cli": "^6.0.1", "webpack-dev-server": "^5.2.0", "webpack-merge": "^6.0.1" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@ampproject/remapping": { diff --git a/package.json b/package.json index f68fb8eb6c..19d707b230 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,15 @@ { "name": "pixlet", - "version": "0.1.0", + "version": "0.37.0", "description": "[![Build & test](https://github.com/tidbyt/pixlet/workflows/Build%20&%20test/badge.svg)](https://github.com/tidbyt/pixlet/actions?query=workflow%3A%22Build+%26+test%22+branch%3Amain) [![GoDoc](https://godoc.org/github.com/tidbyt/pixlet/runtime?status.svg)](https://godoc.org/github.com/tidbyt/pixlet/runtime)", "main": "src/index.js", "directories": { "doc": "docs", "example": "examples" }, + "engines": { + "node": ">=18.0.0" + }, "scripts": { "start": "webpack serve --config webpack.dev.js", "build": "webpack --config webpack.prod.js", @@ -69,4 +72,4 @@ "react-router-dom": "^7.2.0", "react-simple-oauth2-login": "^0.5.4" } -} +} \ No newline at end of file From 6edda9295f05327b7f29c2d8da5eba17b1b47e2c Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 09:19:10 +0000 Subject: [PATCH 49/68] Install the latest lts versions in the release workflow --- .github/workflows/main.yml | 2 +- .github/workflows/pull-request.yml | 2 +- package.json | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dad168600d..528200743d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -48,7 +48,7 @@ jobs: - name: Install Node uses: actions/setup-node@v4 with: - node-version: "16" + node-version: "lts/Jod" - name: Setup MSYS2 uses: msys2/setup-msys2@v2 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index db278840f8..c132aedf2e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -42,7 +42,7 @@ jobs: - name: Install Node uses: actions/setup-node@v4 with: - node-version: "16" + node-version: "lts/Jod" - name: Setup MSYS2 uses: msys2/setup-msys2@v2 diff --git a/package.json b/package.json index 19d707b230..c9593b3aaf 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,6 @@ "doc": "docs", "example": "examples" }, - "engines": { - "node": ">=18.0.0" - }, "scripts": { "start": "webpack serve --config webpack.dev.js", "build": "webpack --config webpack.prod.js", From 67c00e5517517b3974759794cfcbeb3023a78836 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 09:22:12 +0000 Subject: [PATCH 50/68] Add libpixlet.h to the container image --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 2fb53ab884..5d7889f463 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,5 +16,6 @@ COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /pixlet/pixlet /bin/pixlet COPY --from=builder /pixlet/libpixlet.so /lib/libpixlet.so +COPY --from=builder /pixlet/libpixlet.h /usr/include/libpixlet/libpixlet.h ENTRYPOINT ["/bin/pixlet"] From a98b5cfd7e8bc491891b1d04b24750e0aa55eb0d Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 11:29:13 +0000 Subject: [PATCH 51/68] Remove outdated babel-preset-react package --- .babelrc | 8 - .../sunrise/{sunrise.star => example.star} | 0 package-lock.json | 196 ++---------------- package.json | 4 +- 4 files changed, 17 insertions(+), 191 deletions(-) delete mode 100644 .babelrc rename examples/sunrise/{sunrise.star => example.star} (100%) diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 3edf0579db..0000000000 --- a/.babelrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - "@babel/preset-react" - ], - "plugins": [ - "@babel/plugin-proposal-class-properties" - ] -} \ No newline at end of file diff --git a/examples/sunrise/sunrise.star b/examples/sunrise/example.star similarity index 100% rename from examples/sunrise/sunrise.star rename to examples/sunrise/example.star diff --git a/package-lock.json b/package-lock.json index 784ccbf50d..16ef7129f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pixlet", - "version": "0.1.0", + "version": "0.37.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pixlet", - "version": "0.1.0", + "version": "0.37.0", "license": "Apache 2.0", "dependencies": { "@emotion/react": "^11.11.4", @@ -26,6 +26,7 @@ "axios": "^1.8.1", "axios-retry": "^4.5.0", "copy-webpack-plugin": "^12.0.2", + "core-js": "^3.40.0", "date-fns": "4.1.0", "dayjs": "^1.11.10", "notistack": "^3.0.2", @@ -39,11 +40,10 @@ }, "devDependencies": { "@babel/core": "^7.24.4", - "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-transform-class-properties": "^7.25.9", "@babel/preset-react": "^7.24.1", "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", - "babel-preset-react": "^6.24.1", "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", @@ -52,9 +52,6 @@ "webpack-cli": "^6.0.1", "webpack-dev-server": "^5.2.0", "webpack-merge": "^6.0.1" - }, - "engines": { - "node": ">=18.0.0" } }, "node_modules/@ampproject/remapping": { @@ -503,24 +500,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", @@ -3887,18 +3866,6 @@ "axios": "0.x || 1.x" } }, - "node_modules/babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha512-02I9jDjnVEuGy2BR3LRm9nPRb/+Ja0pvZVLr1eI5TYAA/dB0Xoc+WBo50+aDfhGDLhlBY1+QURjn9uvcFd8gzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" - } - }, "node_modules/babel-loader": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", @@ -3990,131 +3957,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha512-HbTDIoG1A1op7Tl/wIFQPULIBA61tsJ8Ntq2FAhLwuijrzosM/92kAfgU1Q3Kc7DH/cprJg5vDfuTY4QUL4rDA==", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha512-TxIM0ZWNw9oYsoTthL3lvAK3+eTujzktoXJg4ubGvICGbVuXVYv5hHv0XXpz8fbqlJaGYY4q5SVzaSmsg3t4Fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha512-QLYkLiZeeED2PKd4LuXGg5y9fCgPB5ohF8olWUuETE2ryHNRqqnXlEVP7RPuef89+HTfd3syptMGVHeoAu0Wig==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha512-s+q/Y2u2OgDPHRuod3t6zyLoV8pUHc64i/O7ZNgIOEdYTq+ChPeybcKBi/xk9VI60VriILzFPW+dUxAEbTxh2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha512-Y3ZHP1nunv0U1+ysTNwLK39pabHj6cPVsfN4TRC7BDBfbgbyF4RifP5kd6LnbuMV9wcfedQMe7hn1fyKc7IzTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha512-pcDNDsZ9q/6LJmujQ/OhjeoIlp5Nl546HJ2yiFIJK3mYpgNXhI5/S9mXfVxu5yqWAi7HdI7e/q6a9xtzwL69Vw==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha512-PQZFJXnM3d80Vq4O67OE6EMVKIw2Vmzy8UXovqulNogCtblWU8rzP7Sm5YgHiCg4uejUxzCkHfNXQ4Z6GI+Dhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" - } - }, - "node_modules/babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha512-phQe3bElbgF887UM0Dhz55d22ob8czTL1kbhZFwpCE6+R/X9kHktfwmx9JZb+bBSVRGphP5tZ9oWhVhlgjrX3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-syntax-jsx": "^6.3.13", - "babel-plugin-transform-react-display-name": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.24.1", - "babel-plugin-transform-react-jsx-self": "^6.22.0", - "babel-plugin-transform-react-jsx-source": "^6.22.0", - "babel-preset-flow": "^6.23.0" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -4648,13 +4490,15 @@ } }, "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", "hasInstallScript": true, - "license": "MIT" + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, "node_modules/core-js-compat": { "version": "3.40.0", @@ -5135,9 +4979,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.105", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.105.tgz", - "integrity": "sha512-ccp7LocdXx3yBhwiG0qTQ7XFrK48Ua2pxIxBdJO8cbddp/MvbBtPFzvnTchtyHQTsgqqczO8cdmAIbpMa0u2+g==", + "version": "1.5.107", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.107.tgz", + "integrity": "sha512-dJr1o6yCntRkXElnhsHh1bAV19bo/hKyFf7tCcWgpXbuFIF0Lakjgqv5LRfSDaNzAII8Fnxg2tqgHkgCvxdbxw==", "license": "ISC" }, "node_modules/emojis-list": { @@ -8869,16 +8713,6 @@ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", "license": "MIT" }, - "node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/package.json b/package.json index c9593b3aaf..82372f6b0e 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,10 @@ "homepage": "https://github.com/tavdog/pixlet#readme", "devDependencies": { "@babel/core": "^7.24.4", - "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-transform-class-properties": "^7.25.9", "@babel/preset-react": "^7.24.1", "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", - "babel-preset-react": "^6.24.1", "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", @@ -58,6 +57,7 @@ "axios": "^1.8.1", "axios-retry": "^4.5.0", "copy-webpack-plugin": "^12.0.2", + "core-js": "^3.40.0", "date-fns": "4.1.0", "dayjs": "^1.11.10", "notistack": "^3.0.2", From e3a129f8c99e0920a9688da0674da262f6d1c792 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Thu, 27 Feb 2025 12:05:38 +0000 Subject: [PATCH 52/68] Add missing file --- .babelrc.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .babelrc.json diff --git a/.babelrc.json b/.babelrc.json new file mode 100644 index 0000000000..06fd0b7134 --- /dev/null +++ b/.babelrc.json @@ -0,0 +1,14 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "useBuiltIns": false + } + ], + "@babel/preset-react" + ], + "plugins": [ + "@babel/plugin-transform-class-properties" + ] +} \ No newline at end of file From a3c9ed7681e2794c013625ad28604eca519cdf4d Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Fri, 28 Feb 2025 00:29:43 +0100 Subject: [PATCH 53/68] Reduce React app size (#17) * tavdog -> Tronbyt * Compress images with ImageOptim * Split the React app into smaller chunks - split the code through dynamic imports - increase the bundle limit to 1 MB - optimize imports for tree shaking --- .babelrc.json | 9 ++- docs/schema/schema.md | 2 +- package-lock.json | 58 ++++++++++++++---- package.json | 11 +++- server/browser/favicon.png | Bin 579 -> 420 bytes server/browser/preview-mask.png | Bin 182939 -> 87452 bytes src/Main.jsx | 1 - src/favicon.png | Bin 579 -> 420 bytes src/features/appbar/AppBar.jsx | 2 - src/features/controls/Controls.jsx | 4 +- src/features/errors/ErrorSnackbar.jsx | 4 +- src/features/preview/Preview.jsx | 3 +- src/features/preview/mask.png | Bin 182939 -> 87452 bytes src/features/schema/Field.jsx | 5 +- src/features/schema/FieldDetails.jsx | 2 - src/features/schema/FieldIcon.jsx | 5 +- src/features/schema/Schema.jsx | 2 +- src/features/schema/fields/Color.jsx | 3 +- src/features/schema/fields/DateTime.jsx | 2 +- src/features/schema/fields/Dropdown.jsx | 2 +- src/features/schema/fields/Generated.jsx | 2 +- src/features/schema/fields/TextInput.jsx | 2 +- src/features/schema/fields/Toggle.jsx | 3 +- src/features/schema/fields/Typeahead.jsx | 2 +- .../schema/fields/location/InputSlider.jsx | 2 - .../schema/fields/location/LocationBased.jsx | 2 +- .../schema/fields/location/LocationForm.jsx | 2 +- src/features/schema/fields/oauth2/OAuth2.jsx | 2 +- .../schema/fields/oauth2/OAuth2Handler.jsx | 2 - .../schema/fields/photoselect/PhotoSelect.jsx | 6 +- .../fields/photoselect/RawPhotoSelect.jsx | 6 +- src/features/theme/DevToolsTheme.jsx | 7 --- src/features/theme/theme.js | 2 - src/index.js | 15 ++--- webpack.common.js | 7 +-- webpack.dev.js | 16 ++--- webpack.prod.js | 33 +++++----- 37 files changed, 126 insertions(+), 100 deletions(-) diff --git a/.babelrc.json b/.babelrc.json index 06fd0b7134..87a581bea0 100644 --- a/.babelrc.json +++ b/.babelrc.json @@ -6,9 +6,14 @@ "useBuiltIns": false } ], - "@babel/preset-react" + [ + "@babel/preset-react", + { + "runtime": "automatic" + } + ] ], "plugins": [ - "@babel/plugin-transform-class-properties" + "@babel/plugin-transform-runtime" ] } \ No newline at end of file diff --git a/docs/schema/schema.md b/docs/schema/schema.md index 1dd7fc2205..d91d4aee0d 100644 --- a/docs/schema/schema.md +++ b/docs/schema/schema.md @@ -64,7 +64,7 @@ The `get_schema` method returns a `schema.Schema` object that contains _fields_. Next up should be more familiar. We're now passing `config` into `main()`. This is the same for current pixlet scripts that take `config` today. In [Community Apps](https://github.com/tidbyt/community), we will populate the config hashmap with values configured from the mobile app. ## Icons -Each schema field takes an `icon` value. We use the free icons from [Font Awesome](https://fontawesome.com/v6/search?s=solid%2Cbrands) at version 6.1.1 with the names camel cased. For example [users-cog](https://fontawesome.com/v6/icons/users-cog?style=solid&s=solid) should be `usersCog` in the `icon` value. When submitting to the community repo, the icon names are validated against this [icon map](https://github.com/tidbyt/community/blob/main/apps/icons.go). +Each schema field takes an `icon` value. We use the free icons from [Font Awesome](https://fontawesome.com/v6/search?s=solid%2Cbrands) at version 6.7.2 with the names camel cased. For example [users-cog](https://fontawesome.com/v6/icons/users-cog?style=solid&s=solid) should be `usersCog` in the `icon` value. When submitting to the community repo, the icon names are validated against this [icon map](https://github.com/tidbyt/community/blob/main/apps/icons.go). ## Dynamic Fields Pixlet offers two types of fields: basic fields like `Toggle` or `Text` and dynamic fields that take a `handler` method like `LocationBased` or `Typeahead`. For dynamic fields, the `handler` will get called with user inputs. What the handler returns is specific to the field. diff --git a/package-lock.json b/package-lock.json index 16ef7129f3..10419cbe93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ "devDependencies": { "@babel/core": "^7.24.4", "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-runtime": "^7.26.9", "@babel/preset-react": "^7.24.1", "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", @@ -1368,6 +1369,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.9.tgz", + "integrity": "sha512-Jf+8y9wXQbbxvVYTM8gO5oEF2POdNji0NMltEkG7FtmzD9PVz7/lxpqSdTvwsjTMU5HIHuDVNf2SOxLkWi+wPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", @@ -1620,6 +1642,20 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", @@ -3931,14 +3967,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4979,9 +5015,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.107", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.107.tgz", - "integrity": "sha512-dJr1o6yCntRkXElnhsHh1bAV19bo/hKyFf7tCcWgpXbuFIF0Lakjgqv5LRfSDaNzAII8Fnxg2tqgHkgCvxdbxw==", + "version": "1.5.108", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.108.tgz", + "integrity": "sha512-tiGxpQmvXBEzrfU5ertmbCV/nG5yqCkC1G4T1SIKP335Y5rjXzPWmijR6XcoGXZvVoo4dknfdNe4Tl7lcIROLg==", "license": "ISC" }, "node_modules/emojis-list": { @@ -8648,9 +8684,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", - "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.12.tgz", + "integrity": "sha512-jDLYqo7oF8tJIttjXO6jBY5Hk8p3A8W4ttih7cCEq64fQFWmgJ4VqAQjKr7WwIDlmXKEc6QeoRb5ecjZ+2afcg==", "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", diff --git a/package.json b/package.json index 82372f6b0e..bb73216f1d 100644 --- a/package.json +++ b/package.json @@ -10,23 +10,28 @@ "scripts": { "start": "webpack serve --config webpack.dev.js", "build": "webpack --config webpack.prod.js", + "analyze": "webpack --config webpack.prod.js --profile --json > stats.json", "clean": "rm -rf dist/static/ && git restore dist/", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", - "url": "git+https://github.com/tavdog/pixlet.git" + "url": "git+https://github.com/Tronbyt/pixlet.git" }, "keywords": [], "author": "Tidbyt, Inc.", "license": "Apache 2.0", "bugs": { - "url": "https://github.com/tavdog/pixlet/issues" + "url": "https://github.com/Tronbyt/pixlet/issues" }, - "homepage": "https://github.com/tavdog/pixlet#readme", + "homepage": "https://github.com/Tronbyt/pixlet#readme", + "browserslist": [ + "defaults and fully supports es6-module" + ], "devDependencies": { "@babel/core": "^7.24.4", "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-runtime": "^7.26.9", "@babel/preset-react": "^7.24.1", "@svgr/webpack": "^8.1.0", "babel-loader": "^9.1.3", diff --git a/server/browser/favicon.png b/server/browser/favicon.png index 189f47ca232c51113928088d1eb5cee05c5c18de..87e93eb2010fdc4864ecd1185dccefd48b9a6b76 100644 GIT binary patch delta 395 zcmV;60d)Su1f&CyBYy#FNkl3q-_ux<0Ui6iRZ zJn+s6Xdzfhe+Nz={3Gr}`u!fmeH>5on?tKR(hug+BxSy7|(7k3drS zu1k8Kv<7US_z8@92%J*}nvIcNC0V$((f)&1X1y$I(NumK; zm=4g;k0V{f6n{E+@DlR@xj?hY3}~d15TXkwt}_1$LL?Ya2AorrV1Ot80}ke@HdUN5Lon0G>nH4~uRE%K!iX07*qoLn4`v3p{8FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H10nkZAK~z|U?bf|(lR*H-@lQjO(#D7{XccM=B9%m~ zP7Z=NC^}R#>3`ths)(JO9F&US?4XE3akJ7%oYY!pUl38yQGdmtw1EiKJ`QOhN%N#n znxuo|2e;fk&wao5+&ymrXxC7&uK>@*1`Hi=@j)R>5ug47(E1+Rz5f71W z7krn}=vD&PmOPHP3QyzPD&Xa^fRl{?Jq_BDn8p6e%F#19@nnD1gP9+FHpY_R?$i4U z#X@ECFC4Qd8ut%tLjeAaClP&Oud?}71)4V7^?>f`vRNs8L8Ta z(X%;;b*0gcWXHr}z4~Wg8d&%X?mW3?zFMH1qj(m=Tb6So%<=fu@4=OcVz6Z}8)ZG* zt_KR+L{3FDZ6dj51hO3v7*uD?g$Zo$fB+iG1nxLo%3dmq= zBN74Wp{QU$klqP_VNj`|h!A@IwRb?#+4!F8yytx9{c|Y^B-!OD>$%rj_qv~pzwX{D zIRigq(xgd}+qdcLois@XUP}BnZ8AJf8kzPIe*WXs-mRM_vGW%+!!OfMZaaKx(xe|} zBme&~>2?SX{uuG=uKio!`Ts8u71dZBxK{Pkdw1`fG*jv)=~=VqELiyS8U;17rqw^EQ%=o1fW ze^rv#olLfpUq;sCyLlF~xBo%^fjQZ`xM;?5;h^WeW~-x>3b#)y-)eB~kd_L}?QVa4 zy;HQ%@m)X3>&0;;oWztbp131~Wf`yYTA~L!WcA6{>!*M5?&xQ^vV<#qWQdqP z6}`tT^f}dK0rY*|>=Y?MnoU#Adyg>dih@<1%LWYgbCL(Fns#s`D61H`yp}i)r_I|w z_fh&(ZBDfr{5{#&qT)UJLqcE`=x^P0>BaHb=S_xBBP#6N`R0FX1h|UI*$o*fkDa=o z(Quw`3FZ=1OE|x6TGmnh>M}Mx&Y;|)|NT-4!GJ+&flj*hWm@frjve}NbbU^*x@kkf z<97G;*3n(z=esWId7kp7$8q*)>!a7gh^L!Ld0tjdu4Cs}*BzGD){m2YlXpJj2}qGAwf++<^<0R`1H&`^~j;Z#?p*xbt7 z(hm-l1S?}+P&F=+K$IeK!)01$d25`0)v1Yt4$6zmjamoI9yc{(FbdjVf*W5gSo8RO zLK6w|DCN@{RyJ}mhY*KsysfrqOLmfxL{EoB9Jq5q(O%-w180N=TN$e;!y0gP3eX2-3K@g&H5rd% zRdAOAWd}(r30J$-i1+5!cxnmjv|%h&dlhB+ZhyPP^w_|4%m&&(9*9^eJeb9ZBxEg> zaD|IlB~XU52$XH|3j^qa7s!29n<=fYrKx+qp~!lkC{@efiR(S?ELZCT@5Ck1WmaUo zm!S6FYT_89!^5kni*7PQCiAMR{ZDCHm{a!}rKUZ-YKP}d4C^t4bx&IRFJm?Tk=2+@ zxt-{pxzKEOa{=a%x}jpctwyU#XW$v;?Ji~FW(h-d?`h@!-E2+q(ku2|WN#RA@uRs6 z*0*=yNlV(B*YTV^X4J`HT^pCpEHpfjl(7DU4PRZss1kYr?c`wVK%-O8gVs{s$XrrD zT1Y$bHHC&XoR#RdnM0nj0bQ>JxIHjh(v(i$hcN~}ka0joMqDs2Bz%=ObdK}jGN0g; z9cmd~YZY*4zljHx7xZFF&UKjYpyn@_qd93F*#S~1lIlIHjs_+{R=*{cU(;#UaPsbr2|F>U2H09ec;YIyODE_ zTE|Y!8HD<#rz;!VO=dTwO{Ro*tW=I2RDfp4Eo`3$CxTIre5>6llC3O3ElWG}vXJHu zv#STOlf4#yNWWD7Q3l(Pl~1$xH(Kq&WE|Vd$ac1ayO@fYMrSXu@qzWiB(@EkN+qG~ zEh9r|@iBT-2+>Qq^yShx8hU*S5+wkZY-kge%0@uk> zA4Rqbg6akf;*sui+>}?CL(Y8p zCuQzt@2N7{pQlu(XzHhNxV*^s#NOxIZe#Xb0C{nBSQ7Iv=Ox!xhRg6r*OS4gXlDe_ zWex~(WYf0D^w?FrPkKtd6dq9n@3h*zI$oOZo2cu6->%EJlEG9%Odp$mxx*hZH}EP~ zb!FNa8E?A#WtU|Gk&y=aucf`ArQjWb{R@iDsi5~i7aLv2n&S-;jJEaNTFf)ccH5nn znQwl2Y($F3lLoH#V()QSJz(9zEmK~6q@(%R;)QX3WC~*l7L^F9ccV6}HqM%06usG} z%}xngF4;c{Uo|D8`$Zr9N{I&d;|g5Q+B;)Mg>io8tEuxSNxG;>k^WQe$XwQD?%lda z7oyw9Fl@ZpeswUO1l4?7=P7ZBxgEOW8mQ!U*$S*ROtD~6K|@*Z{3t3jjDU4#UiRJ; zI$7xT+U5E`f_qF)dd|lFR6K=V;UuM)T2Y&u!FSZbT9c38FjsF3IhDT-ei*iu^Je@* z59eJUGyT={i#j)consW_DAIrbi~nuXb=KjAGqgW7`qHcZAH&E0^65G~VS%$r3o4*^ z#d~8vC_~KrlX0Bdj1ri%k{j?7Jfz9^62Vf*u;N^Lb>RdL-)BWf?`X$&$NUkF{g5^? zahujZ(?k;c!K}pdb!Vj|*}AA&o>o1^G$_(gv8kZjRxzncX(`J zfJjGlH{M#m!<$;g_NFYwUpHCqaJ!UcU%K2=N|F~xmE^=wImJ;_a>6P}p5rOxPfSAs z{eF13-dT!u=y~JU$?zKUA-$cIF7>W$a9mSJ(c6zdj3i2Abebx0XYIa!=!b`^mUDF! zUReF95;B;6@ATYxv8_9n)s{fxujSwF(75JOZl^%~=C3qP6i&+kic>zSQtikv!%af;il*pgwpwkuQrnA8%@ipV5u;d@EvyIp z30(r+v9*%6Yf%YqhvM$pp4nI@)hqGk44EHJ3NynRT8}Ilk+|r(M!xtPXMXx>BJ`??pw|yaY*Nyej9eXe)K8Cr16oPry>aE1b$r zpbZ@I-MD)d&YZzo`#?NlFS-I_;R)cqT1V<-^h&{JKSr)#Nm#4?@K46d$Vt zPHx^eC`O=qR^Xp^YOW;I=Y_eycE6;}*ds|`y6gLg^X0@&YP*pX_cuVF?f^qQ%3B^k zFFeru3hzztMm=dj+|?{S;`xZhZ^6(1`ygQ*CT0$P*Dzvw)n0iPQQ0FFJUIk(E2nHi zoZimvqhKXa)Cm47<2#~bI^B!eey(dDVZN#ae4^DIP|PZ^UjV4S4u#&}Jv}O=4bY|% zTjiNO+ZYDu3=I&51M-gpphLH%ffoVz6>0h_p-d&-OqKYxn8WM=^Ctz)CQ8DS<4656 z4=I0;L`)+@7RDSB-cfy+USfcJfiggwvMAyNbM7YtWKo+aV_MTE9EUE|UYf3bUbzdi zS8kIx2YJ3xlYK8qXjElPrHmlfQTV&~^64^>5UohRtjvXI#WTBOuL=*uLrV>?af~9F zMIm;|%)D(3tsEx!s|a%R>4+{0fZL@C%2n}oDc<4K^veSqiVCV92a`vr&4ASr!@Jey zywYJu8J&dNfA1T(i&C|m4u?Ui2}gp%cUZz*YEmF>L9{7t0ptOcF9u^*>jUn9nJI1y znIjkpY$|`oXQ~oC!ApzF?F4KY;aL^wI`{h*N)j1{6qPvBbH3r%XDW>Rc1Lte_3ck* zC8sQQpe{S9-O+sjU+W{N4uG{fAehIdT0XI@4Dj|AhIiE$4OyscFH}E9EQ(q+x@t@E zdNkW|@>Fdq^7uzH*Z=`ERQz~BTefhnHeGtg^~2jrFT7hc*B_4LO&#`>;`Q)poLot} zLOQ=DPj%?dph8inVJRKH5C4UN8wZC!&J7w^$vnrsgMYXN-yUuRP94>hCpHwDz#9ROS z0ANa`*JLyb`m?Bl^6P>B?qe>!{oyj^&wdS^r{7+gYP*-Qg~?Q*_|CHYen$65U4X2O zl*TQ_TuMw^OhKbX%$aK=Y5VMUTwAjJU;I~^mi*9Mze0=sG=DeelQsV|9l-$Qkq5kr zOrv**j;xVqZ3@G*NiQfVxPppi+t&WR#hAenl@j&jGdue4(EKo`G2S9%PsyNe0cP;y z_K5{`Yf3~%Y8PU<Kb3r@sQ2YF^0}DDRNu z0GLx%TAz^n(LR?qbNn5S-8My=aos2Ou+#)tN=dflfyN!oS+DZEsperGrvvlN(%NYW zmcca4d$Y2W2sBufYjn0NRBx3@Hab(i5sL{J8?d#vAlau*kCEUF&>}upUA@8iX1q21 z4aTzIrDsj7xo^uc!McP;arS97_FvF7xV|nVYwJ;T$kyrEPW7=Kt{|cQQ!lN^u`Dl@85c+`6fiVaITR54@+FaU{S5;^3M7?mc|w z6budpFCz{^h`(PXHfRwfliqU|g`N}g?C{d?rF!sBqPwKjn-)H?;c~gE zh0p`*GQiN%WoY?P)Q*hwx$qlYn*`;@1j4Cpir&S>irwQPFrPb!v67j{(|Q&l!VYTg zAbRhL4$Ah#4m{qM)_$P)N@v92iyIleJ2)~N?}6weG=3Z}RQGQ}l$W=bHbs0<^tk*CRteoYbMeu3*G`0~ZKEl5`YL%p92k{h9B7SfVXXS(FRf&3) zb_Xmg+XGc#&cGTzyFFYwno1UGx;eoTFIX9Fq#t@<9X_6S*i1jZH32a~SDr9&j(hKw zPY{||9xwgaakGhr1j$>&azEaX56z_wy`!H&I4vbvN0sy}5ai@Rqya@6Hu}WmB3iW$ zd1RMrngQ!|5g4Q5PEB}^T~k9>tvQ+jK?x0&6e%%gxFLu)plrQ4{_e-W-a>xqJiDrr zp*jIbh*A41@Af0g+JeHMo_nNULy^?$X-dIXY<$oai zol8Cl=nrcS{5wOqP`7bw27OquCAi7Xwmf+Lh(T2VG6V$4Tcz;Ll*|`hSyGs!q9;B7(5Blo-$tx z9T~-7^6Wf^Czuf(2>Sd&%sD+wG0~75-vZ-b|Ddw?Ko7l+rZ1&B!^)=h@q8wgnv^84 zsw~UuFyf>M;s-_EWD5?`yd!r8Z(8(y#+YS)4!s|-6g_=77~H+m;zlX%two{_vOpsJ zK%;T+$VjjCf$kA^p~@v5Etypk!Sl%)j>z)iMU=26gpfHF_XwdO)T1LQDe4>gr8gJ$ z9b@`?Bk1AsBk1V;G?^D`;C7YKK?JhxIV3=aef6^ zi^f*WCxBz#BEd1PRLDS@9tCh3IFH$UuNP5N06|k5IvFQiPi`=L;JKzT!HbR=**Ceu ztRxg1Y&MIiN}P|qqLipNYdvtgGCUh|vC~jlfBhrJer#C0d{R zP9?P>c5oBR^=I(P;mL9fLI@ zd0oSOz(-TOy7Y(=CGwJ(4MneQQc&AGkN;i6wdj46KxFm%gq+Yd*HKEem2?arpL@Jg zq2W(Pxr%LhEOx_`P;mEk3D}S@w&<`8W2gm!oQL)sCHf%k1?>ioEYeG<-Z^ znPs>9GJ?#qsm3~7a{|CUB?R`>{_dKXR0nq__J2tzD#)$8Bt7uQJxwg!!L1;WOfL(5 z-Mhj2=;tOM=hYb6oj626HhN9N4#x5Mm=$129zACG?X&>i1A^qo7GnT-!S*NbPQCyOOu& zL|^NYH+#zM6BMXurr6(PK_|exjF0%VtO5R##UpSoJ|es*TyWEXyFXWgX@}ohamWfq z1qkFrm%?}Onb!BP66(XVEZz~H`cYJLut&648~efPq9m@*RPl*mSs%5EMbC(yxYh?b zBrMJ7;DqoEvhJmrM_sn0dr2@A;mkNO9+~LOark%hNO_yF&#DclRlMOMX<55@uD~wE zYJcwo1f-(21qos$CwX@SAVDL6)jhSg9RNVGYo;yJGQMQ{bhiobEagGn~%MkbEWrvgqs%w%tXl<>`+1fLsky;fSA*>-rOiA?MNNC6DA*I`fc%yxte_JXyVe&6S?#xjU>bzizzad3 zDcavOeH8s5Q8)ZWrh`9Rapeu0*nK{8bICP$y4b8-kz7i*jPhg5V=6gt&x=n z6I!e-upg$j_ttq{I-n6|y}w7L_)*IlQ!((=KTL?{vB4;TMI5;qb!nuMkiLqe@*+L21R(ASK-BlPu|r5NwbtEDyEsyQ zBK1tJ=PD$b2%i%+{X(RQq90vdE;~L!_{F?QA~eef_bCQj_Gv+%$>Zhz2l)D^aGP?- z{4Tpo{l8As6SpYIUF*~AG-iHrqH(|IsuqXl$4A%D>5nIXz(uA+{_8wrCtuI?ZS%;f zzZX5=Zuj$cwSYcD=j3~EC6GDl-WNIQ1!=P!dAj7p6vKAIzw8tT-wnU}dBT7wU8T53 zk!{zJR?9zT7;@n!6~Bn03h?ZBWu3aQRG18_kl|UUBP>MXtniviA^azB)UB zx|61zT|R?SYc|DLe#VLS=PEtTdc)UBrX1J$@t;1Ma$uTMGM2K3*FKC_bT#hVx8kPK_p6 ztFD`VhJd+H?JmK+kqiE)kw5j*x5k5*WfpJB^PbviU`F}WRZU_l$s(u0SD1m2hIO$!#yPA&D63BA0eCjgz)C+4!R!((F8FICeVZvaGN8;pxj{wWO0`m^kuDx(Zmwdo zH~)nh==Yz7iLPGdHgxP0TOMCK=C4lDH5!vJ|snikS866{&n*$l>q*MzWdJ zDDZaL^D4VUj#19#;DLfy>mvk0Bwd_|gKY6oB=GA{rmsvqVPCeock$(hOf6H)D7s~4 z#)w^f@dWsEG<81#wnb9+^C7*SFxIzUv@@Ds-$U{r!48$`0`W9;&g^FFC~PT0Jgxio zu^aAJI`{kc`Cy(sOYP;!iW{}GO!Y+4<8N_CyXo4_%PF$Zdot$c8^6I0h2HBISwsvg zVj4LZ1kI=R(F;nRt*u>~Yz8A(%m+o7l)%A8sJ-yR46@mMWz2*N+4Q3?5=}!wNhc=e z8vC2wvpej&dV2n^4vr|JB2FVy`qBty5I{F$<4_4%KfTGR3EqI`PH^)-qS z)oo0TFoLskx}7zSVZk_g*#5en>0HJ?h%1RE;vhO*V|=2jV>#CxQb-Vx*P-pVq|a71 z*D-s8#O&j9JKZ3%(_PJMdaUc~5_OM-*aN)&6Q;2&o`|Yms%Q&_BOxw$P@w&l! z@wPk&`6IDgS*uFgQC^Q5cnSlW=FWx(s@YB#JE{$pQl8pWm^)TQQKt~k2@dZ2aE(%X z;)dFhQ8$_0h(_@_wEWIAhq1(u1kb&&PFf*!{!(A#JD4GrOpEh`wlr1xVF$yi>$u5W zDFOgs`YZH~#^T4Ft zS!J=jZL_{GH>2las54sbht^sQsmb=NSKNM0X(Z5J83{>9bRgge@$y`iQpN@0_DEu+ znTt0J_9Pf6;j--2yUds1r@qw5)H&b8_(8H`*syBmf;Cmkr92sq5KIN3hG|vrhg2y>8U%Zr7qwqS@1=}V#0x_QA z6mY>H=79c0A9&1lmTT{q)n`RlB)U|bJSB;^Zb*2n%sIYZ?^pWqqqMh2BmV24p#%`t#lGTGeNtf$A#B4ym!@!31maKT!h~t3} zz1eF%zF+Ej5Q+W6o9%jyT>Wh8z#EB0tL{dZWP2i1RDPfulG#H3=OnKZb{gzw4e%Vh zYp!j^(*yL4AvAE<(n6=O&!};xOR)M&^_l6nD*f)C-=X8UYtMG;b$?h}?TC5qA-bZo z=iOBY3jVm0@fH16bH8oxrAI_37ArJ6$p^;|R_(%33k(_UD9wlsMMJH3S<;a>?luoY37(vnq*;8^pT>u8u##o3NXK#F4cRCV}8X!MaZBL@Qq{`?s38K zwxVYm9cCd{GPg0b3Du5T2zf7KVXTiZ=WDp?O8P5)%{putlSSTZT2R%xd|kzgfvWi#vJ6>4wcD@4jNm4I&&{Swq_jM1T(y7(3ws)P4i&PKRsYg8 zpnDK5c6k@MqiiVnW?b$`Erg0G9LKObskM?|Z|GZtX(1&_6Pa15v*l^L=OO-jz< z`FhSD!Z6LgdNS#Z)y{&F8_`ZC{{uOa8*$}Tc9tP7l&O#K^=hPq2;;XJC8fr;dh{Xn zAShm)9v|$Gy?RUY_GfS8FjuZpm0}Oiyn`dy^+>ABIk&D~x;TVgaI_NNpWg8VGW*z+ zf(QPKPmL(bf0&3%dM`T!N&HVlM7{K;|LHf6owjj4p}axZO{ zHA0RScgg!|GbsIA1(jz|r-YQMF;e)xKE`ju&vh+pc*~dyvvrJmJopv$*qyO|B=Qz1e%b$*H>K$-hM$&?VXVx-MQu}d4>TTD{q0I+g)NC;#z|M>~G zn0EOpHu>WP-aq~aZf{DUz2+<;X{IfV`r|NDC7cRnYgcu^L`aTFqC2A8?P{~OSH6c- zQkhaea{rLgMcLGe!25(!Ftk^|Z}+PAsDz%GVqz$uJaHvjVtR2gwB@&GgSb#=AYO*C%iYnIAv3ahGz2NNY&W2Mu~~^?O?n>2LaZ+V4##rib4> zOPPKmZqv@Q-}i|WT`!aos~-~z`p*XMQhv?w=FV5^HBPoGVE$3qcbBX2ihlH?zsl$`Y4H1^rAo{3@HV`U*vyJIv~clXrn zUxXd1wy=0xUb(6@zIBg#MY-9ui4NA_F8O~JEB>c0>`&nhM_$jvH0#!hl0ZZerR*pT zZDB$2{x4wSxL;(*f7u6>3(_6&etKW^(b%uV0*XIZkVKk0?rUQ&J=z^i3s^sTK+L<^tGXalka zXmNcR?J%n`I1u>t1xRMY(BO3U9j$R8&-50yaO6Q2*KvA-25S&ysoz84BLE|JsDT_= zorCk_sCBrJw@6SO)xdZZTzY{EB~_L4?KU9o@oBb>wMSE`bh%?rZMnM2E1Ay5OMumn07Ix+g_EL8e<}%CUl4x!f;ZEG*Y~J>aqO{6 zNmZM7K>0(#IeQxAz)PgwqZaVm7x4+Py>Iwcz@>(IaB`P4I4q%NgMulyD$nEB?OX6?JM5ZQwgNg>6dxo_;+CkOjSbYp0((5r|}$$ zOlCq>q!f+KH1JZOpdJC~fcc@Wx9Jb*+Oji3-Zq94qaAE3YCquzx~4)BYg|G7m6sIf zY#rILTm9nxU9663m@h8SH#dKS8%7G&#ib;F2ba?psV%N3x$0EXT6pq{Ba9t(8TqAq zsH^Y?MjeFHYLJqnv1045D(U@=GbwLZnjRg*j;HOW?K;*{<9bVZCT$lK$bSnDb-p)I z`_MI?V&0%T9SX=ge7-=J!<|pY&?Q7egRdTzNSbe6&%?|%EQe_5@LB@_b~F^;Ej&q@ zZ83-)(1c2QZ%+32)gIWK)MDT8`jLWfzI|-%*?8=5DAeIwB#M;3`L^QIDsF3FrvP(; zgj7$v9=Kk3>;c1zP=bm>prZ@X8vw0@9Z;zb5lf`li)cqapJnql`nRsB4Q-6AW9u?f z+V+*U!d^y@NXphxgdNO&%{)2yM?Pmyg1LE$*~ib7Z)i#3m`H+X47ZtQgmxCm^)g@L%MP@del#!e7R?LD zU4Ve7Q|Ku<<4avek0|}-5D?W6`=YMDfst7FxIXw1wQd%b#7#IeU7N#4%9x%Z3Kn{$ z+mbk|-};SNtnr4Nl|b?3NSHX?GKDfBUxo<*u|kLe0&tn8p9Ymx%>W(CMyr#GtnTrj z9*EIfgY#0G2VxOmW{1bsL%L{fL`4aZXz1_!UfvQS0n>gQBN(OaQR&47M|UX$Ya*7g zj?7iMNhBR)u<)x2z~4kCH&jc#=oBumqt>m0fS4Ro>i@zb)p1tLXHM_92@Zx?p7*`U zS5~_($73OT9?si-K^oz1=LOR1yE51GoEwG;Yz*BFMO4ie^n7d|2z_2g7s-vbmw&2s zQU5lz_)rFuF2lX)?*XKt>UM2}KMJ8a1!4s?$*1Ekqs6Ww?|SPE4SVl6@jK$y-`(a;J%q`o@`A;@zifW>ShJnOktXE<`(&zH`G>iLlrGsL9< zDCHR&( z8&`WdLMPgSZ?_uPj4&a3g`4hO3?0u(Kd|75BtXj24;6pE}Pz ztX>EO5TlLDXk+?TpB7Dy4l5rsq2rqUxRQf%u`7O!RHNPV{-^~SKVXf03XS5DS8Lr7RHLdATTa1Z7SR1wfwTheKWv(ZGMq%GuQT4RP|K-Qa z{DqOR(&vqEvK6>BW#^;`b1$#Bd+o^F>p^dZ>keo{X)KSOX2M@sV*l(+t@fggS4F%f zTmKi;M*k{Z^hkPq@66r1(?jkoXtTvM+E3D=HE>kj#xAGs<}!;Y%!pX@ON!&^b%!$> z*T@HM{akW5&Ma}Q@WJLn5`VZ#9&7Y)XW)G*y56y+FhSSByvn4YSDrm5yTXawnGILE zI;$ZgfRMKJ8N9wDP8l>@0%Jft zSK#jgh{Zz*0>TJ{sSh(g3c`s+-?5xDFFz%3=)i6W-!A(Ft*W&G@2)j{`kBe(9MZ&$}<=_Rt2RdwonCR63Xm|rja>o)HH7@(QrL>hyifd zM|q@B2w~C6uF0^|qX-jP-^cORfW@&ztcoit{=_sH=3=X5l@sbWsx^mTt^z&WljYNH zNv>rSFb>LSBN+$8dUT8Fl1Sx^YoDL-Ml#BMq%<-@d6iE%p(48)dS;@DiW2%sguag0 zL!@>lPjCqeZ4jF!P`-KM{N>8n&tC4h^D_<-e4cT$GZvZf8HcB5XtZ6b?+5#YkkXZF zz&HYnPNKlaRS8aesGLrIYSPUnV|Muw>+{coN-%|&xPycP+v20;9PsA$jGW2>XLbz%N`KJZ1Qv5a;FCbYt zy@7rht(SsP1R1O|NcmD6l>(eU3GYT$l(fQH|DB)A=J;E^i67oBuiQLeDPG3f{3Bwg z!Mvkn&&CWkaX$$C-q`Mc-j{P| zgGnaJ@)CD}hTP}EDztv7DD%;^YZN3`@Do}A>EKOs}%u?pcB`!Jg#ZNIguFEa=FDklX zvv~LjW@BBW%$=p7X-3#{W&CY%73uB2lP@ZOf`sse^K2Eb#{gm6Z-vsrhDX_l#v&$PJ+tDO zSJx2nxd$KJExSs2&{d8!6k4E^vPp<|$Y1kNeJ$oB<*XuqILqbGB=)M*0Cz1FQD#Bv zIVH&zP~?c4m>$XH#x7#IqW!@6pb6z!Xc^S!N^tZW_9uy__2&{I zfccC0pcGRaGg9^v<(67V5Q=e@78WU1CikGLMrpkG5v?4j3SrLY3a(=LfW@;X>V<0Z zW>>xNXp4yk(-PavX7^Qm=ccm6F4C5UO{^iLcAb8u8oC~#J(fK}R;0Qus<+drWW~rp zxRUz>uy7u$B$;@!vHQ^*HmmW)efYX2OO!D!IGCRGa&#RmQM2+u`l-iBuTDo4sq4~x zTl6WjSo9kur8h7|XK`4pYO#v^iczjFGBU?X+sAQzi+&f(Bd|w!ha@w2WD1N;+-HI| zd?f(+sNG#x3z$O)1DA4<64LHIQlO(LkgW}}x{;1>h@s95Q1N}F;tVQ~0+6MsI)GvW zMfy+-$J9EyMyO~o^BkocKN;yl@!caG%|@%&pgJERHS)Dto0!ItT`q<;8Z_t}%*TRf z(u$lrw)DYtf!edy)tH}wKQ7=%ccgfd>onUvU2F0?1{x;}!j`h6pPsTmb84`^_x*>v zvo}wW=`Gw=@t=xz{&UCu&9E&mT5^)~q)E?rq!p*^-gbJ*Ro~%d`+_#ttU3A59pc~m zsgz}zH+HUB_v+7+>I-K2WYmB0WH0I(j=YlOmxSn}s`*Wl$jGR~=`RY1YT3N!!D6+$ zv>M}JXOU>njy?6ixLVJ#oW?ORPvLmH$60o78%%w6()g6;hNN-G_Va?$6eVppua(*( zsEV9V_8$ioJ}p?RVD9nWL-z|BY%oPyiZ+=fKRKqAy8;U$Qz{r;ZU*ih8}mF{E|N|R z*=7u4RV4& zO3f2GBk>ZTpx#tHl7>VoJm&Z4etZ_+^nQ(}K4fu$w;GqVg5Y`3u^=mV9-(6gDDm}> z&EfA`RguU9h!$B`>-TnYma{~H>XhE3)y7Sa5kV0beF;hjqh9-fXrlxspg3Z8p7Z#1 z5@s9?V^pH%J>MT($m{_Fo~p;2xfCU z>4S<{$nEGgD8mn-6i}3ORWilO zwCz4lqxn{)-BJ9Y%@oqxJL)@zh*&43Y$wY07TDa!PSQh!_NqE5c$*eBj4j+I@-zn+ zi=D#123k_xc540}*z^EIMm5EBb~84&01-3I4+NAuvC8ThkJoC)?#vcpN@zj;UxIv~ zy((nwOj<}FO2kI>#Khvg`Y1gDbl3u4G@aorsxc=D$9mzj4FtoOrDi-LSDoYL;Ms5s zxE=GyMQ^`m2MlVht2%JToV;#b!=)lr(+Xj;pd=Zfe~(I-qDoWN=CS!Y<*e_}^goCr zPe>O@W&Skp7B*+Ip^37K7^Yp@zwF*_A^61u<5Crah#7PnP5&o})BjP@`6FzHd=nev zjr6kRBKBf!j+Qw6kLE+@pYkEVRUH!;{-krd`o~+CQG{5~IlX1HdMcB#X%8d2ugDt` z--rP`ITee-4nn6xF}5}~4;j1Bh&c{voXXvUq}}t~``QOO0Ie(*+~k$XeFV8!TDU7tY?_^&nB^<4DI7ul2sa7_29) znOEQhI;iQ^*Ir~-`!-cfmFfBY2bQ5P>G(Z}H6uE#Ad-bnWpFT(jT3tiVtlms5vhmu?&}_IOiHdN6Rv8#N zNM+Cvk!7*&3+RMVDJ9gDQrC+EJ$IA3a<+-J$DQRM0FUTRBMk+mdHVVc6I5?{Y6Fk< z(3R0lRmxf04)3ATsW34>(YFS&XoyAz(3BjdDD@N_^Tf(ct9>3a7>rj@`_4x%px3~n zLsd=pp}X^t#n`GMPX?+NmeTV3hT^ToN~avxWkQfToeEN?9UER`zgD+|$TX@!Op0v< zLJ87YwLa;P96-9v%io>TydmA=&J(iX^Aj3p(loDN0-x-XZFN;;c^M5Q4HSB+j-k&}yELEuTS4Og z)r0*hEHwyy(dnt)6x%YE?f?3@nT!{7xp^`!H+X2$$P+12%%bfdc*bAR9!h`avE?h* zcp=1nHA4^jOmtodsEIa+m-Ja(8otL#-DJnwaUXYDGos+?%P>^*xN3+gj7vJ zm<^o8D|q_5{wRKgMtcOa_TI>wwaNMsxB};9Ys|^twy$&7OVg;Zbrc7= z*L52#_n0Y-OfrcP41@_ViU1_0uv~~wI5(bQCbAyY9*Wz(jgzBvlku2=knDi`_yyex zq^ab@bSsJcAOR=#Ss3PGvfuW+ZlDV`i{Jp^vYJeP;&Dcv1)93f7@yZebWVk0ozpBU zp-sj8Fg_;uq{LAYTO9JSL;B6k_ZP1;E^2(!poN)p!#|P@i|6?E5Az3a$it_>dY4lyNhHLWgL-W z7Zkk=z5sg+^a-)nBC5N6XMF{=JxSsCP%bXiJ`dg&6OCbU1>NaSnv8K%iLWf~W^c*f z*tHCEB>;LrdveVwr+oEf`(r3m16}t1uFUzTz&r$hHtK+bm^aSM7 zdqwB7`)}%IPK0Y!7CFd1yV!?KdtJ(u*U7K2Sv--%KWn;wcW038Mok^;`%;gSmUn_) z*TyMHMXbm-%cRJ%IM&)UF2z7*Qu==dPvR<iLmaVk@a9W+3*=6qsXJ$UaRuq3eDxFrp^2a1hjpaw>)AAHDDnpmbm`^6*xgBbwL`rnjBPAw5XGQM5jFh$XT1cEuxD1&%!gH(h{U>_xY zVo=9K3)5wPR6Wh8N?u0r__ycmHCfeIc`GV_mOG{AAKdE?K;_N?dSS)9 z53gz2P}EU8tSELDxc9q*o-KFjsOI>{7MeQK;n!3ckUOQ zx88!u2XFW7`zc`IN{b(6{W@Egd-%H>l)!&F9TAXgx$C4qNmSAO5d{}8^ z3g~h`;l2ndw+G?5GAMcB^?3FjgukIO57Czd@~@(4KK8r0;gMIi+?;6LU!CCpcCfqW z82@Rb`yDgv1>W16JBa_kiue9w*Y#ZZS}M?>XCGg|XLCa<9rxw)``+N55nG?@2k5p5hd8<7Sp!veY&H4#3x>|_(fN4 z{=zmje;p&-nw5SHTX55N#@{-id}z0Pbkxt5+tNkE7c=IaRlWNib?(EOc1@?c^?OI2 zzL_bWv<#xkJYH`zPXTkr_~ixJ-tOH~VS~NF$yT$~PJ%jGg3E(wyl=E=TLn0Ij<72c zB9#6)up!=+h!IGVZ+$R4sM?BI{KxgjH73|5a5ONvvFbA$+<85Qm;0W|nU9}IEFL1#{rQa&X?=7R%#P=s?yjI>l z1(c(9qRzkAWrgYmi0HwlPl&=bT27@%NwnD6j!F1w=%h%zzTEw*LpN?OrqI2;GcmQ)E{re6)8yy2}o2dttMobv_iKd@%fy>vpz$9~t!@L=a!`L*%7tGi01}?&f zj8wuyw4e+b7QlZ6Hp3SiHchFeIS(h{`iG=g&$^PKbQzIQL^kF6Bs%Un#?~Xfg#DUs zaesBO$9rJ!*L0gw)8Y9nU<5nR_yF0j3CiXte)rhi+0AyCuo#ug-}=oj%U-_t5xde2 zE!d9?+V+iV|2nzL%&d-jAtr=SkCm1e+BWmUpoS>~wiEy{3G5gq&Y835=zL29YdB09V9)S}bj-LE!5CukB9NGF)6Imc_uBgyieJ*Lkr*aO z(V=wf9pe4V%!nxig*R)mf=t{N{5D#1kAzRnkfhAQXc%Y%x}|eXoP#TrVtIU+6T^{! zw_NwDI<()NHbI&zQu?p>=aqL%WtL4QEpE7v>d+&&QvywUd_gbux4maqWJ(B|$A})S zT>^dNFKd_F(b^@}J^n}A7=KBOTb7_a1zCJEJO|rDJwO!Q)V*2sWF;>5EN&IW2?AJX zT5PO#O|4=sTIUC88A`Z+n$zLz+eNDy#1)6)E#E-7qTUXSuo-L&B;GKCQL0N*W(1F4 z1UzC4?EaXpt%sxRv)-bl>Fc~{wY1LCxJ!Y*cZVI8yZ!K-nqUPfgl+fTkIABtoKIo0 z+cr1ucLXr0)yG--KG7!o(?J#2Rv3zwTV6(yU=4;T`7><^O=9cAFewaQB4%d8bI z&(Mjs!CZ<;t-e>S^|WqVw*AocZ445`FM;pGG49hG(=-Hj7-ZI`W{BCTHOiY?*_Svv z(b&=1QtR{N>RM7f3p)rxBc>drCvIBs%$(xI&@R99QvJjlL>!xXp$@ne0+hsu(5~cN zcGiS+^~ZxiAxf)FaJ|jmQ=$00C-zSKEXsAp!}Ssfc@NU^h%|A0?n&V74ImmL2%`)r zw8oXR!$`Te;?k4r?B;pxzJ^uUaeQO>w5NQz{P$10tD;2LmP~K(l(7YptW97&qW6Tf zGTe6XXR57~>c7IPZ1ze`-mZ(Ak)gB_Z$0I&UrMJLZ#nmu)RfZSokXizey{lKYo8Ax{wVjQV{urtPUz9FkTwUfMg8PP?*_%?g(>E z)lPjq2mKY;`z}R$5@}>JVfR^J6u%!A#1Wz?#L*zm=<=II0jW~#b?ZL&b<9tP?<@ee zf9a=6dNGtAD}YCFJW@$-^OG4_{qh@3DBs5Sef{90{6bv1vR{4>S`&)|z5c$jq=m`7 z)ef^R1d6Z|>9x!et9>pJ|1fFg{{G`P_H3GLM^?CV$^T&(j>){N02L!CQXS(9>D~Jd zkM7dQAli`MT{XH?yfdS3027iYs}$2kZzd|Fr{Y&A2ToW>pRBUiv|X3vFTzfC2U0G* z8K&-fi=Blpx({{sh&VrXEE74iQ2(39c0aR1?O0l71*XRmZATo4&~1*K0$Z?pK^slD z1?x;Gq(4Ja?s(qEv_H*7YV5~i+wNbL9TA8DqVUM~*eVE>9BKW6;277m_3In1=^?Hq zO1ltmo%ThYQ$rj<;Ya^>QIi|a!wIj3M|hEUi<89=xDs6+NMDWwxLmIyV;R|MEqXH1 z_@M6_%--vz-P`zKT~2#}g+mWi)8~z=rWdiN zWnz3IV-&{`PEVA;X+wU-_z@;}bEdsOZlyIg5r>Oo4!FO1B} zxX~S((3m6QTqA%KRgr+AvKfpTW_cuY50M)!(~9;<{rC-=5ZMl)ShnLDy_;;y+=c1e zJXZVbWBC29lb;dZxTevIleSN#nLV*vuf&!D!i@^VFOhR#R)EgI_YW4%NHW=P=7!Y% z!%nAi)p6@G20Jx}p5W4++KBgsiks@?&lz$5u_3MCv$_1-0(z;^_Px>3U4t^LX7`Qe zDzy#bji?>V{s`wMLpB~xo?al6_Vf~z(*NZom?=>Q-TTaij}&xm;+W;QYd4I96jiF5 zpqGH``HZ}P>kvm!5$=UIUD(&*+f)}x_^FliSy^e^ROd3 zXZ4fsRWDrH<&Zxm?XQuwqvAw+VA}@J7Dcvg>a(8wU%_Yp&675Tb-5++W+nYqC&eL@+ol_zBLuK%_W8@$n0C2JP+M>-VH48*mit~ zb#ENo*OOc;eCOnO#54q{j|EYt9yc^r1E>WeZeJw8xW^bL`4u&)SWyYFgy@I$r8Qe5 z`kfp|-?55ZQ3=t4F>%%Q^GLxivZg`7{DpA78?v+>Lki|`kEClqIwA%0WX2Fw`i|{D z-;F}Z(Fl$e62ZB1g-c0{)WP24YKm2e#=*r`%&)JV$1wVo?{55iobvon*RvgDTWDz# z7qNq8$bveprNmLAp{5Q-2MB$c=J$#&7)DnBh9c#*{}k{=AH{QdF3Q%~~uf_8o+J`Q{2t z_E;=vcpiN+QC*M)qAhyeYNEQJo502#Ot`%*9XkvPJ3Re$C*tA+Wp?B1ic z8$EYovrM_sOeNPA>kiBON)E~HTM6+GbnV0lN;@9ssVx76_N&HMacDi`%mJ;~01iK<*G@wxLj`&BloJx4s^vk75~6!wqR6cY&QEk?=S#xYvu_zcz_=b$@9O?a|7iIPA@AOf)ye`nld5gH%6?xe?M z<+c~c`y{gvjgJh_FbFn&>y3p`ObRLLb#w6??0WeJl>SK0VwQnEPM@(!W^^0g(JKRy zDiB3WW8vxu;w(?7^veg+sxYHn61CHw*`AFK#dI50R9k5Mnmp%2$_^dFm;6(+cA%+i z$FkDG_9!rkV1m;MWHg^XuI@Sf7pHfUcLC7xpL*B;`&ZqC6PKe_Qpv_uanTY0a5xH3 zl@3@AG*RS=vTR~`O(OraDmm(uBHI%THSU88h}h~zIdP96l47WMReuyX^b%a(YTdfB zc26e%fO<;wiCy`L#!W3+y{$`s*aTa3Htm^jReaBPv&6!CGZ&oMBusxM?{`jTwNht@ z4NocG*6`)sz(wxtiH`CIN1mj(rk z<15bQP)i3SwNU`TluNuxWPZSp57&%;ebeeqg6?Cfiz}d<^a#}-ZYhyG%U)63y=X$2dXXK27pkB)a8#|DB|B#Pp^`~&Fawf80ap^a>|;`{gXjL zqR_dWq0szD#V-^^cjyR@Ls2ub=S))=DU@2vzEkX}5lK@t--n5M7OMSK)$?JUdtLX3 zfz_DnR@;MU&k@ykgD%*PU$htZHFdz=30qK!b7H}pie__-d{NUy`{#Xi&TayTl1CnI zd!JX)Jz9a{v20*XOG1+Zh+L3+4)@d0oHnZ)Hb`=b^eOSc2^sH^Lh4@=25U8@n5Q5) z0oXpuP7mF}q*20iDxyaWW#nziq~s$HD+~;om=Kblsebg{i8X!$Ms5mZKUB2Xnj`3l zhIWGuEaLddlq|br8Bx^qE$+((3=DeSFBCmNlyZ?uZIWrj)6!VQtqav=TH_3Hd1%!< z|1nfWqJ`F{9rfGm6QE`YWJtLS4?yxH8qw)^W~}u8QFkU_O-O<8ax7a&OQ5zstm77Qvjo7f z50)Nf2r=VQ#$nAz26h#=3P)-)v%+<$g%9p#zs#Bcr*3L%o9GPn)RRgT<*b~6~1n5DiSzlsq38zV9 z>Y<0+tz|eQn*w@_jn6V7U|10M~-93~C7ngG)C{Bk*pMST0ttppmHByB0*? zR)HLNK}vNEbw8Ic3uqD)dz$X;y`xOJAQ;RXI{0+%SE%80FtTnY%a3x;tlIGyQs-Ku zbEi00^HJd5m-}}yWEq?YaE8JtC2&XhLKmmH_hDrHNWY?QR}BvK1F;S#TGze0hPMo| zSR5B%i{J8BU&wI$WFzW}{HMU$5d94zrHlh&icB_;@(hqiH*va-1Grw zE>n_$oe^Yp1~+8Gm!42IwESgilTW^ul1a-XAGlF&NaJvr&XWhBPUDDiiAIY6E+=zrxpa!sniQb0f46KTE0)Z2b!0 z-;eRZIoUIaD|u@8k$EDW#4x;_QW=`)Ogo4naA2s83~ab9QArPTZEY!Y>*UTLQD!oX zVSXi|_U~cy*@62@KR1fi0^8Bxv}<~}JCHTu$9~;BQ~}e zrN{S$1<GnT*A>Bb*avM&cx6_f@C9H6u{%6&UmXWKJaTzg6!i{C55)uZsgKw@_4P zH`tWh8Ofi%sbl@ku0Orl4<%A6D868H1}K$$@`}=D+MUTSl;+q(6Ec>Y`V%@x9CX{h-aoeU7PN&3T) zTcchEn)yWFxmoMpIcIX+-McWqcA>MFx#=a9v1PYK^cQ-p;fH0_)J2BhGYwSoTT){5 zZQf;?u_I;Cl!*Y;n6NJib-$xW$T^hRLQU;d%haEuIVF?)3`|BR*Xg8i^oCleP3pSl z?ab?gE_IFmDbUg_+{&t{V``o``;1r#pI<%@;pO_N0akhTTQ}RHvA-Sd>1(bcI!&7|?)?>?+$DDO>qI;5P$_B~~MIMn!Dl z-Y?!|_#vx<`P_u6aoGen=`(pU^A1yEpstq5&Y_y5f5Xgd8;AHF(AID%)r?(So6rn1 zT$S)afXJZSEqh!4%eLPeVOhzE4<-UpAyFi_X?R(aSoAAZKt24o18wwqjm8Ne1Q4nG zs_v%Lwx}d(bhw-5dyShC_bV6!kS9c^9~%YWLIl(l)a6b+lV(g$8B9u4JjtbS6!a2? zte{4E*WsT+Ffw9T6hsYgxYMtpU*g4cdZzhysLcXUC(sf95eVa8Bqed;V!l9q79P49 z4cdo&%J)t7r}imeM6BTxB;JT@Ot})@E!IY+UBnYBW4ihqDIu`UyX26BjD7Wbbe>n{ z;e#`z3I=&hmx5bW6xrZ9qhMJ|)vW@l?eH3`khYdr@7})^RlcryqAwLoN;>?XoLn7D zKIXoh4zo-^6`8s%)il5N*T*yTx9lM;BwrPa^J*1m9GD1TDA)RTheT#d2k#4$7jC-r zUy&i;I12pNz*_LC-QwC++N*PWjyn6g+{cx-Cw}C#*?6<}J?7n=mCi3)ftxZLM{Im& zm2*~{7Rd|$4tE_d)<|19&pb1*h>rX8WR0`8I^NtY_*4NI6<35=y)#+K7kg$6K9{2f zcNBPdw?Wj4qRgdrJLKJ758UV8!g`UK(^`dp!$heh_Z$?da8<2_Fj1Mu4>L+74i`PT z5~p(ihwa3(Fh3g1W}r zZVy&%3m{xHe!<(oOWo+y@ZQ=ISXA(oYp^bnN8>_(=it4}te*UqhoDJ)2%v(+Gi5I& zdZ9Lm+U?U1=iiU7MQf!s0!0zFn-46M(q2xiG;k=#k8xX>7c5B@#~*#Fdwe>%Wk+dF zv%*|+Mcte`B#sX2R}@bnriKX_Vj(O(1BezzlY-q(2rY(vb_W}`~uR#Cmz zYT352V_bVWWjn3&W*w6uI7|2yOr8XudYG|17>Q%jq0bCS3st9?aKcyMrgs{66AY5> z<}JCUANw|4^X)JCE&IQtD%bfu7!K;ViYUg-DHWV9%Lc@(LwXKcM)zaO<~HVAjV9NZ za{P<>Y;^<)!{%`y+9GDyuv_UX%&ioGh{$r}<0c+(}eIa8#6gQ?I$lH)n9xyr7GLOJmI29{#_g+oGPcBJ%4%!{zn$t&QL0E zHBRd2R`|FccT%GhuP5%im8Nag@6Oi_9E;VZ&k}Hm3rHj>Z?m!2FXd9tg)rhhhQInD zi9ry=fv`&lw?wpSLH)xZcLRuInApNTb*FvhYHj|~f98zKTYXhUx$}YyXE7KOPai$n ze5ywxYQ)l$r7j>fsLILX4mAhvqQ46FY;IkZU#rJIrJrd%>Yf6RQdDt9yC*mK+ZeWT zlNHJP5Z7_wqcu7-zeCe`cg_^b9x-zos!Mze&&*{^XC+C z7oZY_>!I@r7g$?4`a2lEb<`l2S9CWb&m?4yoB+2Z7$FS}i(>J{fB)WDI+a#)(_9u3A;=%k8F zFRGT?HLTQ|f7!pOiSvs-P;FrSlmJlMb)kzGM!zH#vRU)pX>jx+__=6){3A5w8o-EGQiRmRP{JJf9!rnpiLtWEF} zWe~WjJJ;i_t`Do{ks3N4zb+P}*M$|G;ZOY)x}8v47)A%5YPah!s|m#PjZ}BROtZ+??qf#0*7I5$s7%mzR8_KY$c>@XBexopsBJO%$<>`&NUI)-0M7$B183tQH{ zs@D$ab=PQvD3^Vjk#FnnK3p3WU~L{g2}`LWt(9gr={cxWic0)mDK92mF=!ZoAosk! z-zQTjXpVy+5QR#qW@+vFNRE(v>H~ff z8Ns32?6pFq_2+{Vs*a8|v2@od{1kO{x?Di(64A>728D8VEHea`Ebdgtq!4^iybqBq z)~kKm|Ei5M9R`chD5;6)3+Vvc?`YQD_l|4YBAiP;p~Ubstv85w)j}#`e{p`)5af%v(GCDsDXlWYo5=wiU8-*T0=o+Vdz@0_wruOCroH zU5eQUVVu0YzC{ivSh;cG?BE@YJ|Gb1#1}qqV`D;EXwr5JM#3KTLvV~(NG&V7iv4%!+lkFVuTR0n6@iBXf$=RIVt4DNQ{7P4T)+2 z4io&)hk+8*>uwdI+hjHS8|2oYj#F@RLTkPcI-jFk^L>oKwe)WKrEjBQ^P^`q-$I41 z5v_WE@}9+x1x0jP;t3w??1M=#P>WwJ(3#9?{Yi)@4j~F~G=BhB8z)YW{Kk zvPEj-hHFG0Yy=8k=59jA21^#bYIA=R9j5!`ZzEcAwbBz#>&Qq9wlfRlh;m%#{l6|M zFu`5SUonfvRp>F_{4m8yMt+mE%rL+Sqc{yaexg49wujp1Zk)O8$(7f&9A2CsGmAMJ$h+=5&?Q9j#*9afy>4(l()x@Q*M%HvALDq0`> zEe3_;&V42*G9Q?% z?m*rExAL*=KP5udsIa@z*8Mmmz%0XIo%1?nxdk&e60Er5ORIj4v3mB(=A}m@(L;97 z>AykQ@NWc?|F2&vzNJGbZaVYPK|?CYH=oxcW5jONS6CA_u<$cSvte9kbS)TKo{-s1o`}ijX{(5$IyVDFl z^s^!lI)8Pmx-=f$`qP~_>h?4snsK|caaF3+O3s!F;z#dC(9M5Q(#?+){X;J8m7r5= z2t(QOb0q{FDa-1a?XPe#0j%9L&xlh8cTFN}`X}wvYlvpPVW;X#Hd$wl-CEUC5s~`9 z-S7{OJitJW_Wbz*2*3)KyHKcKnDt?JIDCGk!7S6Uww}GpVr_==zOhuV2m^IEDP*OX zyjp^Rk{)Ktp)gYe!pw?%d=Ju#8d#WF^aFN6nYzXj+$b<_Oh{5uLuKmg_(sbXoh#`L>Q=DZI1P1DtOaN z4+<0eQ~>JH!2MT-%Z_{MA+5Gw@q@+&NRaA!TxVY`#BE>UG%!P{IRROHvoa43aEz#; zQSxs9LKe&We&&~kFi?HfP4%~`3wrh@>em4Jx7KII@Xk)sz%M#z#Au`+di2~8ZTY%T zD}FaZKxs@`g&Q~l0t$>NGuF0P&XEBHd;uV!B(wq?1w1t%BvTyLKt1-zqnxt^Ih&!V z8jN{|+((6ZBiLLZkmhtY6lQLv=}hILRyO=V6M|HlHR)NJ4pV^7EV3h=*jQ0ybNM^Q z;~yCdSZu7R3*V)g1mMZKLxrdHFLhi-;Tz(q*j;J#@tBvh6zyM!1OJDcxfT_9)zW6@ zb=rf^Ycf_RAO=*1xeJzvn1Y<|=H<1kLm=6hE9=!`aq75H zd`dr`O(c&lYQ1+#9JrNe62Ns_HI??z!&HKS>iYr%CB&K)JwlkoJc(RZMFF6&EG>4e=p0Q5Sjez%8tP- z8zV@Ef+?j{J9Zrv6qp46MDt~`u+%@o?jvc(mw63Xy;NACLr+~P`psvRt{_^KT&%dzzZ@T1c;+cHM15tCXffy>VVx3lzzck;}}bB zS8!(LcGmA5TbPg6C?J$%j_j}y1t}qTfjo@Hk2D@uiQI>FMtgVE$=2Rn;ub%3w6u2g z?>FlR`C)l)&YSEE+%ZQgL*L^+S~T!K6M6RNc4)1#)~i`nlc154AZL#VUv?f~wt;n$ zL-+W`0kJPPxM#)Hk|f8}ljt0`}9u2MxJ==Q)b$ zH$MEbP-}7Jp0WcB4Z~jzng(*`>pb~N$HT?Q?UpK6uT*HWJ1T}(YMM2ww9fEVxX|T# zC#SUwH_gflXeSVp0tFKd6zr3B1S>T0JuPYpLqsDHE{ zIS+)G$sY7FphM~rkB1xq=LhCT-8A+9zGYMewVIQbj=N;Eq$DmgCh;x<#>H|9N~A&X zhV@;HsQ4uq7yj+qh z_EwQ@>7O{=cWKP0*?ya~6x;H0aa-_#Wxw5t_Ldu|8d5qPUQGN&?@2Ypqv1{L8$hrSJD*>HCnH2`h6r7uhRn2~|Ft@BNIv zThA^<-v-MWl8`O3II{ILIji^>p_cB5g*PZnnX9>OpNbNG>n0S_s}~U1Tb9z)rm{@e zrjONqKSgV>A<2R6ZLG$zy0{7v5gM^1wnt2kdm>U4G^C{{C`j&MqImD+1c>NHv_z7 z$tFO8!6;IP9y|b{IA)k;>TMWaZ#o}8vw54jjcH&-lDR|gsgd4P zRzZ&yO5r3Ba%7PP0VyPkhYU%5GRA`}-JX+ztfm&ma$8k;AU8j8pWG zBn&brpPGMq4E~j3eRkrWmAAkD7Fc5bX=Ok0fAs#95JD}R^<8QiTYSm#oc<4|W}g3X zYiZ3NlnlR_|1+WAf55x`!GH51F!^JVx7Is7`?UvIEJ;(_E+BCYv7-DwS$lB?G&B8Q zH+i3;AXZe1w8lG&dYc`!{1ck{4V{EMHY zbgENjzR@)UsZ#ZLPS4czISch1wztKQU-ob@$)v5vJf!!AL9GDlZ=|hL0Obpax;Z?J z({ZQjuEj}7tUfP{(SI3obA`0SeQ)!QRGITa%Bu^1*LNUs)1GfOu%90fxmeAldILIJ zVbH{njV#o{*b*y3WTh6s5!2Tibj*c@gU|otEM4RNJd7j9arRhi%CNY#``kZ7Cy0{{ zo|#eUF}-JS-eMii@#!MFE!MX@LfdqO7W*+f-#*XqbuU9XZ2E>ure+NIJR$D0Jmr1uW!+aJd<;sVX&4%DmjzZ@5 zBmgvuK+DvxE9yhk&${qN;R1$ZfS6+X0eXGcFFYDLxumBscBFM%qHREhOM74&!g;W{ z;`~;uuyfApLrYx94V9{*BjlhTwaN{!|CeKyX{w0_TL*;V$O8fNQ1@m=!nxyJM! zI2D3)9@YLRJA;H1BMGEZ$cSJUN#;JcI$*nbVYard6s6>O>RO>*a;21hB=AmJK0EnT zH-0dS-0L62J46piO?n<^yEpdJ%foD>(5AMK0xtKdkNx!EWqOv6laz0^jcE2SpU)Gw z9A4f2rDG{{Elo!$CxCIF%~&67716%6SRO+jF;-BYi38K5UO&>aDFs<;o{h8i9y>{{ z?Ro)*V$=+cu{OQF@jZv_-;F=X=^Q~17JeUS7V#FCzwFo=8i4<$X#E}g_jnZ#+XtG6Q5>8sFQ zOed)|)Qv@l`=0u=IIM(oWfjeax<|sCLrzK(kP%2?MwoM(Z73ZtBSLU@wA4y!XxnN9 zwiK!zb;6mO7s{4RBAkf?m~-Y(>^wyOg1fc#v>9w^5jz=-lX7=OoZCb-;2>NUM&^J& z0R0Q3HSfbU^-ZWgZ7(|x#KEO=8O`{CT^Dsidej9b&r$xi=;PUttbz#42L4IrpeTCH7cC7`I|Pme`+co%He8ggnwVkoq4p_f26?eNrcox4svS3vP~m=@IJ z{0uMGpUF7No!7H+zCqvn>Vf46F29g z9~k1>DUf9d*5cNzUYN)5Y`TvA=CL2YGkJ-sTH9OSWWD}xwBJ!gWK}!01Z2&DZY0=1 zV+X^?t+{<{?zaf>G<{}DS^nK44{sdVa%aXjorAlqe%ctFX7wt3cF(l7(&_|pUiwgr z++=15#oCr3{+sFuvn@{;kRX0b$$!+e7%>E9r^(o_D8<&ClDrB!qy0tMn9Qhaa=?oyYR{ z>e#2P&RWvqq0Jd(#u4*e9pdLTOAp|RseXRJLaxY1S`7IuvB5#1 zjEW)ok4xr$NO3;lJjYkPdfbzpH==*5n65GF=k-Svs^|9&=5>`{mo>#ceNHj4u%eJ*mL?Sn+ zW@1@qi2)`^b|o_^N@m7Nl9@V0XX8`#xRJ5U3vHjc4Us!HK^7@*tQ6&jm}P2FRPK)E zkX4@@=uk==xbx23mkqA6oOw`MuNq^G-^#eSaVP8jdnwKHZ1QnOd*Sh?)tO{L-u*y? z#rfQ|L{JNH>o|U49kVJbE@W4(>T2S>KGk;+(`JpvKZzQxhw)F;YR9Ka$um-~Sak?+ z_4prbV+5#m9zW`XXA2L;EqssPo6}OUIpl#+r8Eqv55j;tX-Y$kMgd|pd++oyKDl0R z?Dy`vQS0$hfrsC#lEVyLo1Q9KYw5rZ?H(h6>HJDStv4XK>j3_V`WgNy`wMf{MdaNB zekqj$7jR1YbCg0#&|J{7rf3R%{qLj#pB>jU?idlT-H?|+UDU1L5R z69Q^Yc0C(8Y*dvZl4Ze<%%J!suTGDW%Zz+`+I?zF;6#37OriFwX(Y1Sn7cxAl3%Xo zW9qSo+BW=X+2KO?2bwn~-05OpZgdLx8vYuI8pVUAj96~a82G1f`b1_iE*O~eJ2S{~ zkA+6jME-g5BHEK7?IgxBMw7jppwWE>Uo6p1o-GOTFg|gI;IGy&;&dfYLqy)v(~aP; zrezK2S=e0>9)#VQ#K13~(b}o`{U+9Y=aLpr;Vedp*D^>3BTLI{h1$7>kdy{bOcAta z85pp0w)H1)e{JmB%JwznQD8s$E}MJ6l3TWKB_VEzr z9VasF6vCE_IK-ny^Panv?NJZGjy-=y`Zrzg!hJVv-(p`2jfp8?rG%n0rWL3TssT@>3-fehbkjrChnCa;hTf?q`4h=|RYT zQp!zsr$Fh*8sW{mQs2jn zj>F7#5~2WfV@Vtnbu_$HQ1%9u<-KfP)c)T`Xc@`l$A67p_T%6^=I{T@w5KKS>P@y0 ze*&Di^LEDXGnb?qZjD#=-C(@&!rOkapMk7{?8K9g_PQ5n*FcB-_4^0UiE34 zcK>?=RC&9C(7UJqb?cSVd2U*;5#|i_AJH$i17+o%XnbS3dTJ2M4pF(y0#6a`Q#qNL3b zE{&;6)dZE>JMdenA}HO>ch7yqryCbAi(6kLgcYY#5+JRodH~7_5}eEsVhAQLx5vnk z0;?=cQh#J?SBJmrzs1ZxZvU!4k!Him3P6p%KuiL|3q)>0?YW2~CPHP4BGYAd>{g@O zK1Qv>A=(0k5CB6BkAu8iJwmB_=+@P^Rm*)ja_iGlMb~4vglp+(b>Fbct!K(#br5x7 z&7J7u#yi02?e%el911rp0Ei}t9})$FIl;^2#e}Hc`^W2$b;%0uf51Uu<|8Ze`Vjc2 z9ndAH(UN)_4kkdvN|Gy?7=o{PIID1hz3!Exnl{b9Y&rUlLpUZhI7|>Bidzqary|qp z6{HiP8`C(~?{pXz;<`g8x{&7FC_lS|Pyn`jn?`Otfcx})+15;Fgl=4T{eC}wgtLu8 zP2OAU@N8cOIl(L=a0Ft2*@?hmK^rPGC%`d%@Mbr1eaJ_1^K2Zl;?1Dc)d%+hy23-1 zqz2h2MBKudT>nTX9xJ5E+<44FEICBuy22`qd|CnH?j@#8xE9^gq8#~od3B|i@lgYG3P6jrXC7tG@YJ@P4 zSVNa`8B5T#W+k;`DPcBTzvjPPzn)@nhFd5Hp5wYxCd_|+a_{f9b~YPqCM=g*J*!Q8 zzLuyOz?>g#eb&sXWo>CgR-%~l4fh2aJ(^&30ighEGijT6y>W+l_ZM}V;fJjER6<*~ zty>;PQ`hzdR)R4?m6##U5pW-2=0obT$&h=|zLC6x;jm_bMy3MO-et%R12fq8JL72! zlQst92|jk#V2ftV@kxO3@Td&xz6r4j7@|NKRsoms#Ck>TY4?dTzcAC*!LB|Q(w-If zxyk4d5P655{t&xKo84}73_2d7=DD#fq2TLlh|0S9M@bDDi`6Rs7ClJ*B9>0Fh(E!J zn|azM`vUc*a~t$M>!LTte3miekc9er$s-W$Ybq;{b(>ETKW^qn6Ip7Q4lfdPc#Cdz ztjA&xpOw6h zekMho_=}^EYPWsZhD2wy4T&yG<1E4}0Xa$2DJFF0>1U&5exrZ4<4q8})@_g)q3PR^ zc8JND9WSbay0o7Mb!lL2?BJTdo0w*N56%s62z(;#Jq|CRSF!W01@a0FP_MIg1vr+1 z!X+n4Y7)a?*?5IAX3mf#5*l%^69b;reNO?BBwRWPf>4tEL~`r4Isx(U^T>&SBeryPkpdq-gzvLgT@z4Z6YsKU#vEAE3Fw*9nr6;N0@Oy#Z>f zqe)LTHvLv9wNYsb-$_ex#VNcwP*Hp;->OzxXd0UovVy(e!M%^h7W}nv(r3BNQ4b6# z<*tDu+0vDL{#Tj<`^+d(NvEC~<*D})oP;^`+(U(a(cq;gd0tR8IEIgWT zwUzjPAMO5+z2c8uZf*Be=!?$s+Y^7gKVe&dQjqgc>wi#NNF6-hAYNMcc-jR^?%KQi zwjI~KvaRq!d!M1F=KpNm`u9loU;Ueyig<2r=7RxWuVa-?xZ;jExn=V8dJf$k?tR61 z1Ha=^p`7!nT9Nk-{}q*erLvP;XYVIv4yo+>o> z5M-!37-dUxDl1~;Ij2K>hrmV%K>}My6rCcxjX>=wV*IGunWo&V>v5~IJ%hIz@;5Vz zHg2~svk&NCWtGt&xPlD+tlWY}2vP?TaJ;6SZ|4%=hpc#uBsp814s{Bj4*Rv;a_DE= z*6Fr$IB00LR;?VPoYJ#kq3Dwf$UT)-WHZ>=sMxSkzF|7IKlRXp0Fwn6wP@)$mNV5} zuEID4S8QqLbi#I7`9-{=Wp#6Gj3?Bb#ebcni&5gfUEE-b;bd|o;X62JZv^B7p$!h! z)L-6g))_6_9Y|~{xqcSaZ9V6~wv*|FRf&Et_BT%iJ%Kk0xXWtzj7qfjg-ZUbeGM3;1GB;b>;e<_}|Cz1bbf^ zdm_V&^F-c#bg0z%WvIK6v26C66DOq9cRSut?WY%|*{V-*Oo>;m2Vn8=2|?HuY{LqJ z969GHZ(preRhl*_A=_?t9k(^|!qUS$>zO&HMxWY?8gZdz!JC(MN$ZL?c-FGG ze5+KN)J%2Hpp@NGqVpL2#|*_N<@8$xJ@}g-kruS$HfbHO>_0|JJuw#AsqDRgdeE9w zHFWITEWFKPh;FZa03ti|SA#n(;LG&;*(~i;X{IR3Z?j%Id|$%9X!L>{1Okwj+($Ku zP_c^p!iubgYqmjsUjv9alynIQ3d0DE5LF>pS!bE`vQ~Ave8NoCm++o<5ZP_`UPnzH z0HA{nt_&h1d8xiQV7R#8)&`JPL>SGR+tTXc3Si_V0bpTSpbqWj^;?x>eXZp z;>{Q`R2DNR&v`k`JJf8Bs)FSlAX6jQGbm%QTORT-AjjhAGp;_*7blsneZLl3k)^eQ<1~$5#QezIM(u?m4h&XUnuVYvs>U#c*v92_h&_T$`>6Wb-xCFt z)yY!(7(PSqiKYI1qhNwB<^t0W?v=8mB=grU?Gwq`Cb*}~=9dtCR~OCj?T5AG56v~e zTSEQI{y|Faib!rP6MQgAXSF6rbm4nQSrI=RiUtc{z#focB6q?)rka zZx5r&yy^k7a2}`1&AnkV|FXUqVJ48f3FwSWC{-YHLG%bW`3I=PMxDfHtX!Rw(^ZL| z@B!L;=RT)Sz9S*`HL(CI64%mwgCAfzBD?fEW$yu@nbOLR<((RQ>2^2%<1Bbr)DX#K zm2!lMZ8?hR)jdBy>UkRLhnjWjj>GZ!$mR(*2-Gsgz8QhSXc-s%+tKU?+( zh`}&43F;q(Rv@4=FNOR!Ku#oZr>ev^QixLY@Vi8ktTiJ?9z>8{5LrQ<5JU>#Hwxh{ z)XfwD<&S9_vkch&8y#{U|AIG}uu`d^obVmE$wN1%y-E-KE6ycvnfX>|TK*NbQckOA zL!1+k!-d(W7r<|=Lg;4T!b-WGjlpKDp@NsWX&bYBag!jL#8IINOpp(uL_Q`$m%SbG z6u?VaL8^L=DE+{**}qT?H;%WtO+I9$T;%)}|6JJ`+A~Q#5?O(D`L>|h!YDH4laF&|QirOq&?1j8Au6sR?|C4q(!7(kfnV_3s@9YPa$As70G z17IyE%a1)@XjXWz7r$pJf|zIUjBA(gag4V2(Gf70fyyPk4CKFXNLvB30w)N`UI9sT zp{yn6V8e${Q)US88|Q-|Oe8sl|Sm z4Mg}&QRk^M&+9!i>BWEcH)=0$P2s|Fe6a$Acju}PLtj4ri{Y)Od6kU$ViB;T@Vl|L zuqK`w;yd931>V(8_!m!REcb&{zLN>jU=SdrA76E2d?$Cwh?DfgeZi`s^{J?Yg{BwB zxN{aG8WE0K&9Gwp>k0|w2+G|L_3oTBX(t5%rKQ3GcWiBtwtmNdvhB>_e=#HS#E zY*l1Xsh-K(EpYoR6OXaBl6dPH24!vwqB@w8xp1gqd;pD;eiWY$bMHKW>D%~caA9d~P++T>l?@p!0&XVVtKQAP>)75cD6F*HJfUn$1?dEUl* zSH<1>^-oYhr%a#re$i3Ev(3xXWZ%$k_vI$rLZR@VfT#obC&z@1=c&^Kt9tYn2*sb1U4SPaVa1b7e3uk|nN;mkaW zzmCh}`>XsL#eq)x!qfWUa%ADjXSkExX^MGuw`#4@=xz1zq)zRi=J$|mJQQX-gg2{3 z65hZa9nXCW0uT3j0SNQdTNne_1@q&j@7Gz<)|bl&8F~6~DGLt*0u|A~79P z$rt)xZHeb}ESno-V<=XLU)b%m9f(gFGHALPo*@MfkEqo8!%2s8Y5ML-5Mg;Hb3^(Z zf#WjyH?SxmTiBFVZ`JT2-V^3k>tGMOrz5(A+{mK9$(+3Tgf98%qwb+E?bR+3<@{?p z75=hxd%CF5BXV+_>LIId&`^r!inL?hc5wx@12uWs@nEzS-e~NyCeOtD7^imx_taJT zq*BmYFz-)(SGV0%#(4%BJ1{NkB6CPs#O}k*RT4NtcsT7u8Cb>6$no+Lf8D@qOITT= z{N>uqQDM6#1IP(FMWVkyQxm$OB53lg)80{ixoVR(PNeNXlwWz={#9FE$eLr)jUuN~(yvNSz zq1|gn<=a2|RgQ9i^|5C$Qe6Nvtn9*(QNEb9zE z2J};eAa7~l{(DNy1Wu}REXYv=wQcT1H-mdf3t(5>rUD44rorg6*6jDYKFo%~L?-4| zuVGh4NLY8N>%Khm5~mMiKOycDB>acjPkPC~ZQb!La9az^7SG>1op{~z>$|2C*Ud1j z0cz`q`QtxWna|;4*rv{g)(aoR#6Rbwu6?Y@hA@**948p`6U5n} zTV~$xdK+G6ne%@?;ryf}7r_ALX2V3H8_;MS?IzFno7df*z6gY>T4JA0<$wfFP{DB@9k-6#N|)=aRyBF~XyEkVjJxCN0i5}N>EX2AfZehNdz ze~EsTliBh3=;t`*k=n`GdvLcJam+k7)%UN@ku_P%&8oq=U6|JgG3!u2j-VFptRX-e z$G=|7eb5rXdpreqT27^Ew;gQ@#fxWYeN>qzXU?2Ec80JUw>dk}hm_U!zO8sOqlz(z zO@%{|De^z5|ee+JL_=TB2!Hb+xeT&M%1tq2XkSg*D9me+NG%Cd$o9zgj3T zKg!ug9TPn2$K7(pOXWL8I^&7F${0e}0057^J1G@B+DbiE@w%aS1^*$FJ63lT$%(R7 z4Bb&a4_oMKSB}MTCGecR*xJ$<+XYpa6u1@W?Yp|nINdHxEk>2L5O&lwu! z;)dk0!J}8D6ZwOboJIc@PO2@L*~e}d;YJz`brXtrT=Al?8RIE#V}VB*03Ow~AkD)) zJ8AU%eles@fsXGE*H&+gwtI)cCy(h@+|$oIkzXnAI^wH~DKK3TXo3#j>=?Ro&^5Vr z`zuewKdNclOG44^0~rXz0Q*vTOR$I$E}OmzcYjr#DOXXLe$Jh@J}REq!)eL=r-(G` zsLb%bIe~P6>9* zsVmhOXCi*$lx$`cdN@D;i1~R+`e4=@WhNmOC2}>bwX`7I_NttsRlA;ZL2C+Jj{BHr zJ+w}OF*NGy8^y|9C%7pbFnyJ>mG3g2V!>#A6O={RL@e)m&p$dqfyy#he9SJtnQ!@io7sF?^SAV!{l{_j5vn-@cnDV zMspl6d|_%CZjY0pzP;A<4;mL&o442LgsQl@E+gE?Va`R>74ieHDK%oV;ACPfR@en-VAW(4XIk{C*p?@b93MzwYxR_N`Uqc~p5kpe8gTfvrS*0=ezB>y4w> zKKeDW_8*StT-Cm}sf%dO>=S~-A`KW&X{|ms(6kJ{4Z-wpgw#TV(q!R!{*`ntljAr` zfouP4v_>Wyx$O=5+&RW~&QP$#5&RYCG-L4H*bqcEHlBW>-n9UoZjDgDgD6Um=aMy$qS-nsnNE1&> zPx;P*z_u4zrK%B9RXtfLu~FGvRVw4PP~zT!3d&f47**;D#EDj`+#k?WE-xTd4DPO40eIpyLDrqXP@z?Rd*JQDddvs#WHp6D_g za}~iZb=Ev|&7f5Q33V+mN{pYDXgxAfI*J?P>hEExuh_ten8@&<@)=XG6NL(Cpr`Qt z!ZwFfOKmBc6mmS>83_7^(7cB1zTC1U)->XBF^|EKA1-i7 z3@$r*$CQP)Q?`VGPJj(Xf55{?#2uf6-$?EY-mA2N zbmCd7$A#}g6H}b`p2SRWe5;4-X3@V827ZF7jB}(ko!bdg*qu%Ixzi=gjKQdy1O50p z%1dx%WVaPbQwM+)cBND^(j~~}bjiZ^`0?#t%mjFs*g==eLHX$VdG%v4xur`(xXg5U(F~Lb`TT$W$80@ALMjAwF&QdgbCjy z74hsZU1|~sFK~}9v2UPWl@y zOt%zoE1&!!diIVB*CSS)$WvWgIpRSnziKOG0iBZ_a&ldiQi;)`qn^xN z%<>!!Q2wB;KlHBjfh?e^9fUS$!_Tb73@GQFB3@6eeF>S!`YJfoTlhLVl zJ)D&;WONF0o*BSOTAmD#jp6t*HA~@hmCnU^&stR*M*}mh9fTqMQ&fau`O!2 zL9U$9f>~a1bFRKjBGWhXx1f7HK?8&V7yvr~y#^$q=%*7pWr^;j50_^Wi=>KS%c-t; zS-VN|7TCxT%L!P|GlV*bkqQ69wFs-b6o9T5#=<21#44oSDBQp@WNsQ!NkaYvMZCtg zJ%~qzfgK?wLk%g(T1RUr8&2DN@pE%+(6Nr)nH`?j^=-Cg;|GM!yX)wE zX?1N;UOmHf(~W$E9H5&f_5t)%0luI@8r!(lE$w6Vpn#^%F8+-gp>TJ`WR&g#iH(#o zB}gOQ^Xh8v@6H(z31KJO zd|_Gtp(K3}eEI3vu7?_b=~Lb$P5BTd@|4NHF4{2bx_{^3;p((ACRbe#oIPON>%C&f zHI)t#eY(@d|Lzb~iWcIZD|H3&?#{=3ItQA1-$$3)L`Za?pT)L2Tx5}(Ia;49)W@;d zeO%o^dM-PcI2ku-q2ORq@w$6zlza7xTe!`lRCQ*_yT!9a8m+kdSdHg|dwj8RFmBQ1 znw8A#%Z_$j<=W@|Y~I+3_>uf`uOy7}*QT;wf{$xpH9mD*+p0Tj=K=Z3nH5V{KE zy0t+P@~!=e<7;o?qW}fWExt3(@0!MNVjO^S3RKykM;7cWu`h+32SKtQ-cb+H4qO`* zYZ*#Mh8BMOa)4+i7fi>?dHUwLv^7FrHBba{WLR1-vq01x)`!9; zOVtK@c7*HN9M?d+H)5qxLmywX!VNS)?t1;c!;IYume&{Ih7hHcM+V#NJ(W2#SuT69 z-3AgMLlljA`-GnvEC!!u-rv6AGVbSSYL2VhV6g^l1-2GgP`MO77^Y~{)>kZV2>?Uy zU*sHVcIh(-?jSNtA1!kITR&F;VZV~vgi|x|Ayg2&y3gKI*F_LIeux`Wn58rCR4w;7`?%FNw`?)P27s@vrR&8np*3&s{Y|B3|o3tboDwHuPRNwN}aW|SAOwb zG5!HtD(t`0@>+AZm(QtO{4H{dTxyM4YK0<6h_36gj5z zPqcdcU44pNS>$ZBrif{b?z4osn9D3Uslv=*4-C&FBtHg4l|vO~nCg%pl(G0kz1kAX z`e6k#`e!g-<|UhB5$iBP^-i4DGE*6Q+)3&ZMft4oC{a`Zd4Em$<7}r|blwED2DbwQ zhW21o4V#MGW*J_5jG*^&&)tD<(Xh~o??RedBF`~S?U}7i7^9v;mTb*YQ?J87aoBOD z&@m^K+FR^%kKj8V`IDk1RmV#4K!~G^JllN33&-YFK_BV(Q-cF3ySpcflQDf>d@@O5 zGzw5cY#~4m$*8CaC&Su9Z!IE`Zn{nNWH$7hm^awtuHO!v&G$4t3ka#WjwrM`M$nzU z`vIXYvhp+46fdu}oBz z`;oG!6_@?eLc3QcneKg}y(kYgWPmd@;9`dtE_6|l78mjlvGr~h@ll6lt%8eqIwj+( zZb=cn+7aGV?krh(FXxa+WYnCE-_mj!3L^;+$$5|saQbBC>hR*+e@qZJX7o2;E<5F0 zl+XR8|1j~V|K)V9-YjRde{Uk_Us_mRAFT!MT3@?SmH2MqB4$4n5tbJv&km zH6AI4wAa$qvNO4BZ~6(Hk9le0BMn@tgJu_X?dcWj+`Te8WN7IubKJrxP^o6gXC%jmN=;Z6$?YCDA$rEP=nW;2t& zA@4+Lu>>$Vg6bWH*-k*B#4zNe{-9;J+nnwfp?4;Qbb-n+w5%Sa zSrU#Tk`EfmKag9o=Z%S>Y674qR*V)R zenDvBI*%r3bN* zM2&24;z9a9f{p`ZUY%ub%r3Z!@2eDRn}21%DNPCp3!XjqVBhvvQo_!PAf;nYz!|`o z7T76}E!u>TKE;=0DPe|g$~l?Tr~WFz3+gYO ze{+l)0%hHhfU=V08u~-Fwkf5N6*KK#h!d1qkDJhe9^$sM<4tlw9@BOYL`=Pipqf{g z6>y!4zC|k=j$EK$X>+Vo8QR%&{*mylsmBY$`Px%Erk73q zZNeqfyaC?+U7jzNnb0%cx~>vE%$p-*N1d&$^bN=SZY4V5W*{!s1`%T1<=@=@2d#ZR z=Nyuj3l4%r3~Kry5vVGG`4I#iKIpIcN&v%JVexR$CGv<9K&@qltftv#*R^N#!ripz9%UZ^mEwEY|7S6d@Tu4umjL=$FOg_(cD``Je^B_V3alXzS zKX^9CBC_d+@{NxcarVtHs|GoH8(0MjYC&+DZSLWo3I{1Nn}_CxnVRoQO~rQ;=W&Eq zJ@Yxgz{P)ix>2`&SZCq}Hq5oF@_c#>;pLkaFoK%YvbV$(EgW@vKdnB;neW~>IT7l7 zaRb)9#X+&VWQ~IIQt(@O-AG<`tjdn}-(}1(VqG!4_#}3wSv4F-8@6hJg2WA`wZ8Vd zuynv=C(qcL7N)~&bMRU1_jPlH=S%tq{7)??jEt!u?rK=bKh&(LOb{1s9=^RLYrc)d$DEWqaSB%)W1Le@vqfCL@P&E|8g!MraM<{{Mm0c zqgh)^YW_IcZ}io_BLMjS@3p@)y*Ya;zRN26+F37zKpCplpga=#70_#XpOCaHU*@2N z`_t3yKU>`5#(ZhHIgCUD`_a_3H!VF3Zx&dNr9lllQFWefJY2B(;wR}5=bb_WyJR%y zWAyLl_A*nB_srLm8U2@|e~-3%=5+ljy~CQOe}Mz#m{BzvBlM^kU{#3U(S8>a@;c@= zF5SmtFAJp#YeO^wn%g5fV-=Z2LS_h-N~~>*h*;BN%b&p4?pLekOpDq5^TRjapSF+v z4DlKmsZ6h^QBu5DRXT^XDmY2ZyYuAapx2!tVY(~xSEoaH&l93HW>5F2GUR&ySqf7t zlB{=YTkx+J>&RMvnrcR^6JDmCUQXhn<;bh1(ip-e_w2vfND&g`iqcB= z<4%?`4f`~*&smLn=T9F;K0?c}?TZj~3W#AL1R(|*Z^EE|*p5M~Y9`1@1)gXgq0Oe= zsm-wla>B^mF*3)KfuQ(?>78XN^TdXLS#-C7z8*EQLH9v|j`t>VjwaUlah>bJ>(&z$ zWHb071n{ngCJ{_5F9`*am)_Dad&nt35aeZ+Z(w{B+So=u<AZ`TQ%cnT>h~5%_wFXIrwH{x#L2=g<5DLDB?ggYi5)jn>| z83`L6z_hngeYeWd)yyPy9p+hFtVZH7QbJw%F_VWqmzl<@IUHym=rGC_-0G;S!t1I%$5G6JN5XL`WG6zUBdTncahR@A6+&enmcnk z_Y)#u^c9b_jcL*Ln?2^!rH?m=q{W(xSC_;RK-u5mU%m1+mRvCH&U0hW{sH&8WDr?~Az5hp~6?Oxk<={5K4P z61{ZG=FX1~!KCct7qO_vVPN88P792K>)DLu1hN;5KkJ!{>70k3L0iB4%#~Wo|EIj` z4r}sW+o#8)wF+7s7!s92TCh%LKoIB=8c}iJLO@VJBy2(UY^#FWM5Gl_0VzZgWmrIF z5R?%?Wlw>C7?uJ-KxM=C{N4~m`^N7(*SW55T;D&EVcxv?&HMK}_jBJ43xkbuCK7=j zLApa4Sz_5)R6@rrc(dST4*Q>BY6u6MQZI|`Q_dDd^@{Okq9AP z>{ZUg3@x7J%Af*W42t^w6^h=#ikKFXUv|c%R~(Uh-;fcDLD8XnRHNBJ?~4c$=>tY; z;#jMpJht9Es^?8Kq=SHOA^) z3qn;9>Be{C6&dd&$c?IeFJ@ZZ1k%->UeI9Bpxe}DsgJws=s8>$i8kC#aHU&{BIiF? z_Ml2{R<(d1RxM!B)JrXB@9<}oSlYE5mYZjJM4<_JuXOv-LgjxeSpg>3{r8~K63j@j z*TIXVuB?}=Al;Fx-16P^n(=nf;DOcEVCv8PeX8^S4(3R*YxY_He0?}?+i96YTmR1U zw-h&8b6#BOADgY_9CezKz=}lPX#&q;2uP`{I^wH%BJS>Ft>=*kgmd!U=lkow z;Lauco?`o>f^jI-Gx6+upB!hSY;lvAHJaPn7yH(#eJtBJpzogm0u35=QBJ^VGFQ~g zVSU=Wq0(M+0{coZ*s5a~01mZi4~G(kS#|wi()$k{^q)FlfFH)ZL9psp>y0l9G;3-j z!TA<;jRyPN$41z4l4@MrHH<0=Mop^KD-dH{eKKCaSht`|#_lg;4K5;CeMfhvzeNS* zychh+Om`@d%Fl%YDb||&zVnnauS2ju{f4dX=5q6_=yk56hCvc{Is<}{*&yB2%@t~Z zhZ5ac00e=g&#yg1I{zHyyn~#MBe)Slm*&F<5-!=`^}*>1CyTU%#)!t}lZ@UU=*CEk z07?{KtrdiUv7jinN2s0=JLKA!f@@OHbzlCT5jp4-HI$CfCc-*!j6}E)a9=|{NO7Nn zV>hg-4Xf;5zqeAvzev2;71vUHyuGsdTvUH}_JYlw(gANzIae4k$5SrQ#lsXUMNL+* zr?*Li2)XHPQp9m^NdQpX1>0nWJ~=yau=L&>dDD*!r#{+^o%y@58Tp8nv_N6#;@K_a7F^29kgIZ8A6)4=?gS`ZmSDd2Wg(#^5)lR2WMygM*bZb5?Sy(kgY-4xR zDZ_`u3@4Y5%KJY>rxdu>Ac8w%KVtN2M|iK6L2wGJS%ktV%o5d?GB7Di zP3})VgW{wd5Cah4SpNQw6^GEtb}AI9DuVN#@PJLT<3}@-m%5$I8z@T_CQ(&+E~>S_ zE_wt%S3Z}~5$XQhE+rx0^`@A1{)l=QZ4#gU3MNtkgW;e5^ySaK?derYxe=Kcic2iv zmQx8@)tQ}UdBd&jo6t(ratZtzaX5WJToD-_i?AOyiniKQ24)$vPHN9Mo?u#=V*EMN0q8eZoF9PQK*Zmk@!XFCQHB<3exD=*< zw@S78O3rG<{>ui8|raP zA48jkRhXj{7HZAGZWt~DZMAI^{cFEOBT`Lxl8Qwsc76l&_O!f4p70lZS~NCBp2)Ul z#H(4y&oj?9gVsTajE6#bHKs>EtH6NjZixN{1^Q6}zZyLt zu?bb0qHs1S1;8rF3qi za(}goIK8J+Q1OukaoBvfULe@JwLe2%s-B25*R+_OZc0(1mwZDgB+j9_K}7}7(Kdrz zInuG(_4W!#QF~&pt&{8Kac$ncYF*%TwH7zQ^+ajFfV3ef^ytI(jFmOGOaZ1H*}tUO z&Q;C-i_R*WT3aekQ0CFG%eGrgnT?VtjOv#zCMM{ck2BbuA3sMTpLam1szz~W z;1vzpFB|Xhgg|Y2tb25BYG!lxi?Sz(Neypmm}d5iB^y1S>)C+)h(mjDcS_eQ^m)+ zVcVWhIo4{Poef#3-3;rR`FCP)C)@@VYMgz_pp%P-MU5DjJd@p@&Run6nb#u$BUD4X zGJpP{eU&0^vYnPHe}_o+*CW^~tObWIlw|>82a@hWz;3Y?lW>%T=?auP_-EStUBQ!r+A%85l*P^AZ@^LmC(JHw#nT2f6=6 z$Ikp0$6_*rV|ZNpLke7QU(jQ8CMjw4$jX7zNU8SwEyK@rXYpW~FdmFI8iJ`$i;!7d zhU8gBxp#d>_~ZHlkDj0OyG(who-UDi6_B_H7^gOM?x9hf_e7X-kq~cn`EZcLQvVhE z$Y%`2g-F09h`m(EKm48~F>#R)EG!R$kx>#TZk;AI^|3Pa(@44Kla;2MA1p+P>Juc^ zsXD^7^vbL51sO=Y0~g35GLwZPnSMx=QG*|A0d0V)yTSUq6zS`zqe$Nn4kDPEALKCx z{YAaeiW4w~&V&;5^%m|9B&l@Vg*HJY??ukfPFi^L=7qKV&RFbdWOwAUoTgkQ zrU(#$6almeIp-TJU8el%^FhKeSGK`tDDeUzYX?$d05O=ZaIw5X-)N^YU6qZ3ls;d5 z0<8WXAUy*9y2}%rS|ugom$2mAYqy80rZ#H+@Cw260o$ zhYVWZurF7voy^a4tZxi4AfCWnGD*GWsRk#z?17GodICD69cC zMW+&h|26+ebXv@PXjO<%yB8kI_IlaVy8NY6 zt=0V^kE?~d2|+0|5Y=-@om#DRfaMEZH{N@+_#G3Zal^-|%a2xKw0qgoHT z3%v#OnX3W;|lpVhs~<ij ze()1SI`cI6B-yz4V(4&}b5nwX06Km0m!U*TDUs52uNUg+vBYluP=D%#Fq0Q@D%;2V zLSK0Luaef!mRg6)mLH}ad7gRtM$DDJiR5#mmM!VtWw)`K^^5J?)4G{?`lX;B-W;;N zJfngjYj$GCZSE_@v4L+py*u|(ZaS6@TLZpohBI{t2NREb1Kg@#l+!BK|Gb z>CahGz1d;7an5lG_L$VWBPB%2jXK~S@+I&pVE^ICh#>t`w!c#5rpl z6vOJ#4F*|EMVS@aqnTH6&wEOaXWB2F!mj`-A^obk@YRaBY+v5dm+7&Vn#0~y0PRMk~G%B<&dkFrZ8 zZhr>YI@32^Sa~LIsgRIrEu*-1ub0D+#2$y9I=LRW5q`u6i?&LS*?Y) z&D*Mu(vNe0gv1}(ERe7Kbm9*c1x!;<)$1KrXvdhW(cmbJ`{A~{4UwZJ+!R2Wu~BEY zfnI?S?rFujscfr4opF4eh(26eXD%%S!Ct4XknW7SdQM0{Hm2fi(a1ibUtQI;wXI2O z841{bL-;%ld$OKGVC5-RnTNAQE)aBuhE$7CNL7AzNcBTYSu|1&CWF!zXl3R&mDO)X z6mFq>j(1v{b4gE1IX<2A(Elt@KaVc=;Cmg1nC0|2FlhE;r#*gmf12?(q>hI}L*e2g zW0fq`fz6jArnH|}<04QXi+Hhc5;S+5bM5*v)QnI+WQ9_Jjt(V(4luUmROjw1E!C8`6$P+{AS(QMw zpwuN|w!zmGUv~CsHg*LONQxK#$}i$$LBRI+N%GERVRmit+qrh%vPr0Y)&-2U`hB8L zghLOD%9N7*nUhUc5);wCIBi*C@rZ994*^tuFQ!7|7@a+_3A3DD?->Ch zutIB0#ZO7k6u}6&`CU%(W@Z71GNZzaxQPid8OWU%o|$zhm}wuTC(vxi zj&p5l|Lo5Wa4OVoLEMXr&CsAKW*)LOq4JaPV_SZd$dPTx?lKG^@j+?Xg-5jJVYb7A zgl|z;*YqOk%)k$NOXaBw%a<0E{4wNj74eTla+Hfo@ozmHUVJy@crDcXu(;iN$D948 zIsLJih*X;Qh{hEtHG{gXG-G@6K$to{C4_Y!Ij6a2Jte8FleL zNQY6Bwp!eU4}Vahg8DoVpjbV*&DzHiR1}bbsl##q$Hm7cY%MhA`?q-1p1Uhw{zkJ2 zvf>XGWA;y}SW$jozJ`*W0p?UjyIkk@v{WY9aBP&V#~juWIEOu03pD}Wrs z6H3nxu#GJrerfF*ll1yah7HM=@lupEfQ-?+%2h>c24SkZrXU;n){;~|a%>$dlBb1JgV6wUqdsj^RKMkaOAorSDe(XYvA zIGLk9Ie(@5pxF{7bDQeBG-UMUB`MIHKvEjbfn}JF9r6r|ZglWW;2lrW@|m}2tng;z zf`5Jzr4u|QU!;1L>~>W0lL+#PI5A(?e`99N`AWT?y%~*A4i0aR1F4o?$uyZ2`&D}zyhm!Mn#WCgwtnRJDQ>VPY2Z-_d!V= z@6lmG!uS|dYh~n~)s>N}WjeWLk+?Ivkh*0H%U|!Fcea)~eP+VXge>5Y+N(1)gs{+}_HPzJW~}c%M0$}n)cCzt$JDd( zgJVr&PjZ*STwcMZCuNz8fRE=RkCcjCUU7{Tk4Y+Y>P!tcrVvm9sSZp!Xj&vmj(E&v zcg(Ba7}-^`k(yxpqhBG6h2Aj=9mD^Ta*6waCx)B%FgoV4ao@X*YV^A%3U@JifJ403 zl~C-?YW}PFs}h*MT3^ElhD1kt%ucB){h#|o^fSd^*@C)t%)JR|b&b1|F~Ki|Es{J) z^UUL#uwTe*s4KxQT&tj}?t1F>1TThALE|3FQc_Sqrc`_t`Mp4O^2oIB2}lsQaq|1t zuxv z8D>KS1+HImIaGqCxO7l{f?|#w)=QWx7fPTh^dPbuvg<}KQ4hjzmppdHX|4T{)BTJj zSN7GPV}Mjr#P+rJm6q{MUA3QedbJyN%fB6H-qxzfOzyw4==1hh z;z-`g6y&W;I|6Zst1Hnd6*;})V^vqElez!`R>I$H_+Dt46qI09?UWA|VgwrjHC7#; zy|fo-W8uefW6`Atv+J*FS^42sK_)qnU65E=Rv=TMIW){^O}?CQ^i#^Y9+5-`iQc`ek6*7Bq=fc0G0Wo zEhsaE>HE~3vj?#&abi@89(}#~awSch9up=L8+S+^<~Z3HTefR7@B-*0WSVNl}JGppDyyi`xj>@LDYpv@Kx}aJS$6HYq;nY^zlIK^IZuWoo zprQ&(cQ$VD4?2%%osg_N)EGNb5(j!${=bgOjIz=y!|KMFppha5fW0YXjKP45v?PxKjKZVdSG;bW>5! zAZ{?|)=Id-j9X8uzT>nP^wc153o={$iFpzmYU2>O?FMnzxF~&AZ%lW1)5XXeb-7!# z7>;|?q=d8*t(qB}=*#1OE(Sf5n`qkWff_06)Cz z{+TsfL1EYk{NEsjsF<+|3WHB*43MSi(V0V+F z=UVk`n_M@ujke91K#nkief+id1a)$Vr^}oPR*Sz>pYO(URM*#ibbrY6@ zlhIcT7D_%2Kh2r2-qX|FNL$;>%S+2kPs@$vtgXXfFtlgsYU}FGgd=9My*GQV-8OSG zdm?ob>3J47vh7(L+&wqAZC1zgu3hK0#dFSt3HU{_jk-?H4Njfkw3#irEx18#{EN1Z z)-3JUeavy&hBtf+|MJFpsx+mpwnQl(oSTo<3ffsgC5Ly8f=`@$=m_ zxw9PEY&?FJvB9kLZdG?Y;$zAUa(=4<7V<1J>6OGvDf~o=SSzexw^5Ixv#Z% z#495o>GG?dN0TqI>ii;u+1@#9^Nk$l=j8%J}O(M?Sq z@>`fYrbFR_(s^h)^zv0TWrcra@B4hgC(E~$)!$uwAk^_vLwiNktPxWk*3D~l4S6h} zPfg|Ssm%Ot>I&|UU#nC+`S{kqgX}&3{o`ql@7}ccX2*Tze|O=;tK%HTWPR7TyRe2o zY2&Ys_dYNCy-5&6pEmVY;l}%Vw{)2CBMN>k`L)4kO8h^~)7s%g@->q0#eChnBmGuQoZWzxw;F<9B}6<2;8ZjfzuLf902- z?-maF{*^ENs?u9w!mFpbd&C~BKRlIcZ(S0sOUis=Zm)}>*Mn=TdZZkrhIe742^o}Am%%N7lTgY+Zwj=J(4 zR<=L%b7PEQnF^DFPJTN69Yy&z<|mw&<9D7a7#vw}^b0XRg%p6uq75K$%PP2HPXXpu8GXt?)md0!VdPY z60=MWyBO=J(V7z&!ZTis`ZY?eCr*jTUhBRq4FTJ;DjPm-4#j`=c3jHOTx%z44HeB2 z(wavFq`MR{==GXPKH>hbaS!hCQ%IWQljL2yRJ6LBmm54@F=wf9^c5Pd#^3)+3_C(u z2@jR*u?yEWu-x%?uxCo=!y^tzue0@VcfVy>i06Ydj?8gao;$g5!B*v`Tc7+qvu3@L zkhH#czbEr?&+6E(KpAv7lH}nDdF+PIJL$1&LNW>KBaP{M3$rS>8vH zX8(txx_0%!z;=!F80Xc-@5?vslsNZQ{pTo@#+f;8w-3rPITUi5mUDqtc@M6idco9d zg?C895hA)r?p!OtCo2<%PH8Ib@hI}5^Wnnr=_x63l;}ge6_PaEoY`EzFa7cdr`&4s znB72+R%F1a9)7 ztNg4KlMJJT7V^5_v4pNj12($;~)v`xOM$QZPJlSa?L*rK%K(yx2CVX#C zS}RS;yq5bYG%jpDHwQb zgxN1z!ghD}ytB3e?|}>o7zZ#cWM9IUJ_mT3vWbDWn*g^v_NqnoAl{|4Ll=CET3y6^ z3wqp!d&V$|;NuxE%9^$C(^B(+qpw0)>BT;HcEk$R;EvRU;zPb?rNNo5JeN~lep92t zk@+Z|F*N7tkV_%(3NGD$(u&iNm|^Pv!NR$_x3u4bVT|_=BVes5PA<4@oLextU=EDB zUn?HOTVPtS`1Jfs{7oq~byHaGvn#E_m(p>{zS#s&4;bDwe0Nf}nPGJBD6QR0p)_K* z`8g%)JWtb;&qpxmhmM$6n~+D8S@}Xb>11YwR&xi&8Je1!E4V{hVd^Qu#EZ@Oh5ph{ zK{sUCN1rC^`)MmO54jff^=wHK8#w=D`4v>;X9iDtQ9ZVg7nh{x_tCooW$Nlo4qqhC zPYK>L3^f>hIBZ~H#JyQU9B{4c-a2m)QSaoUV!tI`bug|I}UG z^n&F+DfcFy4Yvl{4l`=lQ5S;)5T-JDFx%k{W6)IKNXARV6$kCpf&E;uqPj|Q(B7LL zEs893KEGpvA~Wgm@faa_YVg?b)IFAJWBf3#M|9kw+@33Nr_|IPJBBGnZ)L;gjjD}~ zoAawznFafE-_7~e_i`nejLvnd^R2?_Ae%7cR+>Y5T<7fS+7&H-*r#0F!t*J$Xmw`c zIG1BP5X#LP9JJm0$QItUQoB}X&gG}(gDY~$dxL3C)+d=cf(O}iz^K6^fKkW7dqmTt zm^0L4xwnFDsOZ$j(6cd-Gp=_Wr#Uh%2xcoPGILa$6TqHH%qTo5YP=F7=qq*g8d$H~ zDMv$f#rT~z(Fa-VlR?@^ABS%gU$>wiP2y!{7JD!)WfPtu@jl+71h0J+E;3L89v)i^WS1=3hoTG(92vB$y9(v zL-LZFz+w_ZDY+o>HobTun;sr%vq=zQDfBe(7%8aDPG1$W44x89 zQJE{spsy5^SHm*wUD6PW(*^&i*5Nf1j6rR4xxUcx?n!SL>BUcd9PK=CTH>=O1DvBl zOW&u~VP(5%c;hx(m-=LMLFC!8vn`$v;zhOTUpqakP!MOcq5fJ)4IQGI1j<^3ck#o( zu1F^UEY#>3ki|_hvT+Q+_#uY`(!UAK_}ZnM|1$fd{iU%f3o~~4gBu=QU;)dQ#I#Y% z+pF%BQd6aD`62TcrogS#YWg>WeRDNSOXz~R!zzkL<#d>2{mE3LOzA}!A=HWnE@>Bw z;O<$f!^2p~I9kOqrobQEP_@zWdKp%5Mca!n&^A1=b54q2vUE57o|*YHe^XIBd?_*H zIDT*(!=f#5G~j^|Cji|Aa5elP=ptSZaix?vy0r8`8TDBvx5o;qhnTgBD;9|+zTvW% zABx4qGNEy`?M#BFBpKJad@=(<%JVJS_7K3x zwT&IYbgLB)zToI)pxi#qxoKg?OztVIoXQvhL_)uC!5QwHB9c8cROo53C4(KETAY;i zYsfFCS!7>Tdt+{CkT@)0&$gnZh>MNiXgOWq#N(FcW?H0jH7R39LSC)H-yE=09y!F`AJ_bk5ZnHsZ*MUi`ca(v> za|wfiF1EYtT&B^u?$0)IPv!cTMy=Lt*Awc7d$B(LI4jd)UsVNrx|?u1^OF}RB;hkF zLYeb4UKvCGireU6`;?TQPpn_V-dtD!J|^BtTl(){QQbWsG(5tW1TVTF3P-Zf#l&y) z?T;o+Q_+iDk@2!(b>Z%qqLdjUw~od2NS^H-qi=@0-xP+mX@#U{lsMma7UzC-sh}h! z$WPETbZ^JUP}f|xw>o#xH*UyqxlcNa%sAYDOm^* zf`AaR#b@t!aARA1e$0S15-`>sjsQF0($EmaCNUQx8L+l;E7f+o7R9-af4Qt9%#g+U zDJS#kwZfWNQbeT_S(2ePo#-J7li<7a(^T6w>}N#Hw;q?f zR*n#h96GXoY|S8Eptq@bRh=3?z+1!a{0@1RCvxnk#{V+_^5gXa<=X#J0NJ_eYb^u$ zAH99$SivA(hsli=wVS)@UD}N0od(&LE!qe1Tsa0Ui8`XQi%LVO_{RP^C#${&F$D@v z1S}KAAb6%E7?4Ftc@p55;A@=$PWy6*!^&tyo@KS>k8?w_O=IOXVXm|lYCBEBEU&FR zC_JBS8ZH0lZ-5ER^))y@gh2(ZatD(-q{ z0}dyJe8CQhh03>(fL@azOn?D;pKCx^Ik0}iC>GsEMP&0<6W9F!jt&dp3)Uvnyn@s7 zF7d)_PP8v$Rz~DaAn?VSQWAneJb?)v%7P$pL;2V}-x=|-2>{33g%Ime-S`!!=Y{Eo z>@G74<<7_ni>bkA0AdgF`UwODwyqOGgXC8a_@WCas`C?t+`2ei!;8H^+mtKRk%I4&s<9u5McZ26X zP9&!jT%uLI2{weMO8$i4zck>(AxS~5fR@_Z5a2s9Z;nl zPnONsK&=qeQh**r{O&TC5axBABpIi(kkg^Iv!0haan~I?3c20R$VQw7GYwMHNX4@l z+9^t zMAh<|>z5CAHKVEpecXN$sC)h)hiGi;%EpOxK6t5Z?6uP0!J}7sv2pPdNEHB9LQEu; zJhTdi9|7@QlVM3R9q^NHOT~GxuiV={B{AV!5^FFYo6`U+4NQUHv!|xt9`|R{ceL1h zL$bHZ`}El&SdZk|#;PzeVcl3_e(^Fr#D{g{>{7evD%v}YUnMwu=la#vq`_JuP5`u; zte~CtPkPAg`?V`NzCG=&SEu4U!^umMSO+YM`6n5Fl1@JZ_@NXWML&e3`oUaB!dX9B*B_BL%bfO22cm&=?j;gf1mh1`^E=YKK2P z65@TSrewyH#&!7+?73`@7_;!+FFHk3My&*0wdPUGVNJyVCTEe+53n+Eg7VGKzXJLa ztXlP&;?$c+FQCpJOU)0o!<=!n^dBy5o3PZu>t@NfR{Ubx#;11K@`B?!lR4#oh!tJ) z%P}-9tZ`rBba+$Ic+R)9H7S^*lqSYVeqH8KQeLl@G&;Z?YFJ48gX{MO;NYHc@cDHs zosFWCbV973pA@H8+wep&`SaEWK)&x#m3ap+rwH;bO`D^|=pJgl$*ueB;SPny_|tDd zd(0o8yCTmvva(kHU#r3^1i#vZtawlzFhkht8}7zpRLPxG`b;(bRhsJYS`&rfSAgT` zCdzYP`Q@RZMT6geg{Jz`DM`*sV+8Au#R8dm}*|L$0mMneEXC|A_F_&ypG_aWUIDM z4s7e1U3{lyNBnAR zY8sa$jNBr3;%qnL;WrAp(Q6{d*T$QK80uN_<+X(FBZbGR2J!ZoM8#U0Ju%B5X-y6Q z#By%?Jl_*5IQTR>H2o3Zcrh(FWa1npPW)Db06;s4jR%jDX+ z8mDqRP-^$qkH0@Wf9Yyi{PV7UrX=Ts_UC?`GfR2yW`2{XWR>`9$XJU`JeQxUT~@5} zt;ej3B^?1x9&xUs&*XeM^r2qwy;N|Rz+^Ee`puov=)PaPZgh8_@2x)}yVq2~dzznX zz4C)kKDDDIg`q;kx+r5-3B$^CSd-POR(E&nIwxZaaEyp)+e~!tCY;az`0e$6hK3 z&Zb3O_{Jnrzqzy*pKpeQR88`6DI1tC=aT_&XQT4m$Nbg}$*C$YO*xsrYN|n83}__v z6wt$#L;w)-i;!1}(GEpmrMzMYcNm1V0z3uocH~^SIV?RHbfxq*PbfFtEf_&lmnMtN zn@2T%dO`5jqj;mCIm<^wuxRwSHcv{smq49_-$$5?G9wB1#aeI?}{Yg7I0+XuI_~;>9$#zVe0vw=)-9yK~)0kbfsE zpKv5caJGoPlTdL9RfEDDByXI;0=pC8!J2kPvFq~?G7hxnEvO4RVlGTZj^sq^yyb;# z0wVSbU(`Z;kuO-ju-KL2<*wE%>La}PmubE-2KSp-uoP{zu+4E&klA$tS2liGPEm7T zLo)p<*kbxnwH9IU+^sk8Y>Q{ipxAQ_2s=SyiR1;S87BjvfCoh}%n17xpl3^$>?J1^eCtL?$lQg1w9r9vyP>1ylR%K?n>brst3ch}vuhVy|e%!kb z7it=+?|pXYbmSX3xqszxNm=EER)39E{uke9zq8-rwSF_>#RVmAZR3q%^S3V5-4EcL z#k5wEcH%iD@BXYBASo@~{!MB1zjb~#eftxY(reQN?#%{`DRM7@0;*7@V!Gh*o=XSq z&pggklqUbstWhOvooPS`WBYX_Ye?N(UxE3~hkW79n`4E#AtwWU8z06LP6j0C?k|=u zEJ%L&LJkK_q&}3LX#wl;PAV*fjE0x#jjfforIs)N8HU3DP;|GYRl@M5j7w*-OlIXN zny&#f`I1NWk@`FvZpCllKW)rex0RT9q!>!li@S~9#IBM6FW~*x(wt(|i z^?2Jf#5HB!lO)Fp#V?3!%>o`Ltfl13NOBw)n#kbCN(aT9FW55o|G)@u`l8dS;C9Qk zF`shEf3w?Wk0p!;4mLSl`XYKumQJLU^K)=9=sh(BGn6nps2Z>A zmvMiVP&3ox4`0Xt$9lm*RGB1|Jfvw}Empa|XiAfBL8A2%K~@-)VV3+YWtiKaE{Nkj zK9%^+*$6J<`u&UpyXB1O?9Blc7AxNhOD{Ef_H#@@Wek7n?YKEzQXfleVWLZbTOLsHpz( z7O<-h3+N$Y5)E|b@jLh4n$bV>tJ=;s=aQPRHq#z--V9-r%@@4`YomB>?AOqFxlvW| z))W_-3RsAj)umuiLg=QZC!tZuW+gNB`Ktl}Km9m>ydD~Wp8=;IcnI=7gtW{4fO$|{oY3#F3#&Tf&%_1wmdgPj?H2`1l0{#z?^R?w-ssEoKB0| zKhaEX*6{?@D^Tm(xwg_Cc)0dMvUKcYs7i))U!(j?+qo=S!4ES61#+XzL$|)yq#(#P ziT6AGT)E~-T2SIDv$rg$ul$+wqiVXwSVgvvR0=}w)Vh1lzoC|tHOXssqoU^o<%=!a zPL)>EILgVu;G{f2iIa(3zs`k|^2)J@P+D0o1?vx-{0~=t`0pd`VgaR8=;7IUMj;S< zG^tuIQ$3>>IJ*-qF6O%~GfiofSR92}I>xUuZv)3lqnoT18JuI)e|w+sbt zijLk?r{YpwISmMED9lkv(QEj*;PK|#R{D^-1mE9CwJSk%DcUI!O~48=6fps>iR@r) zm!!B{q9f3@gMP4C6=+py!E;W}Q*w5j7>@i0_cfdFN?ROKYgy5y@WpzQ??A2N&FZTktNWWP<0wY|CuM5`zssufVnh_|+ zB7q1At+A8Y%AJM<@di#BBTml`(~T|Kh%`utY0DUWMQ8u2q(i3>e1k**1S3Prt5s~{p8`GhKbzJs)xt3>Av^kng1wVfoGe2_6)`5>Q3|~GY$+2 z6?B1V>5{ns(?MCBE#rq9wW-XduRMBX*gX7I?}*eqMDJC-y(R^oF_o<^90yhh);}`Tc5Oj`N*YoIFs?cle=sY4z0nvmgIV@@N!25Au7++y{uKv)CJK zKE;ZCok@7_0Vb%*d=E#j-t8MaGi7<}&z#FTp`QW;k7N8Rs5r@pT2fPpb`PMmSEVC5 zvl*O!sHT6R*48IoAhM=i9GcQ^GDVcWQnuXsN|Y^aKwm(J>MX_O=~1|=ngJRZ#PVWP zL#YH^E4pZ{hVt%L3>3HgEsQ_?@o2+ogA=R=JMnX8{2~US37^KVIJ8{Vz*$QKl{3z7RhKui%QF6EuwSKv zk`sY`7ij%dKwtT771tybu6|?u!70X|MMr4LsH(tFWQO|zrIs_frs{K|NrilKzxZgl zGC%FgGhXfK-+{~E`NS5q0wF7j=8*zHH$N2?tL$r(;=kf3-v3ELFEg3_{fimlUiY>4r0dQOcpTKJVFFu^=)nGUf1x@}9wiW4q~acRXR*G#FL#Y*0F!zDnn$UhLx1 zh}=^zZ-~oTS_0ofM-9tm>u9u(>4gH~auO$(S`_3+D*yCYQC(bmKIP+#B8Sbq=aDU? zeo2Sjnzm>O8bl`HUwtF*@cxwk&G2t0H{R|+`E$Ml8I)r+EzV&?1p~`%}kpnff_q>`3BbQfLA=O0QuNzLwxm+j8^w!9mZ7 zLFrf|({d0;4iov97Oi`#C=c?0$69>HEr-%5-B@u{SAf?~V4g7Ad!)Sf=^e&HkmWQ` zb})#ZE>Y7ta_q{VVZyKb+f=?q$>5+aE5kaDoM}&gE}f~0wNJ(M{Fl4LqO7#g61Il` zsw?E%EPk?YQB=R3WEdULaX6U~15{nkqtYv#2pCloP1P+UDj}_i2fzrzSA4N#hXO|= zX>+L5xdLJpyb+~yepd;LzW}M-!$*Q?a^v8coV7sutr6X^0I7z(X%PtUa_k;nNt^YL zoIr05g?3;H|9m2SRm8yrgjd1y!XJ_1nZCNi8*}vF>7aInsNy`vD7P%BqC0}sk;n*& zcZO%uBW}BhuZZYNFZfQ9cTns$rYf}bGuDaDj`02^%TH%m&KDlO5qIHCGJ!2bh$KNM zdWM8{DT}1202F;i-0W@s270gD?(}~-pI49=xkM#4cTURHTR$fjcyv~PL6NmY4H?`u zQh!FhrcR8Mf(|gygV{z&`7P`h{f0u{&6|d^wDeNScvBJ!AGqG1$}0}^IY0SlaC>0z z!0ZDxE)vh5;=zv%QB4UICm*-%;J3EIWXzcIvK?bSWbU;37^9|IDM)mqDkO~PE_=-JbULGQ!kWA@ZLnM(ck$;dek_dJU%p3d92E=~< z|B3znMJ(5RiQ~wEev<_-ZhZWi`il}m+hy5tJP1_LdyaBF-)`YQMDr<b7$De%iLk`QWF6c!PmsAC8>j$;o0bcO`ZeH-i!iJnQD3x~y zeY6T?5dA^*mXwT(Y;Zb5F`-(oDWr&{u%g-fs{T)_|4NCVY)KhSCw-6D8Q`ZfCvt47 zwId3OPr1c-OiR@*sWpUU^+4HK@MUHGKFLy2)j{YJ$t?csx<-I9X#6)I{tJp-ApYB| z-=Qk6cTFjN?MaI*2-GdC$+U58Q7;PtCHaATgn(s)Kn&v*^? zC3#BS2!l+;Zfd{L{`PlNwW}Fj^s=N0Sj_W+Ij1yoZXp>LQ!gYP1Hl1h;;lAFI)*%6 z|DDGKW#{AP2g@sTJGH!6rDfO@_N>(#oqc1burxMhpZ$=gR(;$Tv|d|%O-et&gs{Ya zgkkw>8_N03)=^vf64k{~pI6*^2d=Ee=Uwo-K#KuXOZ;EtRbXcm6bP5(#`c>XEdTPb z&}ByfYl8NLwvq*$(8_H;RO<+>J|bCbB$`Sq$w-W8TQ1Bwzk>s3Yy1I977IF=* zk68-UorNz~y^qR%GduFFUR9 z&QZs$`ne7Nn7n0;Q?C}Ed^cG?RZr3%Nb3j@n=Wt~^LjiuCrBjrqgI~AsAOnaWJBrZBMW%;@ z%uRVU#|k?2de@5jsMqTdSEPErBQu7#pC~r89QixC4ZMEUU&nUy~w zt9JzBt0v7bHRIrb)oo*v-A|3o2`DWjIoTaS zwuQ;Psv^q-%0*Fp(j^@pDxa;CI|*U`9?joGp)}}Xa!Rq;v5e|n;GEN=yr3yZ-{jL! zNTS{Q#8b0Vy{seTzJ&A&ZPODw`$qeIBe(#oS6}4PDFWfbjsgD%(g`H_ArniKLc&rN zHK~Y#EKEYCH|f5_{Qy<_fE#q~MsHRBK!o9>Ui|9S{xSLH2?mY1C)q~P^r0-zD%;b! zKon?#5d}Uslz|bUTuoL3>sD$_THT8i#u;i&FlIq@ZSM{ zkT{2E`mISzh7P@u9JOtTaqQ^_>o=Z$eyQP`@{6Vw8!o!UDi<}0wO`ho=#)lT_a4?S zyKmJ2EvO>%w^bd;GOynM1yM)gI~4Xl^H4lGr%`R^0b$dfTXaF)ov1~j*y&D{b6#{n zQlEjf_Ly?)>MkHkK#JIrg8Le+B7NXCUljpSpHvB5D*bIJ!{7&XKLP zk~9%@f<9(_Ya*JMsBC)pZXndbES)KL9Zc~ArXNZ$1q9A}obZ4u%lW+vlN2FHiH`}W zDtLZxDa)x*Z3lVc(9%0s$J(2&W*rGzY8!g3lt;-EZ~0Ss;=7{ui03ar>%ed6vsUn2 z$k)Dr!f{YtO#&%;>>?^7NSrGvu4}rYmhTey$@rqW^Vn>nBO zAUpC-NdEclFQaHeNNoe>6oUrnJ4N^qGJ$ysIlYr3(Wy0#j0yxzk7X6twGKPVo?W-m z*@n;IUzf^!IZWxT%-5PF>4Ppg*u|YtO)~Rw5zE7|#A7)tNq=P12B&4G4$L2!)uh)ww)Ao0Ek-AD>;f4voex}(=Ivuk$}0&|SB zi+|c7;nn3m0mZldoJF`TaiBgtI(u(@-a7kUwxe4jm}_8J*fM*mz&GlE{l|3E+-0IL ze{Q2_Thc_t+|fY=Lk8=vr|1Rb`j6S0#y!Ip94M3B@gfCo9y`YQlt6QD(9l+F2+aUb zl@vN5sRl;TXut94KTOqL-WFB8z;2yIbrcyC}Jvj z+@zQXTjvsD4@%Q?HOpfGtbZvUbUSHE^d6*L9nNq#yrP;O69U(u>g5Ryb~f4K*-!Q)ctj_QwQYbwq3}@HF6$`Cn6_fQZK6_rocb?o(&H7>=HjA%dO>d|f${c<= zcW`83_RR{^UGK4RUarm+i&L8-9~`(MZuf@~gY|MfH_!6olOvOjLP{fsNAhkpbi4>- znF@8|Q!aNL9P+l2-Sh9zcuwE_W_3-Q#)uTt5~nsxaqhYuJTFGPTchLXUNM>Vzr9%l zqQWP2!)$jHezha-pvW}*>IG>4|5yKA_^|fVSLA;`|5P~WdjR6P|Myj;x5BG37R$E{ z^r#!?QHMiiU?h--um!x4=sMQoggmQnM2tnEX=XL8HXD1TD!c_$g~OwpiXwU9yz?K4 zZ}=res5OdNrs6p5>r;#TyW zsxh?6Gs87*=I`9 z$xL81zrhE1)2~6O>=U(}Y2bXe&j04)BK_W!yA1*4(WjjMYnl2m?@3csfMOxv#u?q| zmiv9_S1>r`%T|x;4WKXgCrwNU-Sp4v0#T~2wQ>0)KdaW{i_H!4c=>oNc=~`DU1O}O z%E%Tptm&@^MiOXEU+g*gg@Cmw{?g0-{L;mzJ)XT#a9H8QUSuC6a?K50W$L|RiStBgQoi}l z$r}uSGqAxVlA56h3DTlIeTNNuG_lp9b)Qb$H61>r(|M&7FQ|#HwtMEv7)~=}Virct!P)$O0>F&=J>Mo9g&H zi!gik5|9_^1L$2`G&m^TTYoXMu3JG`*Dbr!$JTXl=Zr8Pl>pzMN1=W-Q)xLaeN@n} z7b(xpZt~vjN^9J*x!?#wZCs_CGGEe}46GZ*R^7F$(j4xBQ&{gM5-!lgP(r_44a9n>)AdQLm%=Lp8k;{;_dC^so%IBj zX;-K^?q0NZW3Hy9o0>jZI&oM1F+AHtD=RAD2i*-J>51SuOiEIR&^gHfERSL4A`EVUImqg+it zfV)YCi3TWlJYCGUpvN7rG^UiWNI^Qv=16)!fYJ#pI^Bm5jwN_+_?jsSqLl_`2NZ=l z8Q2Hvh9!N>4)vSPwB{5rAdTLaf)O(iC@P$ia@>MvSsJrH6a|VxtYMk1{e`P3^Pa%c zbRv^fDVz+HlZ?-90!77jb^gkZUR;pKUzRVoME*HmF^I_-H?8FcrMgHI`@3q+5;%x* zafz%Gg+@u9rqr+PqS)_^=<`ZPgNw7XBZ|Uoj#r0RR(l$-KuIDyeO2r-n6JR`L^^K* zLx@oHN|N%I32R$tTXqnU{f+P9)ECM9gmp10NM=uJ0xvn`K~ zvJVpj4O|T@@Pf;iRX0kO5aKw~0h}h{(l`RCCU2V=oN@)bB<-a)luF~%&-=;a9N@7` zP2^2j$9p9oUzuHM5;5$&crCI5ra9rEgYo)kuzh={M z=xD$z#*m}?mNWPHbnYpF5nt+v6!8V=HcLSMSiWs!P3?+(*0H&+{5|Fl^Oe+NWGk$s|J?yXkyU+dE z#($nJ*pf2Y(s4$5Tg;KR!)i_2wT^6(_ZAOaFW%oB2u84PU*SMAxdFB=j)Z}>g7Q9u zhrS^4P*NRb6MFVpBRi~d*$)1Tlp-?%J_dLa*D&ytS(M|I& z<%@hn`UDU=*&8@au+M0%Se*xLHGOMXM|!1Jd>1H<-s;y%Zh%)e z6kOld6Q@MrrPZ$i@4Nw6G0;7>8QLlXow4H*IC6F%XoWdlSYFdX2@64Bl7scP|7f^a zLC{=Zc=QLe>O{t2(wok%@4e{`2=~_0?mxPxy&96l{QJG_O*gr5-s5A>lxr5)=3NX_ zQ_OLD?qN&YRkg>Y2%S@^_`l4OHk=Q=li}W=q^kjbL`SH6rq~4h*no_1SccCewl%Cm zg$W4>xwHPCKHdG}*&>jgr3#|J4pob+ z+6jJ2@l(+gppCFEeMnP;@AA3fjR%oLJi*a3GtW*y>57kvg7?{-ZA%|fdgES3guFc+ zxZ6-v8A#3N+cnY;3C9_~FYmO2_IMx`ILFOt&88sqjRR>p7ifsSwRF+5L+=Isj-D~x z>pU@z(*HFSIixD`ixDV~VRQRuc_oa`WfwP~1oEmVkU+M*Ew=%sI6_Euq13#%r z{@8M(NU(wt8;DIkJQ7z5M*?O5b6-Ns2V=k)m4c>#T?iz)Q&@j{%d*3E-P>tRRD2y( z|2T?jC&Yx%f<#T=;G(_gjGurbg-i~dQWz}Cco!060^13d<2BDOy*m}U8(o*byU|S6 zGmtZX=zA!7+-~2{f)pzes%}QU^F}wHip1Zlx(Rq}B;PfA-0m5Ui)yBemvfS6(d;NB z!U4)o;cTxG3&~AFfFg^7yGWzv1R(-bUvP56uRkXzHj<8b{lO^&omINP-!&0Ag>>7# z!qEACkh>~k+gAl8vR$-Rpi1%<`pp_W43FWpN~$b6Z5#x9lJM?zlBh_q;c6j4)0JnF ztr9T9X}aBVJZJ8@$!tzvVctccg|XO@h*u=(C-)T-yxr6RS{T&n`lN+HF;YzqUu6D6 zWS>=$pBX$!S*S{=O}!E&F1ug*{OK+~Xc))DvsvU^rrPUC3Z!ujtL{FiVGh1Y3*&k} zXkn}m#@xaMVSDi0$B7gweu+llQ+jV&{&8n=s-auLp=A?ynfKeiMJelMRZb9EO z$^e=`pbKDvML4%4Ct!SjdfO#vzIUL^=Z){dCyx@1^u^%k#$$+?_78P zQ|ZJPYEGXz8GAM;HuCs$6?n5dQXkN&CCqwBdYl5mBvXatvv8(#<|n8w5#S%J=5Rp~ zIV~#v{QPFaC#q{a>hqVOX{T0I0;_fMGGv(roO)Es1L=vBJOrZa%y8Ae6*0#7YHtn1 zWAOaJyCKzJ1Vki&aq-0~;yIuGNZFRc*z<+Vz42BzluGd#8APpe;!kq^2>EjhbRgA6x)uiqd z)Uo$@KHJlBb#L02PhG-BcptBO~8q{GX(J9G> zR>xzW3!h(xT63s)4XQIs&R0qNE~Y>CI+ku#z+ zSK^;Y(0mE6iL%+$K>YthHx`APnEdV&wmU7vkfp)hynTGZd>Sp(_*Y%REs=_ypkECN zZV-|~VFT`99|YWix*@`mhROqE%M(?Qg@D<9R~i*7rJRL)1%HBsO){KB3dZ9U#AiS~ zjz_RV6K-;jBpXZ`iox4W(+C(^-heL!-NuH*#YrGGi$!GNK4qX_!58K7YF57 zJ@HWPznF;&|0n~^WY&u8tNBINc}qn)6~eE|M!)r@x*w49nd*Q{@_UAu3N6=oIco)5nlVS%QGeK%h zk)cR;SeDv9yU*me{>1!%vl04A6gn6xM_G>gR&okG_c}=?TPk&_*!`%l@scHTAyk9{TdB3-@ zI800frg7WBsz4i9Llkqar2IMpl9v?Q5TctiiFr}V5ND!laN7<*1OYj+D}{gJY8!yW z1nfh*NM*o%unq}vR#@19906Nc@e}2_n~NU1j(fSRBWgZ_aTQzwM`w0K*EI^8IAPXQ z8e4T=qbOy^);v;e1ie=8V`IE+alAr}a;1)>-L!(t8Ju1=#&ejUE#Q11{u*-IzPDRI z)MKTZFzW;QW?qvlecqg~J*)UPUr+4&0QZeQk~Q^iV-em03V~H9x8{ixu$i!g8{8>h z=g<8I)9qi`9j*y&%ED_VrB8xA`#VFA0vAtd$6H3_R~QGc8Q!tq8lSs7+dePowJfMM zS$$jWs-}0s*D(F|bi2vv=8YlNyorobo`-8+3-XXTT-UVO;KobEEe6Up^B&1P z%!`NSs4LHHu0CESKGW>%_Nd}dC&g?2SUeO}K##J|W%~u@R-{I#N&=pRkF0o0BoG;4 zjvz-1*cO!2)fE{-kCS3#$s(TAn3vc|Ge<9UvQdZ+E9JscAvkpMZ0iHL6)1>tel`eV zq+ckik>|s3EPOr#1Tl1@SC8}OJ1WC5j!0P_0kIFY&6mGQ0Gy{&uyTukVH)BwZ;WypT~ZP!?VC z_8?G|5nZsAzgL z`)uP<)!p{G!ytToeJLSvoC#wLuNJ8^(h!$K5fsJg9ix|$qU@p8{aTb=8f|&abE&f( zsYTb*_niXKCZz3NP=kp?1tbD)0aZfium>>@z6=r{;|{(FgJigGlFR(U<7z`HA{*cGPvvE1Qvj`FiLj!1_D$RSUy_gC2O`4nd2LFGBJT7k)L^;x?gz&uHV+!ojql>n32 z?WESA==zgbd|jiEMNAnDQkg7mX4U{HYs$xgQtBpjb^t->u!lKz$~m}oWDt2iA$@iyiv+c zI{GI@euc{?9?(mf67JIaO#e@t{Yr=dovXLZ0mAi}U`rPJxg{^gxE8FowlucaFxFdE zhkD7tc4Xv{*#>?!B41Qui^?s-(nX+CeD#tV{;t(27imnlo!Z{|J}v?EZug9Ty?-nG zXKC*Fl|GJOn5c^c_9WW;Zm<_BO>?x2hj;_ErthK@oAQIliMLF~BD`x0wis`%*6zFw zd>E4CI6*?G%7X|9o4~3!*qGyB@jFa%jAy5 zu&M=H9nbd0vq!;XHy#8qF;6$d@h@&j>h}W5Z|3_xSYUgsML&OU+Vv+8gxUTbK^O{D zj3|xV5~@C$HCs`oE&MEcNb+pwh;(wN9z{&ZM~)Yr4WULaL1J_y1v${2n5=D-r%U+P zSVk+`>9$k?(`fp?PZebdDmBWJX9!}`f`@&y1!MF3_l|+-qvT9rPGC$;9A`3yVGjp0 zS;&zSOi*$u(HP4^gqb?J%)|-&oAvzbq_JLTBsSK|aWjksZEOp*L z446N{0-(I&Qdp28@wtG3gQ1CX)^MgMKr1H@o5 zRQ{K-qX!V>zrM1K96*%&4^bBENedD$14)YvOwS8**&HPzPf(ugO@w?r_ zxwrnrtVA)11H#W9AFEcbU9eTZMcYaKE*V5Lxyf~t-)D(}lx(H%!2OVC18VZui26rc zTdFu{927WA%sD%g2}`k&DQ33+j9Lf)fCM4}R{$EaBc~9)nmd>Sov%+7rIs$QQ@c)z z0oC66EP5P3)f1M6{|u6IWxXs&Y&TPgEG!-;)}QRxux_gZRU|p~JOniaSfWY@i3k^X zCbERapAiopvmU+}#EYU8Esv^&&gIo*rm^xoYJ4{OoE>UAO~Oj9EK*uaZc4*5a*Riz{+;th}nB2t=C3=>k1r`~|)%1-?-@Cd7SI#T|t) zpsd{NhFUn?5A~Zzvgke=MK}2#J-GUVEDl&J;YO3e;Z%uV`&5hZ2ua#P2Dfv_L;T5^0BptC` zOrlX#4Ft+DuINq!#h&aC7(jh7Y>2<*4D~>QwAJHHw8l>^SfW@3EwQhq>K!;DfsRj%s$;Dsd+DgLdsBZ@)=Ft<>pKv~#G)qc;uZDDZfE-tCFI+Rol@ zsJ{2vp@1f(zChccLGYVd;6IbNc(!BqYbi}#7$Ojhq8Xxcs$F6^=!9w71svViW85$QS0_!(9RqsLU!MUo3Z?15m)Qoy1oE{oU~CiWmP_1=TOCmHw6_U%vl zv}mAwzp3j;R{yPGC-^mC*<+hZ4{4tFZ9EZExDXoX-u=b$BpVp4zJPH`YV^T$=j^+a z3bPkfTR}+zp`uHTFEoLIfmLR2YL3TE=h()pby(TDyw|wRHt|ui-0OB#EjS+!+Zf9N zXB7(KY!V(_D-qB;5iKYzaL2U~s{#Rk!bFmc_ew$Uoj5H4Z;X_cIIC#smomOKVkU!- zL{>e|{B*@{nVC8pbLMR&vRMQMV?%<42=&TVVhZhblt^oJPbS^1zOHg_k!?YFnMSKh z3nzizTs`eiN>nJd=oAzIr;-=4kw?5qZobTy)U0wH&)*IF0EDXL*;ZB74uAIPZPriO zezCdppe@L3i@TgPqG80MOLAmXX_PEmMrKG2@|MBHl>pH)Rsa%&_iTAKq%A4D(PmSS z<;FHwCC&w7+d?Fw5QiDhLqT1#J$lbyf#W9;-=Jw0P`r>_)$_BKI9QHW=}mcH`mT&8 zd$0=fqxhO!-{{G8`|Kwu8r_F3;0SOMF0Vw{_e__O0qtHeyVs@N%g#5od*K@X9==4d zd!Jo$3~$kJsN`(;TPitU-hXNm9BXa)?m7)7`%I?aM{-N_Euy9WAXYmw(+;GPjC}BSuz(+$M4V1JlIZ7Ts^_g8zU(U+?FhXiY?-&AC4K0xmTM$*1F#O~{7{%q z$n-kJqOktwc-*vnJn#9wWy`o91 z1Od&YoXEB@U8fRBk^I%fbMW$Z1wlrtk)beNFSw4qDckRP{EV6a-|!~U3*X57)8?Q# zkYnRaprw!d^Sfc1|9;HsCdIj zNHYRA#gs3=?1iK{2Sbnb))IHPIH=6K&B&cgOjdL&=%19-7 zVM0+PfKg}7lMFhNvF@ba#W|`k-T=hgeJG;l+}{Q9VwAPv$G1>wx&wYPLhNfPHT^*X z){735ibpue;S%AY96(t~z-%6Jcg?jI9`D^;Bl=!S$3o{G~`1#VEeJ`>EL| z375^DJq;~?MTH^`OOw)nQRjtXGdy~`O4BPIP|8kT~hb^(#mg6cD?U{3k_c1FQt zrtc_VP0-f&h2}IRIo=-sKpWQq5Td~T+{W(nwwmPl(_SKc{hSEaI+)21nLzM}c%A5V+cq`hg#SGgCvyIpZQ|f`Kay@1r!e=1xqsgnrwCn&(jeakb+1Bh2&pl$7g3*&MC; zaneK36%IY#Q&)H`;1w2!s?0m~%P6~4Vo8=rkWnz+RFC!9i5&`!6>DNiU#V`Yp=~~w z_*sX?_XzFY_9N7K+XnvoY1^_MW#|OvZD({$+}~>~$+kP!7Qx=-o&)XX20E>gkw6*` z{v<9czx%tDb&a>0ICi-4uFGW+XLKGcIXcF1>Gd--^Y0hmI5BnG0k@V9UBBdwUA!Xc1Rkf*Ry2z7d(`i?k|g z>TGDKD0R%)$jK0XNGgl~e!DBt+WBi`lJtkC_CmX&6diHg@wU|o1-~!tn6gMTSsdLY zT4Y+Z?x~_&HXTvj@3`flr2!HXr9sC}z04A)S3_&On1Xo;BfUq;yZ*hyc<2KP&o3Ob zR5aW5oY@oHgsffx%?XO??9#|c0Gh9P&zZ7M{_bS=Y1l$AUNL!M$Y62Pes8_Rn#(+8 zdEg;Dmit)_h*4Z{T52%7eVQ|CRt|K=yPXuxRcBKA{ONU)o_JI}KhjhwHw*wQ>3bzR zu)rZaMdjM{>3e(>bc2~mF5er@Fx#vX(DYT-umN7ZzVv8_$1WguHz$epRyJNB@-;LFV$1j@BmkKLY{@h_kKil*i?25XGE zmSG|}S5mhp?Ge@u6Oo7#jI~6UG%i0Ruw7$L{Lia;LqhGfK*>ydY&hk=H)oLi0+Q99N>sNWIrd|k6a2NYGwx7k-7>rime3Q%b) zifH>ItDe7iVFq+wx4+KGswaw{5@rRI_fz;OUGIv*qt> zXJ2)!8M0M1$!GO>rTm&NCdTvSG-^5vIU9jZUeLNB`L+sa@iS8mSV^(~i3*ts*N4=$ z?yoPY0zDz4#TU=Y{D-@21XK69eSqzSLCbVcR;5O)s`J-ym)4iht{4+qxCwchYiW zPtPweXf8tuQtt4+N>hjj2krHZs#_i48yU?$eiK@Lt-pL$D;~PhAU=;J!K7NZ2j~ix zSw=hq%9yN704?%j#!Ju%&=?lEUNz}(r0>eQDIh(tD6){zdrjW#tYWy%(ir~KsFNb> z3+J$?ruRY;W5=MZ%mraA2w70>ORcWx{ z!heXi7Z3sB7uAdVbh9U)?DC_%>)?!MEB?JN0>raxpV%o>T16^p{|i@8rQUF-$4>kk zo>yc+Zt&cijTBM*kawRR7mSVJ*1QFE2afOs$*Z9A;za8_&q9ij-5cc$9W73W+D>!9 zHJb_}LH?bXMdx=+P-KqaY!Q7YQ&Azy@hfT^WX6z@RIk~^MFG&JX?}+ z(^B$i5bv~i#tPn};Y1`UOc~ZLf`q_=j3ijpEBMPINtd`~gM)5F7A-!lQ|M%1IZhabAU1L0SjM+aHW8*rg$xBFlzQ1p1N}UDh!6XRr)D$I_{p(x&bmJv^76;ijO+LO3W?uac5FjVyJ$pL zT4e7S#?DR4?Sq6W$T0TsG6^^9>PyKDHcw_vy*T?aJ*+kPdf6^{pVLU_+SayvS!sO1 zc|Fs@iHvxIDyw%n2OF(G@%Gqu)A5hK$LZFIIj`w}o-OpKh=a^_c$*M?G$;6(8Nx&X zJa}!xOOWDY2y5@9192YO_Q5%jO#!3o?)@UJ;mGO-QFh6+{N$Np{b1-~7q`Ki&se#q zTZXa=)t$7pre-^-v6A@PZ9C{-4iJbw-&8yNdDaN;NvXQl!`5Ncw_mI?T8=l2hjMff zVmABQrP<-yAMvcoifj|E>*_x9iia>0hXAiQLUn$cvo$~3TYrr1Lkt$=*+9v8<7K|1 zvlBEdS}J@V^BFd%lWQ9(ti7?&I@(7!JTSB)GMN#4k#62(9|q7ofaQW)=|+7 zU6Ij}aWMw;gp;j#p@+xH8M8rIgYDp$lWhBrIm<+gWnhb6zNqcvc;UKU2?~Gm$ATTP zASk@@NO(hXOhemo?eCn%8 zZ-rNR#&3YO;s#DTY1F_&IP~BA5cEX~4r_YO)2y>ZU-(!}i;ou7F__9xqPNwBE!Mf- z3ej$LDc^v2zc6Z>f^MWrQ$u84Ms=Bao4_yWuv=pWBR)gWG-GscXu=Os98^zq(3Q7* zW&3?`Ijc};(=p{|cJDgZL9eCrDO1>`RuAGC(IdQ#!}lA#C+`wT6HVzZWr$n zd^%juC8cGEA5i6MAX6$qcF7L74p@sq`S8awb?yKLVRC5A{IsbCTRQx~LB~yES8r_hXM{O7t*Fb%e9GP);k@wPFIs-2){W}R_ehg7x`wNXwOpu@ z3`H}fTsO>bJi55hY#8;GJJNyw5dpfw>2OGFKswfkp;OEmN9!kqw;<7K$A2usE02eO z$Lb8BO8O{BH=eyzYxWLWfpMY0Rzm5dq_apkg@IKkvc$&#>rA4gMS>)xkN~Rh)r}Pl z;$1Si*`ju{mvI31<=~(c+U6%__Kow$B_;Cy6<{H}{paBwU?xbOOZm4L& zHS1ID%NThqo7jWkVE3Ua`dFiagHe<9jp+`IWb0$(oUSOx%;6Z<@8CP7MuNMpiS5{guB@-1G7|22Kc`&U z!V6Dfgm1)VTa#&Zjqgeb<7oE4SW1x>*`1OxE|HG}pafF|R-GzFtjRzM98{Fo92`nnT8zu*u@xGOlIB&*9`SEBRqcm@*6KII?1 z3oWV0=^p2O&{q&r)!TkjP(=x8k;k$t7xV>EP9Lh)k`p|4>rFh{;u$k2JK9YeR?2un zVm;a@KIJMQ$q6=!?*)q&(_cya&ikCu2T#8JL)yGX?&qb$`Wv2CX$*ke2{lBGV`ikV zFOLfm_@Le9=L)Uz%uP=|NA2n(=E6Q`S6AJy1?}nurUlPW&%eYkNLh|)jM3p z0hRX-xkMEuk;Em|fDj{$%z1?1y30|ULh=!{E0NPk`8T8P%dDV%zgoc*Bem*1D>dvK z*jhI`j&t43or5u9$4Tg#T9UwnR7n{M74?uOfL2%NJQ78!xy;0?ifX*aD>W38e-18! zM3r0{WHlfSd9kK_rN%|WXWME1TUMKbmqTxDy?Dw2PQ$pN5Ee?T#r}S<=%Cm8D;Khj4gE?UTSh|1c?tlRxf>dY}d0D2r zd$GuJM8}vM-cOP%4B<-y!KryG{o+0He(I$}fK`XTK?tKp*AoFlu>2;M~%E1|5k!7dMh zI%NV3aBqpqPiwan0dFA2KF&ir#zzMWmwZiHa!M409HJ;3o&8hUUvE_{e^mIzdX-C< ze=BiVr*e%Rk67dsXjoFvVjRl%zZt?BXKbF!67LM+HiH z+BN2*pCA(gm1Nu7%3y(@^Ge!-x^eJ`aD$q2E0AQ2X#%#4Asp?p2rd77-;wpeGM-v^ zMpE(#XMg3U!_~UN*_5sFI_B3tqSi%+UOob=*}`5sT=PA4Bi&_M=`}Swo>IU24*f(RbZ^B zR~E$0IOAl5yJaU9&dE)|(!iflS%RpJ2rDa8I_>#DI1V@6Z18!p(1Km@ZrzIEB4_*j z?IGu%_{}giHeToJ?L?Iev?V|XhoxQm4(u5?&xb+gnM0fXzY`qJDT}Ibo}7_$I=UrC z>Nu%_?+#FoKs5DmBL*mCj-4KjquyA^f0i=1C zEsqBp^Y>B@4(*YM1WIib29<{A5HmV$XXN$=T~qRoGJt1;>g*gQ|p2XB39~;kl~) z4=P_l&App8jA=YeXo7fxOIcUxv$fH2yr=Au(rdFg`~CD9ZlH<={+SZZXQGa0zGUxVF2*IKoEVzV1P zp&O{z!tGCu$jKbD%Wq7Ut@1>4U5|GFq}y7adw8z&$M)DQUO&}Wtu6N)-%OQcoQI;JcHo?SI5X)|U{mA28)v2&Clp%k5hWVfAO*+Vnsfx;(Q_04 zyg)5JK`3!kRk5s2yM@}u+2xsIr=NMOxylnDXF6pgc_h9`egp?5R6`;smk(C#IMgKd z7U_6{--(OT*qk+^v+GY46*F)MsYNyl`MkChz>nR*n;cc+%>x2T*?vj7*&@Hm8N6(b`IY0;Ivye z{Tg>Xz59d2=24;JwC}Gl3KmRjhtWgh7+>Hk^)#_J39ZxwHDk5EV`i1kY&;U1vrRII zdt4{$A_J@uYtC_}D73M==($mCr@L}Yoa#eScF3%%nj5oM#7lWw6?n(R!i%+c?)-ZD zRjusC^CD_zE@(Bt52yZ;|ZOYUXl`9xlV z*TR#zzcn^&jS#I$&o4>Y=ebMC78dIlPM>f^AE2r%pxVc!elC}~gg+q6NBkuS%&gdN zpI+#do_AJk5}Em^5N3y!I$&vz2LhTPQ)2k+D1$+~OJYmVGuz=m{^!I?)^!8I45D)a z9p@ZQx<5kN9KkjhHdrv@rhGd3O?m$DaxY-e;weD7`Lm+)GUrQqrLoz!QtYm;RzzZ7 z<~8`zJ?Nipx6#@8$G`?}`@$dAaFn`8@Mf;Dr6$aqK?us`{~?uJNe!14SRnIQ>YW-h zn8A?VJvZIPca1r4PYB`&vApTa6=+;aWR5D-AQVLCDCi47RS2)n2qti&qmwc^@J1)hgTOEWE^L`K>% zP;oLFq`_5i&xo7|Cw``!psXqR?;t2ocV<5fG}aOpMTGt`g>$sF?)$1k5)K6{QEhz$ zLFIXdD%)HyD*#dpZk4FA4(z%7#~C-lEMoI-B79Ri3Zvfh!? zLy9bZwGbY(TPuOIE;c7kMqEK2FEt0*!RVFeiqAES*3BLe27`CvDid+{%s_Fmpg}53W7#2{FX|2AL>PY|giuBJ8oGH`ED%8bN-B z&KE#EY0dQmqC^2D2?KQ0tQM2sX7x)ks5_GH=3dikJn+F8f9T!F$QFdtO!;R4BDSSrehaWHfk+N5~{v=?55Z3aX=8zHys>SX>d*8)(j@EOLrHx;B4yuoF< z6Q_iHM(hD~d>|~3B59>Ia;qu9kzqA*vR)r$xsS4}Smna%p-aUXT1c0a^RoJ&WVjY} zG`GD26?n<(^?#kRY^6}hzsyTcqSyZxkqXj~q7z3t_COm#o*U4U5F~C;gAjwf8z*ml zysg&leXki?Mk(*2s_TVAGV9CT-}l-w2TfhiRu6auQ`b{Hj_u+F}ghH5L1I9go^$^^rV46fD0+H3*Zf$Wmvj@Gu?0O z7LDN4zc2ZEUrC%EO0;IE2c(N!67?Zr%n)g>m_S19MN!yEva)KUoY64S#mil1W_z%* zAg%6jPWfzyQ_~U*TH^Ir@CGms8s3bV16iYHyds5$uyZNF6?t>@IqZX?{+8~4Oy8oj z*l?hq`Qk$-lwn@tdw2R$)Ge(y9FU^FuH}QsRJV&xHO3j&3}6{rweu z`P}*0*g^-9-|!`yU#f;xc+;oGn}>W`Ty67=z9}IqE5%;Z{lap3SCNXzCTg?0h*azu zR5;+>E;1LtT_pmGvxW^6i zHV&!Z_&94C3@GLPHBVKE$U@%A{VHn)sF5~!yP*{E@`L#{C%~Gw@X6|fBezwZmu!>c zxaFr4j8{g5p2RX1a9aFN#I(|E+x_r^Lc{!V>uLva^GX2H%xh7U3j!)p&O>U0@j8#j z9bctJ<)4;T`o~(@n(sMjd^jmXn-ke!N-=-|d!vSoJL+U(o;aJ)3R;pJPGN8cH10+F z@BHmh|H%%SwAd0Mgsrq+`wrCM@2f zdIiCUZbeQZJ%IsUQhF%rO*1tAuW^vsGxfjbUQ5xA)M)j7nWA6eJ)A_(rEvc~w_jvC zE7oRItED24(M;T5`L*XzoXhF)Cjwwvc$~)!a3bO$F6?|02YJvtwZT{e|FZAZ< zIe*?GSIq{uGbJdP%-Ha%dZw>M$5o~`8`i6Ovpj+0+#)+lK-gBVkf0MVLV~IYWOSip z>{Je1T=v69izYy!AS$#q;xR9nm5LjoNfH@;pDSbHe(Nl4DQNRSLNLp z7@kMz3ix&i5Xi#rg#zwJ!P0-dm6hwg=_4`@)T8UAP6Vra`Fgo7;=G|}BWeci>zoK4 zo0^vju)t_SHl~*~Q>V0uU9&$PztUx@)A;xsPk&%Aa=tjs=8!A$3gRap#0#Dlk980T z?0!SNj2MsOc@q?fj~MbXsh||RsO}To9XY}VY(qFmGJ*HSatQ}+>#RMdw!x_f9-a;y zFGq4-?nTyeCMA`#GT7|k*3*H4iHyZFdqErHT6E!W%SPr!=YRY#KG!;e#a;yXn|B!{ zNz@%;*VVIE;hU=eh4MQ$#1o0|&;fR0(_+o-EE8}hVrarBw``^zNt)CY6&;Ugcv2B| zBi$Ja-+0qx^M3P|*&ELeVn)r{?T=bI${bnhOsds+c2G*Mi8E0lH3qJwo|M9 zb9=WT4IcJi*MjSsaz|#SHSM#oOuZL1xNO9O&+wmE85S((os3=Er~w};AU%a4Ai^}T z9B9(G{MA47jBGhvP_Rf1O9KT9*Gkj#cmIyedVzQhEvF^p7DIO*4!L%W8b`-;Ajo~2 zyE`r6hUljljTj}ptSkfu>;m^6r{9by86_!Wd;6hN()dP&lIV3VXAdM`7vEdEfj>UT<3 zOWaMC?sulA>LBGMBviCEef|NTE4usJG(A)IRghsn8L>Ffv(`vaTaqD29rrBjMIs%_ zEIan7n^LA`Nd2KDe&+=xQ?nXe^FUj0!Ryc#{3(6Y2ceEOozyLq0~&P4bIPwuRb2Ba zJ9qx<_I=jNBCEdQz$9+>R0F*8gzBC`%UGZrG~PWKu8o2$kcc;~`|)^Tpdfv0dGb_2 zKJd3j`aBSQwb8@l`lFg$Donr%kv%ym1wxQ=eBqDVAws$`b7x}UhkaPl9rb9g%~0nB z8=Yh{vwi=jBxK?gm|JwvB(s}rH|U{I+beY6NF5Fjth_=qwb#Y3$3as_q^iSl^YC4&5_7;ruLiz!sG(bFoK%ICOeu~>V z)Y2eb*St|Ct3^uOExxWzZVApjZ$oDV)}EK);O&|NmD$1Jy_VZh9J!B$+~>;oJP))! zUhi{xz5iVz-2eG3oS_8*4;hhv+u$D)p0+}G z*jim@BY@}zb4sWwj4glc6ho9WAN5ZH7f4b-avu$`pctA=a}Hw~u$oDwn?RTc5EmwK zDuHRv53e0{_u-vTTV7@AzC+;*rNhfb&g#+M*hL-@1%f`Zct#-~Wi6CExN9xl-^y&4 zoNTg)g-k2YQfck6bMk32@c@&ER$GZ$vNGTpzIRw1g32(^mT2*dP_(os0%)w?RmR+E zSUFxJ2yImw(@XpT^4V{^9v4%Uh3d zF6qX7idC5D`6LBSw`{bIFeFfKkj{B!DvU7yC`)=d|3Wa<%EkQH%I#BK3o#&asX9Y7i);vo}TlD6m`r2bCHN5HPZFMj@3;!II zM6nE{06I7|VadR}Cg58LZxQ?hUO+Lxq||8PSF^So1H{9WLqq`aSZcH^f;|slCRE@? z_?{&6$bCln($1Km7%v2aR*@zRtYzP$&hSw2%#yRJVm%|_7boJgFBW~rT4he`+&Tt5 zpCxyZhCzo;BRo+Qv^(@Z&{TU{*(wTQT*bWfs(7)sd&nCNt+W<$-ho&8vNn|i zq{jcwF2J*Kf7pJ7e74TYvt*2chQ$z66njtxR5S!l35J7f+SSU8ewPyUH0|FdKk5|L$wUf1-tshktaFDM>c=e*@%e2#Lk z#6{g@959z_5^OIX+e0mMkuX%(;(d`ly_sMSUU5`E)IzsJ-1K)n@X`>N;l?f-#ns%hGBO!*2qr_+IY*~LsuOaKwG@(0IWR}R z>a592)Ke*{Kkea$OUU|1uFbumitO@bV}p|tlvhWt2}4H#(}sX!VHZX{^<%X8xb#>Z zIbE)f?4)z{Or~+yBz(=L490lp3@cXw_LF5DdX37KjkBB)yij zrU1d0Fa_gp!R%jiE-EiWC?MN5-kYLTmI-%*E%w;h2ARc_^q|pPK-7`rn)PlEsDY{T0BRx@pHv%PM+M6`Z=S4KQW5N|%tGRkIJ?!C(8F zSVzToK(+9pA;DiU)EUn$Eh?llSEtzg0V#jCxDQtrxSGI7OAoku223^*^jBohVMZIS zyO}s4P$0V)GAWK{sK}JqZ!0)Jk{hegN&@unM~;2GMXlKEwmSdHK#K!G+y|Ty4eux# zPRQdg)viVY4%N4YJJIQTs$|V)H@5b3Gz(^L(GD3}y7x+tFy@3htxa?63kVsx-apPz zIC7Q5y z=nya}?P_cZ-v5ux>3FWH}^H6;3 z#ncOYIPfQMQ51GVWB)*7HO^1W%?7K_IQt%MeY)SJ!P$Aqd}VgNisOQ?5TlJ@4#91IB?bjgxP{U*}ZzQ*~GA-IsA0+(jFC;Su=@?eWd*z#N07idlyHG!CRD?05K z(3U3?+A{BNP#ul%8Vfu>5kkzCpK{oT`T&#VxwSTtsjLunp zrj?*1MW@O_JYknuCoq4z|NcVuq(fOshIs4mxFuuOZfGA@B8Uk&6seWGPpe^TdVaO{ zG|2IlIXFL=^r45*f7$hc?&QhK@NSP z4mI^6&tYFOA)y`k!fhK8qIn7IRhfYei-(I=wZ{w=*ZCjZepl^VWg*75EYr|NW3oo_ z*u5iLuSjoyp~Lqta5A^qWj08eEd<`n`Idni%X?e(_wL>wke|X6JhYp1e+F*g${d5( z*Prxr9DhOYc1eQSUL$?mp8M~`#zoh(mQ3fbwJ*H#la|sLZaC*6*0JTTqgs}f#3r>F^Z&H-VNdPTarBmz@N4-V8&A(Et)aO-y>7Fy*u^@0j$CWlVr&$G|D z`*}|Y%VX4LyJaVfH=M}O)e@xm-+rpB*M`Tihc!d~FpjFY-hM#jIoe%3Pnny9?;YeT z&+{@qnvitlN=DRn)*)kao*O(2G?PiBYRb7T*;x)*2SJczTn-%1lU+l~Mv2VnA>i!I zD*|bj5e==G0ekIv*LpO{);=2Uo0eXYy5m^2YR4&^1FQ9k4a{1|E97zna>-?qiU$W; z_$svHi_*FADq|jqz}xz%hL52de@#{A)4fE{E_&P2LT$Dx|A)-LWcz~l%s{0d#R&`) zJm${}3f!Gjabe%8=nah%;99+ND>3XgO(LV}HB@Vm(Mjd`NcV!rI!A~%`KH6y=DK+K zo}Afq5ArUhjyOU#o@c+%c2-YoK-e(iQe0h!c{67XenpQXJE1+BpV9 zK;R$*r73?RRWGsZ8aUf^}I$Z0?MhqhcVSf0$Fu zBLm9#6_qBS7QLU;3cw?M|>XBNY-ECseDXO@0ICw|HeRupTB|#9McQO3KW`X*v-_22j91l~cv(?X{ z!Txp+_>@YK!@;f~56IzTMI+tg5~J?>1F-{%khEP`Mb;8 z2ZYu8#~fH0>>qv0D+N0yYcC}l#>=)htnslnmqlANe4=0gSgO>ly+Y#&vy{;bnVa7? zZ(RQ9YZwODc)dMZsW<>{jw8Ag7Sm6w`st~xlk!#@A6$3G1*S2eXAcXV^y_8n4JyHP zfGxll0ALJ)H|WlWFXTHhPCfKtzjUOc8h;SiiTn~|P4phntux;Lb?jH4x#x$>k&#JL zl6SYi0VT<5)8R=6WLr7{WO5vnfZrX90rwq36_KM(wYRIUKlm@iexFe#qGAP!8UIDt zuW@uxshw$6m085#uk|_m@3c%@%wMm{xhbrwe-BVx%;Cxn0OX7fV(rVYsGY(YFR1dw zqyqXkX%8w2^WioEzz5!Wc9&pxoeTQKqHgqyzi)5_{o+M@afCD~8yUvJ9e2)+E%d+` zi!^3bMYJ3&(w&R}w;T8J_yrKMUhH1JE#UE{(Rq)ou7A5cJ3RHTyAI%=r`%EW9x$$@ z1I{=(7!Hw4a$!%LpwBzwG97eUtW)r*m1ThNQOE~Z?3MV^0gH(*s9l)0V!3{Yh!+PZ zv%hJcI+z(#!q&aaQ5HRzhr$!ZwFTY|84XtDJlFX@1c7(YfgGKV>W<*i7>r1{brxU9 zvh%L3gBgspn-h4IR=XmL567}(6gM7H#edBrjgAaWy`iU!wt0T&yawH}tPLc^yN8O6* zgp{y^20xucJu}zaEqoSEx^^0F>2J*RoDWE+1_CL5L*#=f491X+4ZE5&$6UcV+W7wQ z5nU81K72n;WlUF1i#}YiS8%~TQt|&1QgQbbXajLS#|{k@6JBT z&ai}S`Uazduh-*+`UCK;QpOoM>t*EnjFjeBtl;^IZFTs^`cPj)AjmOH_-j@F?5AeE zg8JsABkEfq_?Fx!ZPHkZFs9rNRox2=G%iFhnfb&5WoB*_Gv@N|}<9@x= zENs_qEhU*6DwY!%Z9u>bn=ne6znR&pAss3EsxSLzoX66@etLVghqN1v53KuQqtlt9 z_&$*|o>=JES5;qZyk`RkRpO1E@jfF{K80z1Pq1DOJpdNR^54)ot zv&3q%Geuv!tKVjm+0_eiFrk~U9!s=WLUlq|i+@!Ngbjc#V_&?`Q@8 ztMp5Rs@JYrO#$DXp?w*B4+=lL^Q+CthomI6py+oEgLbJzWsHVie0}lAUC{+D zrvpAvu}q3O8Y@I#xo7bA6okJ=79L4C>XRLrGA(j_+b4j^GuDgVrmr3ye&vxFkdtZ( z$A)`Bm$)z@g|~*VtzZPcXdf53$JGasdu;hIp7~BzeQ$J!+EcHa@N*cXJGAMyZOCbc zQWd*P1Ot}w4GCZjU%OI?93#s zHsYQ@A$$l4QKJF~K>%s3^X7_fu=uQzB{IMS8f_~gL%rC?!loxNBiBi z)}=BefP_Z)HxwXC!7UW1ArFlp%OxXz;-v8*wE*ocw%ZxG>2uBT*C}&AgJYfA>_^$H zCq90(u14tDSQ01xri)J%Rriw+O*Is#SWROBpc6(qbuH~4qaT`rdc}(UDP=cDRoR{4 zuhWiCoqQx26rQrymL0nRBP`Fe0$}6K=wt=p)~ywQrLQK+P0X|3Fr;Cv{d(o)CQPb+ z1uJEr@;vV;puAuTGFFWS%mV8$)>3M#fE|R~OAI2ixrUAwFBR=c!wg|31igTLQS?36 zMyvuIbf5;?<(}jjJ{<~wwd3LPY&W_!LgxnEfG6E5G5qcuxg;S}%WKTynW}z0Ozs** zw72p|7tw4T!}bH+B&1z3RK*_vu^=Hq>(sPh4aozm;SHZJI=nk(V{J}6O?#KA$tdQA zxQu`xK<*_>KOroqxb)#s|CL)JRNG>{*l3_%;>AM2otpDi+s!U_@H5G!rg-uleMh*| zvL~+NqC*$wFNUmEc&qA@Cdb6n17NOSsbgY!(Suf%MS`ykOA1g+uby&x8Z8V$~J}R^_RHXJQ zb&iYHQCyoT&R-r**45C9P6VmpY1JPW2<-%HgK?P`t-r0ZY7ds}2h=`Io?Cc0@Tuuo zE8V6{^X>=qYsff}H!VeXuh{2gUd!V4oHglr4(zcG)grt3_qvvtFQ`)BuZC6D7`!#A z@JWhciR08XNz@@pSe$>I!||kqdz{T$fSq`^PgC6dGQ7t3QFv7> zDGKik!Q7ri&OR`g=uiE3g1HV}fjWi(jC|7qL4U%+l3~^qJwz71(Weld4}nF6-xCwP zj^myCHNyVc+suku+>7%{D_RPbN@?NEHQ#Zc4hV~8eEm2Oe#>Gm--Wq|8Qz)3tx1^q;n$!GuUd zPEw*lc8Y7xjk)I0$`rrwUU~idb#m{G#+JXzq%PpEKk$TtWnC)3goK4P#meML5| z70x+-+`DtmO~ON`ZtrD&-s+-yxqj&Yi@l`$11>ME89|fqN#y`I4B$dY(;(<97KSoM zKE#kX@83lwjSh<7We8djvk5KWy5_LgLGpg!G1L4x#iCeV9lVG`yI_%% zdj53@kiz#kt``tx$yWhk`EftZesqi?45u+O2@(fPYYLiEK&(2}q@Y{sBdf&hpl z{&=~flb%FRD92-82P1mHq9JeUEuje3C!(wHvcCcVOBm&#W7?aH@=fOX3s1~R=WR%_ zL)P%j%H;EEQ($*uYmv#5Q2^-pbz9B$~l;goPGAzS&Wo+e+peSopz-6Vp=3c2k2wroR z=rz}S?aJSH)y2i?!lZFF8e;yJ%(&gy)vdBWQ7{Qg6(Gmqu1QFZvd-?X+9-Ws$~El| zv@il`BFukU*`~1R+n0jH2Ey&oGorxx^ABpilsvXWqp zCbBuz&LtdtBE*tL0W!bsAA&(WbtObekvhT-wgOO$)__xUKyl(cc zApwRemL;0g`6IhhHQ~xr@dxLkh{_UjHt`j;m0)L)vtLjHb~u|O+eJK*iRg-~7lWjo03ChO~9E=+fkWeq0^DaRfZ2@w9EZUA2%ObJhmYKAlhWr?&(_x`Z* zUF7qul;kZp21{$Rh-WAA@Yy2ApURyGwr{V-QFo62f5vn>_B4E~;Wqsf`pobt-qi)o z+_STw&quD$Ob;2_eU5_4UW6F`eo2NU!kcz`6B`>?5e;+F3(uxpPpQy`fVPg~?iH=r zSAS-ZhRUiTAarEF5MhWxie;QZeLu$!h^~uGhptN=>bfL2$THJLs`#iArZES zl3GX?M}HFnGEJlJ49T-N6Q=DqZr2>@T9mvF zRjF_4y$nla+6{BB=tc)=-`zAWqY|+_R7pnpHYwkDt>R;B%=25o34$ac>-)lB3z!lC zH@U|ZXu(kA3#nBTj!2QlBP5nn{z4swdd5ld`*{_n;j^Z-Uzy67a;1LtM!MyV3>e?P zJwMFw8I7d_(sX2*={bdzidr`ma|cgb`kLh(UZN}kyJgU0C>EY@UDs%Ie|n0=2n`F4 zK+{FkkK|?Y@tICs5KP>_7YWN@kftX2mW<*F zd0(<_>z{4Knb}ejB}rRQy1#U8AW8@Pt~t0gUxr#yncuUcy-=)m>z&v1$m=)Y(k$e- zm~8MK?<<_oiU*b0XAbKmmQOi&JfrSbcgOCn=cQ7hM5}0isr8N79-C{+LItNY&4KN$ z)WOw9BGWPyC6uvzdta3Bw8|J?e%qL@O;tPsnD{3z4| z77Y>jr4@85vCMJ6sAyP$NBm^!B*7F3$md#pS>8R-Kie#KwO@qv+RAP=-A_Jfs8?pHu)Bc(!-rP2@rtf#7iJsy+C@{y zXw~U&QGTX9;Wvj7eseEF>*J2>_*ZnVNqdmigiG(XCVE{Y1-<1WwyXqiIZg0}o59G^ zXhBH`Alf1NfWs6rd30p%BU}uTlQc^Kzaw2!h)^^M4ls`6@6tQWgRowen^`K*E1t}n zWUJ@Udcgr{?vj_n_O{?%ECS zdrfQ|CAL!{oy50tREgW1b{)9Q9s4OhtH{AuFhCKrle1tkC4m@DVL|YMj8}IOAggS> z?02f}S7^w7DezjqK7?Jm=h$xlhTmcf<{}d7nXn8jN)LB2eB+LBci2H>)@c;zB^%HN_>KbY;bYU)8vJHbqgiTm?5nkYH*k0U*)#Lw zjV{z2RlO*mPdRmVq^EkFhBRMUn>pYTl$5C5JZJ%lWAs%1Pq9`S8}e4eqw`)o zUJ(S-$y1Ir28DhHK{S#7PBlhpv=qtG7j^$d1c6}|51?W{lMTx9lC4v@6`*s+jJ>6? zIyU>@)H55$beCAZ=x0|_kjc3un5FAG`V`z zV46RcLb6?zEbhlb-1l*fKsOP$3CdK54Eo?EMihY+(1S_i;HSzQoVzFuvED1tIVth4 z1ZHGuYTT4b(AQGx;9O#)t<*iHzkhdWSWZaWU8&oo5nkp(z4&93bd@?0e4}p}X#XX3ZsQ!0T>A7i2go^v5JN1^jj4 zmd_wQ|M;KQVcc|;F`c*DPn9>>T+KN@`Wv33jZ6rB7gNb?76KB(2WIl(gOl}#Zk0Y= zAYRhGxV`SGT2PhL)V}ajRZgInS(J~qt`@;OA&045#V)We_J>5&r!ebd4(Cr9akGW} zL9j*L)4F#U?WRFnZ}>nKsa{RtodD-$&2O(8N9QARyx(c>=eVWG8N~J*B2&Zn&Y1`PVYge1ky#gr_gzBb~Fa?D;@a={| ztlV1IZ$ljixqJz{SG3vzWTYS!kb8Svv<~7L^{c9OJ=ta?tTHQa2oKrG(o?bgvwnU6 z%z;-8 zQbaq^l!y%954Nn7>{_AJ`hhp^L!yjLw}9p>Nuc)(3DcWu*nxw*N@;H7iGu4hiiABCn3+W+-66{w$LK z(p+EWms|TKjnC4TD@TB4qf!S|+5wB`=KZ47;=f%wajLt&zMX#Ror$sxgy%Hob@7~_ zJmzy!;|(wLTD8r8rQ#p@N!k8xZtpjIdN}EG0&^^n#2J)VRC^%MiDU0VCxQ0!Z_SDx zKoFzF2E9NoI&9^vb&H z;$su<1@aN{O|k<_ly8^adq??JdHpzW*~)!k2xi!GRFM(!(g&

f&+5lQPu}BDR^8;;*-W+0ZoXj4%et+V=Y0(L7 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 J^x>D^{WoE`+aUk| diff --git a/src/features/schema/Field.jsx b/src/features/schema/Field.jsx index 9055678fda..f2a779421f 100644 --- a/src/features/schema/Field.jsx +++ b/src/features/schema/Field.jsx @@ -1,5 +1,4 @@ -import React from 'react'; - +import { useState } from 'react'; import Accordion from '@mui/material/Accordion'; import AccordionSummary from '@mui/material/AccordionSummary'; import AccordionDetails from '@mui/material/AccordionDetails'; @@ -12,7 +11,7 @@ import FieldIcon from './FieldIcon'; export default function Field(props) { const field = props.field; - const [expanded, setExpanded] = React.useState(false); + const [expanded, setExpanded] = useState(false); const handleChange = (panel) => (event, isExpanded) => { setExpanded(isExpanded ? panel : false); diff --git a/src/features/schema/FieldDetails.jsx b/src/features/schema/FieldDetails.jsx index aeef935caa..7c4dbf3e96 100644 --- a/src/features/schema/FieldDetails.jsx +++ b/src/features/schema/FieldDetails.jsx @@ -1,5 +1,3 @@ -import React from 'react'; - import OAuth2 from './fields/oauth2/OAuth2'; import PhotoSelect from './fields/photoselect/PhotoSelect'; import Toggle from './fields/Toggle'; diff --git a/src/features/schema/FieldIcon.jsx b/src/features/schema/FieldIcon.jsx index 285daa4fa2..da5ae82f22 100644 --- a/src/features/schema/FieldIcon.jsx +++ b/src/features/schema/FieldIcon.jsx @@ -1,4 +1,3 @@ -import React from 'react'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { findIconDefinition } from '@fortawesome/fontawesome-svg-core'; @@ -6,6 +5,10 @@ import Icon from '@mui/material/Icon'; import * as styles from './styles.css'; +const { library } = await import('@fortawesome/fontawesome-svg-core'); +const { fab } = await import('@fortawesome/free-brands-svg-icons'); +const { fas } = await import('@fortawesome/free-solid-svg-icons'); +library.add(fas, fab); export default function FieldIcon(props) { const iconName = props.icon; diff --git a/src/features/schema/Schema.jsx b/src/features/schema/Schema.jsx index 653c49445c..44d0fd092b 100644 --- a/src/features/schema/Schema.jsx +++ b/src/features/schema/Schema.jsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import { useEffect } from 'react'; import { useSelector } from 'react-redux'; import refreshSchema from './actions'; diff --git a/src/features/schema/fields/Color.jsx b/src/features/schema/fields/Color.jsx index 651fa12b75..f9c74eba04 100644 --- a/src/features/schema/fields/Color.jsx +++ b/src/features/schema/fields/Color.jsx @@ -1,5 +1,4 @@ -import React, { useState, useEffect } from 'react'; - +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { Sketch } from '@uiw/react-color'; import { set } from '../../config/configSlice'; diff --git a/src/features/schema/fields/DateTime.jsx b/src/features/schema/fields/DateTime.jsx index 6f444d42f5..808654b347 100644 --- a/src/features/schema/fields/DateTime.jsx +++ b/src/features/schema/fields/DateTime.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import dayjs from 'dayjs'; diff --git a/src/features/schema/fields/Dropdown.jsx b/src/features/schema/fields/Dropdown.jsx index baa920b495..ec65acfe2e 100644 --- a/src/features/schema/fields/Dropdown.jsx +++ b/src/features/schema/fields/Dropdown.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import InputLabel from '@mui/material/InputLabel'; diff --git a/src/features/schema/fields/Generated.jsx b/src/features/schema/fields/Generated.jsx index c01918f431..1182dce235 100644 --- a/src/features/schema/fields/Generated.jsx +++ b/src/features/schema/fields/Generated.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { callGeneratedHandler } from '../../handlers/actions'; diff --git a/src/features/schema/fields/TextInput.jsx b/src/features/schema/fields/TextInput.jsx index 0c2376cf2e..bfcb638713 100644 --- a/src/features/schema/fields/TextInput.jsx +++ b/src/features/schema/fields/TextInput.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useCallback } from 'react'; +import { useState, useEffect, useCallback } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import TextField from '@mui/material/TextField'; diff --git a/src/features/schema/fields/Toggle.jsx b/src/features/schema/fields/Toggle.jsx index 376efa93f3..33da291c1d 100644 --- a/src/features/schema/fields/Toggle.jsx +++ b/src/features/schema/fields/Toggle.jsx @@ -1,5 +1,4 @@ -import React, { useState, useEffect } from 'react'; - +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import Switch from '@mui/material/Switch'; import { set } from '../../config/configSlice'; diff --git a/src/features/schema/fields/Typeahead.jsx b/src/features/schema/fields/Typeahead.jsx index 68e27612de..62c8f7ad0a 100644 --- a/src/features/schema/fields/Typeahead.jsx +++ b/src/features/schema/fields/Typeahead.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import Autocomplete from '@mui/material/Autocomplete'; diff --git a/src/features/schema/fields/location/InputSlider.jsx b/src/features/schema/fields/location/InputSlider.jsx index 59d5cbb1f1..ef525790fb 100644 --- a/src/features/schema/fields/location/InputSlider.jsx +++ b/src/features/schema/fields/location/InputSlider.jsx @@ -1,6 +1,4 @@ // Largely based on https://mui.com/material-ui/react-slider/#InputSlider.js -import React from 'react'; - import { styled } from '@mui/material/styles'; import Box from '@mui/material/Box'; import Grid from '@mui/material/Grid2'; diff --git a/src/features/schema/fields/location/LocationBased.jsx b/src/features/schema/fields/location/LocationBased.jsx index 54f7ab4436..9ab1e49d53 100644 --- a/src/features/schema/fields/location/LocationBased.jsx +++ b/src/features/schema/fields/location/LocationBased.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import MenuItem from '@mui/material/MenuItem'; diff --git a/src/features/schema/fields/location/LocationForm.jsx b/src/features/schema/fields/location/LocationForm.jsx index e2c223400e..f3da710c87 100644 --- a/src/features/schema/fields/location/LocationForm.jsx +++ b/src/features/schema/fields/location/LocationForm.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import MenuItem from '@mui/material/MenuItem'; diff --git a/src/features/schema/fields/oauth2/OAuth2.jsx b/src/features/schema/fields/oauth2/OAuth2.jsx index 211475c05a..56a513cc05 100644 --- a/src/features/schema/fields/oauth2/OAuth2.jsx +++ b/src/features/schema/fields/oauth2/OAuth2.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import OAuth2Login from 'react-simple-oauth2-login'; diff --git a/src/features/schema/fields/oauth2/OAuth2Handler.jsx b/src/features/schema/fields/oauth2/OAuth2Handler.jsx index 117f1ad7d1..f04faa7e2f 100644 --- a/src/features/schema/fields/oauth2/OAuth2Handler.jsx +++ b/src/features/schema/fields/oauth2/OAuth2Handler.jsx @@ -1,5 +1,3 @@ -import React from 'react'; - import { useEffect } from 'react'; import CircularProgress from '@mui/material/CircularProgress'; import Grid from '@mui/material/Grid2'; diff --git a/src/features/schema/fields/photoselect/PhotoSelect.jsx b/src/features/schema/fields/photoselect/PhotoSelect.jsx index 3be9d97be9..2a8523f32d 100644 --- a/src/features/schema/fields/photoselect/PhotoSelect.jsx +++ b/src/features/schema/fields/photoselect/PhotoSelect.jsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback, useEffect } from 'react'; +import Fragment, { useState, useCallback, useEffect } from 'react'; import Cropper from 'react-easy-crop'; import { useDispatch } from 'react-redux'; @@ -111,7 +111,7 @@ export default function PhotoSelect({ field }) { } return ( - + {buttons} - + ); } \ No newline at end of file diff --git a/src/features/schema/fields/photoselect/RawPhotoSelect.jsx b/src/features/schema/fields/photoselect/RawPhotoSelect.jsx index 9700dd0793..9b51bc2742 100644 --- a/src/features/schema/fields/photoselect/RawPhotoSelect.jsx +++ b/src/features/schema/fields/photoselect/RawPhotoSelect.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import Fragment, { useState, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import Button from '@mui/material/Button'; @@ -87,8 +87,8 @@ export default function RawPhotoSelect({ field }) { } return ( - + {buttons} - + ); } \ No newline at end of file diff --git a/src/features/theme/DevToolsTheme.jsx b/src/features/theme/DevToolsTheme.jsx index 51769627b1..cc7426efa0 100644 --- a/src/features/theme/DevToolsTheme.jsx +++ b/src/features/theme/DevToolsTheme.jsx @@ -1,8 +1,3 @@ -import React from 'react'; -import { library } from '@fortawesome/fontawesome-svg-core'; -import { fab } from '@fortawesome/free-brands-svg-icons'; -import { fas } from '@fortawesome/free-solid-svg-icons'; - import ThemeProvider from '@mui/system/ThemeProvider'; import { theme } from './theme'; @@ -10,8 +5,6 @@ import './styles.css'; export default function DevToolsTheme(props) { - library.add(fas, fab); - return ( {props.children} diff --git a/src/features/theme/theme.js b/src/features/theme/theme.js index 49a88cb317..2d4a993ef1 100644 --- a/src/features/theme/theme.js +++ b/src/features/theme/theme.js @@ -1,4 +1,3 @@ - import '@fontsource/barlow'; import '@fontsource/material-icons'; @@ -6,7 +5,6 @@ import { createTheme } from '@mui/material/styles'; import { solarized } from './colors'; - export const theme = createTheme({ palette: { mode: 'light', diff --git a/src/index.js b/src/index.js index b5af7b9ed5..dfe6257c6e 100644 --- a/src/index.js +++ b/src/index.js @@ -1,12 +1,13 @@ -import React from 'react'; +import { lazy } from 'react'; import { Provider } from 'react-redux'; -import { BrowserRouter, Route, Routes } from "react-router-dom"; +import { BrowserRouter, Route, Routes } from 'react-router-dom'; +import { createRoot } from 'react-dom/client'; -import Main from './Main'; -import OAuth2Handler from './features/schema/fields/oauth2/OAuth2Handler'; import store from './store'; -import DevToolsTheme from './features/theme/DevToolsTheme'; -import { createRoot } from 'react-dom/client'; + +const DevToolsTheme = lazy(() => import(/* webpackChunkName: "devtoolstheme" */ './features/theme/DevToolsTheme')); +const Main = lazy(() => import(/* webpackChunkName: "main" */ './Main')); +const OAuth2Handler = lazy(() => import(/* webpackChunkName: "oauth2handler" */ './features/schema/fields/oauth2/OAuth2Handler')); const App = () => { return ( @@ -19,7 +20,7 @@ const App = () => { - + ) } diff --git a/webpack.common.js b/webpack.common.js index fdd24ae6d8..68cdd69232 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -1,11 +1,10 @@ module.exports = { + entry: { + app: { import: './src/index.js' } + }, resolve: { extensions: ['*', '.js', '.jsx'], }, - experiments: { - asyncWebAssembly: true, - syncWebAssembly: true - }, module: { rules: [ { diff --git a/webpack.dev.js b/webpack.dev.js index a82564e060..a2d25ec1ef 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,9 +1,8 @@ -const { merge } = require("webpack-merge"); -const common = require("./webpack.common.js"); -const webpack = require("webpack"); +import { merge } from "webpack-merge"; +import common from "./webpack.common.js"; -const CopyWebpackPlugin = require("copy-webpack-plugin"); -const HtmlWebPackPlugin = require("html-webpack-plugin"); +import CopyWebpackPlugin from "copy-webpack-plugin"; +import HtmlWebPackPlugin from "html-webpack-plugin"; const htmlPlugin = new HtmlWebPackPlugin({ template: "./src/index.html", @@ -16,13 +15,8 @@ const copyPlugin = new CopyWebpackPlugin({ }); let plugins = [htmlPlugin, copyPlugin]; -plugins.push( - new webpack.DefinePlugin({ - PIXLET_API_BASE: JSON.stringify(""), - }) -); -module.exports = merge(common, { +export default merge(common, { mode: "development", devtool: "source-map", devServer: { diff --git a/webpack.prod.js b/webpack.prod.js index 8abb09264c..9e1fc971da 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,9 +1,8 @@ -const { merge } = require("webpack-merge"); -const common = require("./webpack.common.js"); -const webpack = require("webpack"); -const path = require("path"); -const HtmlWebPackPlugin = require("html-webpack-plugin"); -const CopyWebpackPlugin = require("copy-webpack-plugin"); +import { merge } from "webpack-merge"; +import common from "./webpack.common.js"; +import { resolve } from "path"; +import HtmlWebPackPlugin from "html-webpack-plugin"; +import CopyWebpackPlugin from "copy-webpack-plugin"; const htmlPlugin = new HtmlWebPackPlugin({ template: "./src/index.html", @@ -16,21 +15,27 @@ const copyPlugin = new CopyWebpackPlugin({ }); let plugins = [htmlPlugin, copyPlugin]; -plugins.push( - new webpack.DefinePlugin({ - PIXLET_API_BASE: JSON.stringify(""), - }) -); -module.exports = merge(common, { +export default merge(common, { mode: "production", - devtool: "source-map", + devtool: false, output: { asyncChunks: true, publicPath: "auto", - path: path.resolve(__dirname, "dist/static"), + path: resolve(import.meta.dirname, "dist/static"), filename: "[name].[chunkhash].js", clean: true, }, + performance: { + // free-brands-svg-icons and free-solid-svg-icons are large + // libraries. They arey are bundled fully to look up arbitrary + // icons by the name specified in the schema (see FieldIcon.jsx). + // Increase the maxAssetSize to silence the warning. + maxAssetSize: 1_000_000, + }, + optimization: { + // Creates a runtime file to be shared for all generated chunks. + runtimeChunk: 'single' + }, plugins: plugins, }); From bc48555eb3e0bf063437e212dc4ea054f70f253a Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Fri, 28 Feb 2025 00:54:21 +0100 Subject: [PATCH 54/68] Update to Trixie for the builder image --- Dockerfile | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5d7889f463..d02319bfe8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,18 @@ # Can't use Alpine because of # - https://github.com/golang/go/issues/54805: libpixlet.so can't be loaded dynamically # - https://github.com/python/cpython/issues/109332: CPython doesn't support musl -FROM golang:1.24.0-bookworm AS builder +FROM debian:trixie-slim AS builder -RUN echo deb http://deb.debian.org/debian bookworm-backports main > /etc/apt/sources.list.d/bookworm-backports.list && \ - apt-get update && apt install -y --no-install-recommends npm libwebp-dev/bookworm-backports git make clang tzdata ca-certificates && \ +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates \ + clang \ + git \ + golang-go \ + libwebp-dev \ + make \ + npm \ + tzdata && \ rm -rf /var/lib/apt/lists/* COPY . /pixlet WORKDIR /pixlet From c7206bbefa8ad3424f31e69de039c40070485f7f Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Fri, 28 Feb 2025 01:09:26 +0100 Subject: [PATCH 55/68] Use Node 23 for the container build --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index d02319bfe8..7a7993b386 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,9 @@ FROM debian:trixie-slim AS builder RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl && \ + curl -fsSL https://deb.nodesource.com/setup_23.x | bash - && \ + apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ ca-certificates \ clang \ From 7bc79e53acc30106a860d2a242f0217dd42d467d Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Fri, 28 Feb 2025 01:19:50 +0100 Subject: [PATCH 56/68] Install ca-certificates before downloading Node --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7a7993b386..4c9b404c91 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,12 +3,14 @@ # - https://github.com/python/cpython/issues/109332: CPython doesn't support musl FROM debian:trixie-slim AS builder +SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates \ + curl && \ curl -fsSL https://deb.nodesource.com/setup_23.x | bash - && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - ca-certificates \ clang \ git \ golang-go \ From 1fe60fc89e957965eb78d3e6e0c1615dec7e9181 Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Fri, 28 Feb 2025 01:24:10 +0100 Subject: [PATCH 57/68] s/npm/nodejs/ --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4c9b404c91..712734a594 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get update && \ golang-go \ libwebp-dev \ make \ - npm \ + nodejs \ tzdata && \ rm -rf /var/lib/apt/lists/* COPY . /pixlet From 84649436d385cf430253e9472cadcdb109c5346d Mon Sep 17 00:00:00 2001 From: Ingmar Stein Date: Fri, 28 Feb 2025 07:58:51 +0100 Subject: [PATCH 58/68] LocationBased: pass the display name along with the value This fixes the docs/schema/locationbased/example.star case, but the stored location is still not loaded correctly. --- src/features/schema/fields/location/LocationBased.jsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/features/schema/fields/location/LocationBased.jsx b/src/features/schema/fields/location/LocationBased.jsx index 9ab1e49d53..73fd3344c8 100644 --- a/src/features/schema/fields/location/LocationBased.jsx +++ b/src/features/schema/fields/location/LocationBased.jsx @@ -69,9 +69,14 @@ export default function LocationBased({ field }) { const onChangeOption = (event) => { setValue(event.target.value); + const selectedOption = options.find(option => option.value === event.target.value); + let option = { 'value': event.target.value }; + if (selectedOption) { + option['display'] = selectedOption.display; + } dispatch(set({ id: field.id, - value: JSON.stringify({ 'value': event.target.value }) + value: JSON.stringify(option) })); } @@ -121,6 +126,7 @@ export default function LocationBased({ field }) { Options for chosen location {Intl.supportedValuesOf('timeZone').map((zone) => { return {zone} @@ -126,7 +150,7 @@ export default function LocationBased({ field }) { Options for chosen location onValueChange(e.target.value)} + onClick={onClick} + /> +); + +// Container for the results dropdown list +const CommandList = ({ children }) => ( +

+); + +// Individual selectable item in the dropdown list +const CommandItem = ({ children, onSelect }) => ( +
+ {children} +
+); + +// LocationPicker component that handles location search via Geoapify API +const LocationPicker = ({ onLocationSelect, initialLocation }) => { + // State management for the search and results + const [query, setQuery] = useState(initialLocation?.locality || ''); + const [results, setResults] = useState([]); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [isOpen, setIsOpen] = useState(false); + + // Debounce utility to prevent excessive API calls during typing + const debounce = (func, wait) => { + let timeout; + return (...args) => { + clearTimeout(timeout); + timeout = setTimeout(() => func(...args), wait); + }; + }; + + // Function to search locations via Geoapify API + const searchLocations = async (searchQuery) => { + if (!searchQuery) { + setResults([]); + setIsOpen(false); // Close dropdown if query is empty + return; + } + + setLoading(true); + setError(null); + + try { + const apiKey = '49863bd631b84a169b347fafbf128ce6'; + const encodedQuery = encodeURIComponent(searchQuery); + const response = await fetch( + `https://api.geoapify.com/v1/geocode/search?text=${encodedQuery}&apiKey=${apiKey}` + ); + + if (!response.ok) { + throw new Error('Failed to fetch locations'); + } + + const data = await response.json(); + + // Transform the API response to our internal format + const locations = data.features.map(feature => ({ + formattedName: feature.properties.formatted, + locality: feature.properties.formatted, + lat: feature.properties.lat, + lng: feature.properties.lon, + timezone: feature.properties.timezone?.name || 'America/New_York' + })); + + setResults(locations); + } catch (err) { + setError('Failed to load locations'); + console.error('Error fetching locations:', err); + } finally { + setLoading(false); + } + }; + + // Create a debounced search function to delay API calls + const debouncedSearch = useCallback( + debounce(searchLocations, 300), + [] + ); + + // Handler for search input changes + const handleSearch = (value) => { + setQuery(value); + setIsOpen(true); // Open dropdown when searching + debouncedSearch(value); + }; + + // Effect to handle clicks outside the component to close the dropdown + useEffect(() => { + const handleClickOutside = () => { + setIsOpen(false); + }; + + // Add event listener when component mounts + document.addEventListener('click', handleClickOutside); + + // Clean up the event listener on unmount + return () => { + document.removeEventListener('click', handleClickOutside); + }; + }, []); + + // Prevent dropdown closure when clicking inside the component + const handleCommandClick = (e) => { + e.stopPropagation(); + }; + + return ( + + setIsOpen(true)} // Open dropdown when clicking input + /> + {isOpen && loading && ( +
+ Loading... +
+ )} + {isOpen && error && ( +
+ {error} +
+ )} + {isOpen && results.length > 0 && ( + + {results.map((location, index) => ( + { + onLocationSelect(location); + setIsOpen(false); // Close dropdown after selection + setResults([]); // Clear results + }} + > + 📍 + {location.formattedName} + + ))} + + )} +
+ ); +}; + +// Main component that extends the LocationForm with handler integration export default function LocationBased({ field }) { - const [value, setValue] = useState({ - // Default to Brooklyn, because that's where tidbyt folks - // are and we can only dispatch a location object which - // has all fields set. - 'lat': 40.678, - 'lng': -73.944, - 'locality': 'Brooklyn, New York', - 'timezone': 'America/New_York', - // But overwrite with app-specific defaults set in config. - 'display': '', - 'value': '', - ...field.default - }); + // Get URL parameters to check for location data + const urlParams = getUrlParams(); + + // Try to find location data in the URL parameters + let urlLocation = null; + + // First check if field.id exists as a parameter + if (urlParams[field.id]) { + try { + const parsed = JSON.parse(decodeURIComponent(urlParams[field.id])); + if (parsed && typeof parsed === 'object' && 'locality' in parsed) { + urlLocation = parsed; + } + } catch (err) { + console.error(`Error parsing ${field.id} from URL:`, err); + } + } + + // If location not found by field.id, search all URL parameters for valid location data + if (!urlLocation) { + for (const [key, value] of Object.entries(urlParams)) { + try { + const parsed = JSON.parse(decodeURIComponent(value)); + if (parsed && typeof parsed === 'object' && 'locality' in parsed) { + urlLocation = parsed; + break; // Found a valid location, stop searching + } + } catch (err) { + // Not a valid JSON, continue to next parameter + continue; + } + } + } + + // Function to calculate default values with fallbacks and overrides + const getDefaultValues = () => { + const defaultValues = { + // Default to Brooklyn as a fallback + 'lat': 40.678, + 'lng': -73.944, + 'locality': 'Brooklyn, New York', + 'timezone': 'America/New_York', + 'display': '', // For dropdown display value + 'value': '', // For dropdown selected value + }; + // Override with field.default if available + if (field.default) { + Object.assign(defaultValues, field.default); + } + + // Override with URL location if available + if (urlLocation) { + // Merge the URL location with defaults for any missing fields + return { + ...defaultValues, + ...urlLocation + }; + } + + return defaultValues; + }; + + // Component state management + const [value, setValue] = useState(getDefaultValues()); + const [initialized, setInitialized] = useState(false); + + // Redux hooks const config = useSelector(state => state.config); const dispatch = useDispatch(); - const handlerResults = useSelector(state => state.handlers) + const handlerResults = useSelector(state => state.handlers); + // Helper function to format location for handlers const getLocationAsJson = (v) => { return JSON.stringify({ lat: v.lat, @@ -37,73 +274,81 @@ export default function LocationBased({ field }) { locality: v.locality, timezone: v.timezone }); - } + }; + // Effect to initialize the component useEffect(() => { - if (field.id in config) { + // Set initialized to true + setInitialized(true); + }, []); + + // Effect to load configuration from Redux or initialize with defaults + useEffect(() => { + if (initialized && field.id in config) { + // Load saved configuration from Redux let v = JSON.parse(config[field.id].value); setValue(v); + + // Call the associated handler with the location data callHandler(field.id, field.handler, getLocationAsJson(v)); - } else if (field.default) { - value = field.default; + } else if (initialized) { + // Use default values (including URL params if available) + const defaultValues = getDefaultValues(); + + // Save to Redux dispatch(set({ id: field.id, - value: JSON.stringify(field.default), + value: JSON.stringify(defaultValues), })); - } - }, [config]); + setValue(defaultValues); - useEffect(() => { - if (!(field.id in config)) { - callHandler(field.id, field.handler, getLocationAsJson(value)); + // Call handler with initial location + callHandler(field.id, field.handler, getLocationAsJson(defaultValues)); } - }, []); + }, [config, dispatch, field.id, field.default, field.handler, initialized]); - const setLocationPart = (partName, partValue) => { - let newValue = { ...value }; - newValue[partName] = partValue; + // Handler for location selection from the picker + const handleLocationSelect = (location) => { + // Create new state with selected location + const newValue = { + ...value, + lat: location.lat, + lng: location.lng, + locality: location.locality || location.formattedName, + timezone: location.timezone + }; + + // Update state and Redux store setValue(newValue); dispatch(set({ id: field.id, value: JSON.stringify(newValue), })); - callHandler(field.id, field.handler, getLocationAsJson(newValue)); - } - - const truncateLatLng = (value) => { - return String(Number(value).toFixed(3)); - } - const onChangeLatitude = (event) => { - setLocationPart('lat', truncateLatLng(event.target.value)); - } - - const onChangeLongitude = (event) => { - setLocationPart('lng', truncateLatLng(event.target.value)); - } - - const onChangeLocality = (event) => { - setLocationPart('locality', event.target.value); - } - - const onChangeTimezone = (event) => { - setLocationPart('timezone', event.target.value); - } + // Call handler with new location to update location-dependent options + callHandler(field.id, field.handler, getLocationAsJson(newValue)); + }; + // Handler for dropdown option selection const onChangeOption = (event) => { let newValue = { ...value }; newValue.value = event.target.value; + + // Get display text from selected option const selectedOption = options.find(option => option.value === event.target.value); if (selectedOption) { newValue.display = selectedOption.display; } + + // Update state and Redux store setValue(newValue); dispatch(set({ id: field.id, value: JSON.stringify(newValue), })); - } + }; + // Get options from handler results for the dropdown let options = []; if (field.id in handlerResults.values) { options = handlerResults.values[field.id]; @@ -111,50 +356,32 @@ export default function LocationBased({ field }) { return ( - Latitude - - - Longitude - - - Locality - Location + - Timezone - - Options for chosen location + + {/* Display selected location details */} + {value && ( +
+ Selected: {value.locality} + Coordinates: {value.lat.toFixed(3)}, {value.lng.toFixed(3)} + Timezone: {value.timezone} +
+ )} + + {/* Options dropdown for the chosen location */} + Options for chosen location
); diff --git a/src/features/schema/fields/location/LocationForm.jsx b/src/features/schema/fields/location/LocationForm.jsx index f3da710c87..92ccd85074 100644 --- a/src/features/schema/fields/location/LocationForm.jsx +++ b/src/features/schema/fields/location/LocationForm.jsx @@ -1,110 +1,300 @@ -import { useState, useEffect } from 'react'; +import { useState, useEffect, useCallback } from 'react'; import { useSelector, useDispatch } from 'react-redux'; - -import MenuItem from '@mui/material/MenuItem'; -import FormControl from '@mui/material/FormControl'; -import Select from '@mui/material/Select'; -import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; +import FormControl from '@mui/material/FormControl'; -import InputSlider from './InputSlider'; import { set } from '../../../config/configSlice'; +// Command components for the location picker - these create the UI for the dropdown interface +// Container component that wraps the entire command interface +const Command = ({ children, className }) => ( +
+ {children} +
+); + +// Input field component for search queries +const CommandInput = ({ placeholder, value, onValueChange }) => ( + onValueChange(e.target.value)} + /> +); + +// Container for the dropdown list of location results +const CommandList = ({ children }) => ( +
+ {children} +
+); + +// Individual item in the dropdown list that user can select +const CommandItem = ({ children, onSelect }) => ( +
+ {children} +
+); + +// Helper function to extract URL parameters +const getUrlParams = () => { + // Parse the query string from the URL + const queryString = window.location.search; + const params = new URLSearchParams(queryString); + + // Create an object with all parameters + const urlParams = {}; + for (const [key, value] of params.entries()) { + urlParams[key] = value; + } + + return urlParams; +}; + +// Main location picker component that integrates with Geoapify API +const LocationPicker = ({ onLocationSelect, initialLocation }) => { + // State for search input, results, loading status, and dropdown visibility + const [query, setQuery] = useState(initialLocation?.locality || ''); + const [results, setResults] = useState([]); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [isOpen, setIsOpen] = useState(false); + + // Debounce function to prevent excessive API calls during typing + const debounce = (func, wait) => { + let timeout; + return (...args) => { + clearTimeout(timeout); + timeout = setTimeout(() => func(...args), wait); + }; + }; + + // Function to fetch location results from Geoapify API + const searchLocations = async (searchQuery) => { + if (!searchQuery) { + setResults([]); + setIsOpen(false); // Close dropdown if query is empty + return; + } + + setLoading(true); + setError(null); + + try { + const apiKey = '49863bd631b84a169b347fafbf128ce6'; + const encodedQuery = encodeURIComponent(searchQuery); + const response = await fetch( + `https://api.geoapify.com/v1/geocode/search?text=${encodedQuery}&apiKey=${apiKey}` + ); + + if (!response.ok) { + throw new Error('Failed to fetch locations'); + } + + const data = await response.json(); + + // Transform API response to match our format + const locations = data.features.map(feature => ({ + formattedName: feature.properties.formatted, + locality: feature.properties.formatted, + lat: feature.properties.lat, + lng: feature.properties.lon, + timezone: feature.properties.timezone?.name || 'America/New_York' + })); + + setResults(locations); + } catch (err) { + setError('Failed to load locations'); + console.error('Error fetching locations:', err); + } finally { + setLoading(false); + } + }; + + // Create a debounced version of the search function (300ms delay) + const debouncedSearch = useCallback( + debounce(searchLocations, 300), + [] + ); + + // Handler for search input changes + const handleSearch = (value) => { + setQuery(value); + setIsOpen(true); // Open dropdown when searching + debouncedSearch(value); + }; + + // Close dropdown when clicking outside the component + useEffect(() => { + const handleClickOutside = () => { + setIsOpen(false); + }; + + // Add event listener when component mounts + document.addEventListener('click', handleClickOutside); + + // Return cleanup function + return () => { + document.removeEventListener('click', handleClickOutside); + }; + }, []); + + // Prevent dropdown from closing when clicking inside the component + const handleCommandClick = (e) => { + e.stopPropagation(); + }; + + return ( + + setIsOpen(true)} // Open dropdown when clicking input + /> + {isOpen && loading && ( +
+ Loading... +
+ )} + {isOpen && error && ( +
+ {error} +
+ )} + {isOpen && results.length > 0 && ( + + {results.map((location, index) => ( + { + onLocationSelect(location); + setIsOpen(false); // Close dropdown after selection + setResults([]); // Clear results + }} + > + 📍 + {location.formattedName} + + ))} + + )} +
+ ); +}; + +// Main exported component that wraps the LocationPicker with Redux integration export default function LocationForm({ field }) { - const [value, setValue] = useState({ - // Default to Brooklyn, because that's where tidbyt folks - // are and we can only dispatch a location object which - // has all fields set. - 'lat': 40.678, - 'lng': -73.944, - 'locality': 'Brooklyn, New York', - 'timezone': 'America/New_York', - // But overwrite with app-specific defaults set in config. - ...field.default - }); + // Get URL parameters to check for location data + const urlParams = getUrlParams(); - const config = useSelector(state => state.config); + // Check if location parameter exists in URL (it's a JSON string) + const urlLocationParam = urlParams.location; + let urlLocation = null; + + // Try to parse the URL location parameter if it exists + if (urlLocationParam) { + try { + urlLocation = JSON.parse(decodeURIComponent(urlLocationParam)); + } catch (err) { + console.error('Error parsing location from URL:', err); + } + } + + // Determine default values based on defaults, field props, and URL params + const getDefaultValues = () => { + const defaultValues = { + // Default to Brooklyn as fallback + 'lat': 40.678, + 'lng': -73.944, + 'locality': 'Brooklyn, New York', + 'timezone': 'America/New_York', + }; + // Override with field.default if available + if (field.default) { + Object.assign(defaultValues, field.default); + } + + // Override with URL location if available + if (urlLocation) { + return urlLocation; // Replace the entire location object + } + + return defaultValues; + }; + + // State for location value and component initialization tracking + const [value, setValue] = useState(getDefaultValues()); + const [initialized, setInitialized] = useState(false); + + // Redux hooks for state management + const config = useSelector(state => state.config); const dispatch = useDispatch(); + // Set component as initialized on first render useEffect(() => { - if (field.id in config) { + // Set initialized to true immediately - we don't need to search + // since we're getting the full location object from the URL + setInitialized(true); + }, []); + + // Load location from Redux store or initialize with defaults + useEffect(() => { + if (initialized && field.id in config) { + // If location exists in Redux, use that value setValue(JSON.parse(config[field.id].value)); - } else if (field.default) { + } else if (initialized) { + // Otherwise use default values and save to Redux + const defaultValues = getDefaultValues(); dispatch(set({ id: field.id, - value: field.default, + value: JSON.stringify(defaultValues), })); + setValue(defaultValues); } - }, [config]) + }, [config, dispatch, field.id, field.default, initialized]); + + // Handler for when user selects a location from the dropdown + const handleLocationSelect = (location) => { + const newValue = { + lat: location.lat, + lng: location.lng, + locality: location.locality || location.formattedName, + timezone: location.timezone + }; - const setPart = (partName, partValue) => { - let newValue = { ...value }; - newValue[partName] = partValue; + // Update local state and Redux store setValue(newValue); dispatch(set({ id: field.id, value: JSON.stringify(newValue), })); - } - - const truncateLatLng = (value) => { - return String(Number(value).toFixed(3)); - } - - const onChangeLatitude = (event) => { - setPart('lat', truncateLatLng(event.target.value)); - } - - const onChangeLongitude = (event) => { - setPart('lng', truncateLatLng(event.target.value)); - } - - const onChangeLocality = (event) => { - setPart('locality', event.target.value); - } - - const onChangeTimezone = (event) => { - setPart('timezone', event.target.value); - } + }; return ( - Latitude - - - Longitude - - - Locality - Location + + {/* Location search component */} + - Timezone - + + {/* Display the currently selected location details */} + {value && ( +
+ Selected: {value.locality} + Coordinates: {value.lat.toFixed(3)}, {value.lng.toFixed(3)} + Timezone: {value.timezone} +
+ )}
); } \ No newline at end of file From 548b1332d2028b77d10840c634c276d0b4b3197d Mon Sep 17 00:00:00 2001 From: Tavis Date: Fri, 7 Mar 2025 23:30:08 -1000 Subject: [PATCH 68/68] add location-picker branch to publish job --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 528200743d..b135af15aa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - location-picker tags: - "v[0-9]+.[0-9]+.[0-9]+"

f&+5lQPu}BDR^8;;*-W+0ZoXj4%et+V=Y0(L7 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 J^x>D^{WoE`+aUk| diff --git a/src/Main.jsx b/src/Main.jsx index 6ae7373e6f..4e71145372 100644 --- a/src/Main.jsx +++ b/src/Main.jsx @@ -1,4 +1,3 @@ -import React from 'react'; import { useSelector } from 'react-redux'; import Container from '@mui/material/Container'; diff --git a/src/favicon.png b/src/favicon.png index 189f47ca232c51113928088d1eb5cee05c5c18de..87e93eb2010fdc4864ecd1185dccefd48b9a6b76 100644 GIT binary patch delta 395 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