navigation

This commit is contained in:
fabien committed 2026-08-07 19:20:16 +02:00
1 parent 5810c4c94f
commit ff6ef46cd4
78 files changed
+681 -282

No files matched your search

+13 -9
View File
@@ -7,9 +7,11 @@ import (
"github.com/spf13/cobra"
"trankilou.fr/lassistanoque/backend/internal/adapter/auth/password"
"trankilou.fr/lassistanoque/backend/internal/adapter/database"
"trankilou.fr/lassistanoque/backend/internal/adapter/file"
"trankilou.fr/lassistanoque/backend/internal/adapter/security"
"trankilou.fr/lassistanoque/backend/internal/http"
"trankilou.fr/lassistanoque/backend/internal/service/auth"
"trankilou.fr/lassistanoque/backend/internal/service/storage"
"trankilou.fr/lassistanoque/backend/internal/service/user"
)
@@ -45,31 +47,33 @@ func runServe() {
panic(err)
}
settings, err := db.SettingsReporitory().GetSettings()
// storage
store, err := file.GetStorageProvider(db.FileRepository())
if err != nil {
panic(err)
}
// Adapters
tokenManager := security.NewJwtTokenManager(12*time.Hour, 7*24*time.Hour, "lassistanoque")
pwdAuth := password.NewPasswordAuthenticator(tokenManager, db.UserReporitory())
pwdAuth := password.NewPasswordAuthenticator(tokenManager, db.UserRepository())
// services
authService := auth.NewService(
db.SettingsReporitory(),
db.UserReporitory(),
db.SettingsRepository(),
db.UserRepository(),
map[string]auth.Authenticator{
"password": pwdAuth,
},
)
userService := user.NewService(db.UserReporitory())
userService := user.NewService(db.UserRepository())
storageService := storage.NewService(store)
// http server
router := http.NewRouter(http.Dependencies{
Settings: settings,
AuthService: authService,
UserService: userService,
TokenManager: tokenManager,
StorageService: storageService,
AuthService: authService,
UserService: userService,
TokenManager: tokenManager,
})
if err := router.Start(); err != nil {
@@ -26,7 +26,7 @@ func NewPasswordAuthenticator(
func (s *PasswordAuthenticator) Authenticate(ctx context.Context, creds auth.Credentials) (*auth.Session, error) {
user, err := s.userRepository.FindUserByEmail(creds.Email)
if err != nil {
if err != nil || !user.Enabled {
return nil, fmt.Errorf("Unauthorized user %s : %s", creds.Email, err)
}
@@ -61,15 +61,28 @@ func (s *PasswordAuthenticator) Register(ctx context.Context, registration auth.
if err != nil {
return nil, err
}
user, err := s.userRepository.CreateUser(&domain.User{
user := &domain.User{
Email: registration.Email,
Firstname: registration.Firstname,
Lastname: registration.Lastname,
Password: hashedPassord,
})
Enabled: true,
}
count, err := s.userRepository.CountUsers()
if err != nil {
return nil, err
}
_ = user
return nil, nil
if count == 0 {
user.Administrator = true
}
user, err = s.userRepository.CreateUser(user)
if err != nil {
return nil, err
}
return &auth.Session{User: user}, nil
}
+3 -2
View File
@@ -9,8 +9,9 @@ import (
)
type Database interface {
SettingsReporitory() domain.SettingsRepository
UserReporitory() domain.UserRepository
SettingsRepository() domain.SettingsRepository
UserRepository() domain.UserRepository
FileRepository() domain.FileRepository
Migrate() error
Close()
}
+12 -12
View File
@@ -31,18 +31,6 @@ func NewTursoDB(cfg *config.Config) (*TursoDB, error) {
}, nil
}
func (db *TursoDB) UserReporitory() domain.UserRepository {
return &TursoUserRepository{
DB: db.DB,
}
}
func (db *TursoDB) SettingsReporitory() domain.SettingsRepository {
return &TursoSettingsRepository{
DB: db.DB,
}
}
func (db *TursoDB) Close() {
db.DB.Close()
}
@@ -67,3 +55,15 @@ func (db *TursoDB) Migrate() error {
m.Up()
return nil
}
func (db *TursoDB) UserRepository() domain.UserRepository {
return &TursoUserRepository{DB: db.DB}
}
func (db *TursoDB) SettingsRepository() domain.SettingsRepository {
return &TursoSettingsRepository{DB: db.DB}
}
func (db *TursoDB) FileRepository() domain.FileRepository {
return &TursoFileRepository{DB: db.DB}
}
@@ -0,0 +1,107 @@
package turso
import (
"io"
"time"
"github.com/jmoiron/sqlx"
"trankilou.fr/lassistanoque/backend/internal/adapter/database/dberrors"
"trankilou.fr/lassistanoque/backend/internal/domain"
"trankilou.fr/lassistanoque/backend/internal/utility"
)
type TursoFileRepository struct {
DB *sqlx.DB
}
func (fr *TursoFileRepository) FindByID(id string) (*domain.File, error) {
var file domain.File
err := fr.DB.Get(&file, "select id, name, content_type, storage_path, storage_filename, date_created, date_updated, _version from files where id=$1", id)
return &file, err
}
func (fr *TursoFileRepository) Create(file *domain.File) (*domain.File, error) {
file.ID = utility.GenID()
file.VersionId = utility.GenID()
file.DateCreated = time.Now()
file.DateUpdated = time.Now()
_, err := fr.DB.NamedExec(
`insert into files (id, name, content_type, storage_path, storage_filename, date_created, date_updated, _version)
values (:id, :name, :content_type, :storage_path, :storage_filename, :date_created, :date_updated, :_version)`,
file)
if err != nil {
return nil, err
}
return file, nil
}
func (fr *TursoFileRepository) Update(file *domain.File) (*domain.File, error) {
newVersion := utility.GenID()
file.DateUpdated = time.Now()
res, err := fr.DB.Exec(
`update files
set name=$1,
content_type=$2,
storage_path=$3,
storage_filename=$4,
date_updated=$5,
_version=$6
where id=$7 and _version=$8`,
file.Name, file.ContentType, file.StoragePath, file.StorageFilename, file.DateUpdated,
newVersion, file.ID, file.VersionId,
)
if err != nil {
return nil, err
}
if count, _ := res.RowsAffected(); count == 0 {
return nil, dberrors.ErrNoRowUpdated
}
file.VersionId = newVersion
return file, nil
}
func (fr *TursoFileRepository) Delete(id string) error {
res, err := fr.DB.Exec("delete from files where id=$1", id)
if count, _ := res.RowsAffected(); count == 0 {
return dberrors.ErrNoRowUpdated
}
return err
}
func (fr *TursoFileRepository) Upload(reader io.Reader, path string, name string, contentType string, replace bool) (*domain.File, error) {
bytes, err := io.ReadAll(reader)
if err != nil {
return nil, err
}
file := &domain.File{
ID: utility.GenID(),
Name: name,
StoragePath: path,
StorageFilename: name,
ContentType: contentType,
VersionId: utility.GenID(),
DateCreated: time.Now(),
DateUpdated: time.Now(),
Content: bytes,
}
_, err = fr.DB.NamedExec(
`insert into files (id, name, content_type, storage_path, storage_filename, date_created, date_updated, _version, content)
values (:id, :name, :content_type, :storage_path, :storage_filename, :date_created, :date_updated, :_version, :content)`,
file)
if err != nil {
return nil, err
}
return file, nil
}
func (fr *TursoFileRepository) Download(id string) (*domain.File, error) {
var file domain.File
err := fr.DB.Get(&file, "select * from files where id=$1", id)
return &file, err
}
@@ -24,72 +24,72 @@ create table settings (
);
create table oidc (
id string not null primary key,
label string,
domain string,
client_id string,
client_secret string,
wellknown_url string,
id text not null primary key,
label text,
domain text,
client_id text,
client_secret text,
wellknown_url text,
_version text
);
create table users (
id string not null primary key,
firstname string not null default '',
lastname string not null default '',
password string not null default '',
email string not null unique,
picture string not null default '',
id text not null primary key,
firstname text not null default '',
lastname text not null default '',
password text not null default '',
email text not null unique,
picture text not null default '',
enabled numeric default true,
administrator numeric default false,
_version text not null
);
create table user_addresses (
id string not null primary key,
user_id string,
type string,
address string,
id text not null primary key,
user_id text,
type text,
address text,
_version text
);
create table channels (
id string not null primary key,
name string,
type string,
id text not null primary key,
name text,
type text,
enabled numeric,
configuration string,
configuration text,
_version text
);
create table tools (
id string not null primary key,
name string,
type string,
id text not null primary key,
name text,
type text,
enabled numeric,
configuration string,
configuration text,
_version text
);
create table tasks (
id string not null primary key,
owner_id string,
model_id string,
label string,
prompt string,
cron string,
status string,
id text not null primary key,
owner_id text,
model_id text,
label text,
prompt text,
cron text,
status text,
next_datetime numeric,
_version text
);
create table history (
id string not null primary key,
task_id string,
id text not null primary key,
task_id text,
start_datetimle numeric,
end_datetime numeric,
prompt string,
log string,
response string,
prompt text,
log text,
response text,
_version text
);
@@ -0,0 +1 @@
drop table files;
@@ -0,0 +1,11 @@
create table files (
id text not null primary key,
name text not null default '',
content_type text not null default '',
storage_path text not null default '',
storage_filename text not null default '',
date_created numeric not null default current_timestamp,
date_updated numeric not null default 0,
content blob,
_version text not null
);
@@ -37,21 +37,18 @@ func (ur *TursoUserRepository) ListUsers() ([]*domain.User, error) {
func (ur *TursoUserRepository) CreateUser(user *domain.User) (*domain.User, error) {
count, err := ur.CountUsers()
if err != nil {
return nil, err
}
if count == 0 {
user.Administrator = true
}
user.ID = utility.GenID()
user.VersionId = utility.GenID()
ur.DB.NamedExec(
_, err := ur.DB.NamedExec(
`insert into users (id, email, firstname, lastname, enabled, password, administrator, _version)
values (:id, :email, :firstname, :lastname, :enabled, :password, :administrator, :_version)`,
user)
return nil, nil
if err != nil {
return nil, err
}
return user, nil
}
func (ur *TursoUserRepository) UpdateUser(user *domain.User) (*domain.User, error) {
@@ -0,0 +1,73 @@
package database
import (
"context"
"io"
"net/url"
"time"
"trankilou.fr/lassistanoque/backend/internal/domain"
)
type DatabaseStorageProvider struct {
repo domain.FileRepository
}
func NewDatabaseStorageProvider(repo domain.FileRepository) *DatabaseStorageProvider {
return &DatabaseStorageProvider{repo}
}
func (p *DatabaseStorageProvider) EnsureBucket(
ctx context.Context,
bucketName string,
) error {
return nil
}
func (p *DatabaseStorageProvider) PutObject(
ctx context.Context,
reader io.Reader,
bucketName string,
objectName string,
filePath string,
contentType string,
) error {
return nil
}
func (p *DatabaseStorageProvider) GetObject(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
) (io.ReadCloser, error) {
return nil, nil
}
func (p *DatabaseStorageProvider) DeleteObject(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
) error {
return nil
}
func (p *DatabaseStorageProvider) ExistsObject(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
) (bool, error) {
return false, nil
}
func (p *DatabaseStorageProvider) GetPresignedURL(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
Expiry time.Time,
) (*url.URL, error) {
parsed, _ := url.Parse("https://localhost")
return parsed, nil
}
+20
View File
@@ -0,0 +1,20 @@
package file
import (
"fmt"
"trankilou.fr/lassistanoque/backend/internal/adapter/file/database"
"trankilou.fr/lassistanoque/backend/internal/config"
"trankilou.fr/lassistanoque/backend/internal/domain"
"trankilou.fr/lassistanoque/backend/internal/service/storage"
)
func GetStorageProvider(repository domain.FileRepository) (storage.StorageProvider, error) {
cfg := config.GetConfig()
switch cfg.StorageType {
case "database":
return database.NewDatabaseStorageProvider(repository), nil
default:
}
return nil, fmt.Errorf("Storage %s not implemented", cfg.StorageType)
}
+21 -7
View File
@@ -9,16 +9,24 @@ import (
)
const (
DEFAULT_DB_TYPE = "turso"
DEFAULT_DB_URL = "lassistanoque.db"
DEFAULT_HTTP_PORT = 3000
DEFAULT_DB_TYPE = "turso"
DEFAULT_DB_URL = "lassistanoque.db"
DEFAULT_HTTP_PORT = 3000
DEFAULT_STORAGE_TYPE = "database"
)
type Config struct {
DatabaseType string
DatabaseURL string
HttpPort int
JWTSecret string
DatabaseType string
DatabaseURL string
HttpPort int
JWTSecret string
StorageType string // Database, S3, filesystem
StoragePath string // filesystem
StorageS3Bucket string // S3
StorageS3Endpoint string // S3
StorageS3AccessKeyID string // S3
StorageS3AccessKeySecret string // S3
StorageS3UseSSL string // S3
}
var config *Config
@@ -44,11 +52,17 @@ func GetConfig() *Config {
if jwtsecret == "" {
log.Fatal("LASSISTANOQUE_JWT_SECRET must be set")
}
storageType := os.Getenv("LASSISTANOQUE_STORAGE_TYPE")
if storageType == "" {
storageType = DEFAULT_STORAGE_TYPE
}
config = &Config{
DatabaseType: databaseType,
DatabaseURL: databaseURL,
HttpPort: httpPort,
JWTSecret: jwtsecret,
StorageType: storageType,
}
}
+27
View File
@@ -0,0 +1,27 @@
package domain
import (
"io"
"time"
)
type File struct {
ID string `db:"id" json:"id"`
Name string `db:"name" json:"name"`
ContentType string `db:"content_type" json:"contentType"`
StoragePath string `db:"storage_path" json:"-"`
StorageFilename string `db:"storage_filename" json:"-"`
Content []byte `db:"content" json:"-"`
DateCreated time.Time `db:"date_created" json:"-"`
DateUpdated time.Time `db:"date_updated" json:"-"`
VersionId string `db:"_version" json:"-"`
}
type FileRepository interface {
FindByID(id string) (*File, error)
Create(file *File) (*File, error)
Update(file *File) (*File, error)
Delete(id string) error
Upload(reader io.Reader, path string, name string, contentType string, replace bool) (*File, error)
Download(id string) (*File, error)
}
+7 -10
View File
@@ -9,9 +9,9 @@ import (
"github.com/labstack/echo/v5"
"github.com/labstack/echo/v5/middleware"
"trankilou.fr/lassistanoque/backend/internal/config"
"trankilou.fr/lassistanoque/backend/internal/domain"
"trankilou.fr/lassistanoque/backend/internal/http/handlers"
"trankilou.fr/lassistanoque/backend/internal/service/auth"
"trankilou.fr/lassistanoque/backend/internal/service/storage"
"trankilou.fr/lassistanoque/backend/internal/service/user"
)
@@ -28,15 +28,14 @@ var indexhtml []byte
var robotstxt []byte
type Router struct {
settings *domain.Settings
echo *echo.Echo
echo *echo.Echo
}
type Dependencies struct {
Settings *domain.Settings
AuthService *auth.Service
UserService *user.Service
TokenManager auth.TokenManager
StorageService *storage.Service
AuthService *auth.Service
UserService *user.Service
TokenManager auth.TokenManager
}
func NewRouter(deps Dependencies) *Router {
@@ -71,11 +70,9 @@ func NewRouter(deps Dependencies) *Router {
api := e.Group("/api")
_ = handlers.NewAuthGroup("/auth", api, deps.AuthService)
_ = handlers.NewUserGroup("/user", api, deps.UserService, deps.TokenManager.TokenMiddleware)
//_ = handlers.NewUserGroup("/user", e, deps.UserService)
return &Router{
settings: deps.Settings,
echo: e,
echo: e,
}
}
@@ -1,2 +0,0 @@
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-font-weight:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-sky-500:oklch(68.5% .169 237.323);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-white:#fff;--spacing:.25rem;--container-3xs:16rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=urlLine truncated
@@ -0,0 +1,2 @@
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-font-weight:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-950:oklch(29.3% .066 243.157);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-bold:700;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiLine truncated
@@ -0,0 +1 @@
import"./DxmhE1z1.js";import{a as e,r as t}from"./DZTG_XPZ.js";var n={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};t.updated.check;var r=n;export{r as t};
@@ -0,0 +1 @@
import{B as e,C as t,D as n,F as r,H as i,K as a,P as o,Q as s,R as c,V as l,_ as u,g as d,h as f,k as p,m,q as h,v as g,z as _}from"./DxmhE1z1.js";import"./xihTtKlq.js";var v=class extends Map{#e=new Map;#t=l(0);#n=l(0);#r=n||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(t){return n===this.#r?l(t):e(t)}has(e){var n=this.#e,r=n.get(e);if(r===void 0)if(super.has(e))r=this.#i(0),n.set(e,r);else return t(this.#t),!1;return t(r),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(e){var n=this.#e,r=n.get(e);if(r===void 0)if(super.has(e))r=this.#i(0),n.set(e,r);else{t(this.#t);return}return t(r),super.get(e)}set(e,t){var n=this.#e,r=n.get(e),i=super.get(e),a=super.set(e,t),o=this.#t;if(r===void 0)r=this.#i(0),n.set(e,r),_(this.#n,super.size),c(o);else if(i!==t){c(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&c(o)}return a}delete(e){var t=this.#e,n=t.get(e),r=super.delete(e);return n!==void 0&&(t.delete(e),_(n,-1)),r&&(_(this.#n,super.size),c(this.#t)),r}clear(){if(super.size!==0){super.clear();var e=this.#e;_(this.#n,0);for(var t of e.values())_(t,-1);c(this.#t),e.clear()}}#a(){t(this.#t);var e=this.#e;if(this.#n.v!==e.size){for(var n of super.keys())if(!e.has(n)){var r=this.#i(0);e.set(n,r)}}for([,r]of this.#e)t(r)}keys(){return t(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return t(this.#n),super.size}},y=g(`<span class="text-red-700 dark:text-red-400 text-xs"> </span>`),b=g(`<span class="text-xs">&nbsp;</span>`);function x(e,n){h(n,!0);var c=u(),l=r(c),g=e=>{var t=y(),r=o(t,!0);s(t),p(e=>f(r,e),[()=>n.errors.get(n.key)]),d(e,t)},_=i(()=>n.errors.has(n.key)),v=e=>{var t=b();d(e,t)};m(l,e=>{t(_)?e(g):e(v,-1)}),d(e,c),a()}export{v as n,x as t};
@@ -1,3 +0,0 @@
var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible,p=()=>{};function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var g=1024,_=2048,v=4096,y=8192,ee=16384,te=32768,ne=1<<25,re=65536,ie=1<<18,ae=1<<19,oe=1<<20,se=65536,ce=1<<21,le=1<<22,ue=1<<23,de=Symbol(`$state`),fe=Symbol(`legacy props`),pe=Symbol(``),me=Symbol(`attributes`),he=Symbol(`class`),ge=Symbol(`style`),_e=Symbol(`text`),ve=Symbol(`form reset`),ye=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},be=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function xe(e){throw Error(`https://svelte.dev/e/experimental_async_required`)}function Se(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function Ce(){throw Error(`https://svelte.dev/e/missing_context`)}function we(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function Te(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Ee(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function De(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function Oe(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function ke(){throw Error(`https://svelte.dev/e/fork_discarded`)}function Ae(){throw Error(`https://svelte.dev/e/fork_timing`)}function je(){throw Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`)}function Me(){throw Error(`https://svelte.dev/e/hydration_failed`)}function Ne(e){throw Error(`https://svelte.dev/e/lifecycle_legacy_only`)}function Pe(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Fe(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ie(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Le(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Re(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var ze={},b=Symbol(`uninitialized`),Be=`http://www.w3.org/1999/xhtml`;function Ve(){console.warn(`https://svelte.dev/e/derived_inert`)}function He(e){console.warn(`https://svelte.dev/e/hydratable_missing_but_expected`)}function Ue(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function We(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var x=!1;function S(e){x=e}var C;function w(e){if(e===null)throw Ue(),ze;return C=e}function Ge(){return w(L(C))}function Ke(e){if(x){if(L(C)!==null)throw Ue(),ze;C=e}}function qe(e=1){if(x){for(var t=e,n=C;t--;)n=L(n);C=n}}function Je(e=!0){for(var t=0,n=C;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=L(n);e&&n.remove(),n=i}}function Ye(e){if(!e||e.nodeType!==8)throw Ue(),ze;return e.data}function Xe(e){return e===this.v}function Ze(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Qe(e){return!Ze(e,this.v)}var T=null;function $e(e){T=e}function et(){let e={};return[()=>(rt(e)||Ce(),tt(e)),t=>nt(e,t)]}function tt(e){return ct(`getContext`).get(e)}function nt(e,t){return ct(`setContext`).set(e,t),t}function rt(e){return ct(`hasContext`).has(e)}function it(){return ct(`getAllContexts`)}function at(e,t=!1,n){T={p:T,i:!1,c:null,e:null,s:e,x:null,r:G,l:null}}function ot(e){var t=T,n=t.e;if(n!==null){t.e=null;for(var r of n)Ln(r)}return e!==void 0&&(t.x=e),t.i=!0,T=t.p,e??{}}function st(){return!0}function ct(e){return T===null&&Se(e),T.c??=new Map(lt(T)||void 0)}function lt(e){let t=e.p;for(;t!==null;){let e=t.c;if(e!==null)return e;t=t.p}return null}var ut=[];function dt(){var e=ut;ut=[],m(e)}function E(e){if(ut.length===0&&!Jt){var t=ut;queueMicrotask(()=>{t===ut&&dt()})}ut.push(e)}function ft(){for(;ut.length>0;)dt()}function pt(e){var t=G;if(t===null)return H.f|=ue,e;if(!(t.f&32768)&&!(t.f&4))throw e;D(e,t)}function D(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var mt=~(_|v|g);function O(e,t){e.f=e.f&mt|t}function ht(e){e.f&512||e.deps===null?O(e,g):O(e,v)}function gt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=se,gt(t.deps))}function _t(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),gt(e.deps),O(e,g)}var vt=[];function yt(e,t=p){let n=null,r=new Set;function i(t){if(Ze(e,t)&&(e=t,n)){let t=!vt.length;for(let t of r)t[1](),vt.push(t,e);if(t){for(let e=0;e<vt.length;e+=2)vt[e][0](vt[e+1]);vt.length=0}}}function a(t){i(t(e))}function o(o,s=p){let c=[o,s];return r.add(c),r.size===1&&(nLine truncated
`).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==ze&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&Me(),wn(),On(n),S(!1),Br(e,t)}finally{S(r),w(i)}}var Hr=new Map;function Ur(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){wn();var l=void 0,u=zn(()=>{var s=n??t.appendChild(F());kt(s,{pending:()=>{}},t=>{at({});var n=T;if(o&&(n.c=o),i&&(r.$$events=i),x&&$(t,null),l=e(t,r)||{},x&&(G.nodes.end=C,C===null||C.nodeType!==8||C.data!==`]`))throw Ue(),ze;ot()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Sr(r);for(let e of[t,document]){var a=Hr.get(e);a===void 0&&(a=new Map,Hr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,jr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(a(wr)),Tr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=Hr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,jr),r.delete(e),r.size===0&&Hr.delete(n)):r.set(e,i)}Tr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Wr.set(l,u),l}var Wr=new WeakMap;function Gr(e,t){let n=Wr.get(e);return n?(Wr.delete(e),n(t)):Promise.resolve()}var Kr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Qn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Qn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(B(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();er(r,t),t.append(F()),this.#n.set(e,{effect:r,fragment:t})}else B(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Xn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(B(n.effect),this.#n.delete(e))};ensure(e,t){var n=k,r=kn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=F();i.append(a),this.#n.set(e,{effect:z(()=>t(a)),fragment:i})}else this.#t.set(e,z(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else x&&(this.anchor=C),this.#a(n)}};function qr(e,t,n=!1){var r;x&&(r=C,Ge());var i=new Kr(e),a=n?re:0;function o(e,t){if(x){var n=Ye(r);if(e!==parseInt(n.substring(1))){var a=Je();w(a),i.anchor=a,S(!1),i.ensure(e,t),S(!0);return}}i.ensure(e,t)}Wn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Jr(e,t,...n){var r=new Kr(e);Wn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},re)}function Yr(e){return(t,...n)=>{var r=e(...n),i;x?(i=C,Ge()):(i=I(Pr(r.render().trim())),t.before(i));let a=r.setup?.(i);$(i,i),typeof a==`function`&&Fn(a)}}function Xr(e,t,n){var r;x&&(r=C,Ge());var i=new Kr(e);Wn(()=>{var e=t()??null;if(x&&Ye(r)===`[`!=(e!==null)){var a=Je();w(a),i.anchor=a,S(!1),i.ensure(e,e&&(t=>n(t,e))),S(!0);return}i.ensure(e,e&&(t=>n(t,e)))},re)}function Zr(e,t){let n=null,r=x;var i;if(x){n=C;for(var a=I(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=L(a);if(a===null)S(!1);else{var o=L(a);a.remove(),w(o)}}x||(i=document.head.appendChild(F()));try{Wn(()=>{var e=z(()=>t(i));e.f|=ie})}finally{r&&(S(!0),w(n))}}function Qr(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Qr(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function $r(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Qr(e))&&(r&&(r+=` `),r+=t);return r}function ei(e){return typeof e==`object`?$r(e):e??``}var ti=[...`
\r\f\xA0\v`];function ni(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||ti.includes(r[o-1]))&&(s===r.length||ti.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function ri(e,t,n,r,i,a){var o=e[he];if(x||o!==n||o===void 0){var s=ni(n,r,a);(!x||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[he]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var ii=Symbol(`is custom element`),ai=Symbol(`is html`),oi=be?`link`:`LINK`;function si(e){if(x){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;ci(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;ci(e,`checked`,null),e.checked=r}}};e[ve]=n,E(n),wt()}}function ci(e,t,n,r){var i=li(e);x&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===oi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[pe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&di(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function li(e){return e[me]??={[ii]:e.nodeName.includes(`-`),[ai]:e.namespaceURI===Be}}var ui=new Map;function di(e){var t=e.getAttribute(`is`)||e.nodeName,n=ui.get(t);if(n)return n;ui.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function fi(e,t,n=t){var r=new WeakSet;Et(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=pi(e)?mi(a):a,n(a),k!==null&&r.add(k),await _r(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(x&&e.defaultValue!==e.value||Q(t)==null&&e.value)&&(n(pi(e)?mi(e.value):e.value),k!==null&&r.add(k)),Hn(()=>{var n=t();if(e===document.activeElement){var i=k;if(r.has(i))return}pi(e)&&n===mi(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function pi(e){var t=e.type;return t===`number`||t===`range`}function mi(e){return e===``?null:+e}function hi(e,t){return e===t||e?.[de]===t}function gi(e={},t,n,r){var i=T.r,a=G;return Bn(()=>{var o,s;return Hn(()=>{o=s,s=r?.()||[],Q(()=>{hi(n(...s),e)||(t(e,...s),o&&hi(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&hi(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function _i(e,t,n,r){var i=!0,a=!!(n&8),o=!!(n&16),c=r,l=!0,u=void 0,d=()=>o&&i?(u??=Ft(r),Z(u)):(l&&(l=!1,c=o?Q(r):r),c);let f;if(a){var p=de in e||fe in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=xt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Pe(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?Ft:zt)(()=>(v=!1,g()));a&&Z(y);var ee=G;return(function(e,t){if(arguments.length>0){let n=t?Z(y):i&&a?yn(e):e;return P(y,n),v=!0,c!==void 0&&(c=n),e}return V&&v||ee.f&16384?y.v:Z(y)})}function vi(e){return class extends yi{constructor(t){super({component:e,...t})}}}var yi=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=mn(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Z(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===fe||(Z(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return P(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?Vr:Br)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),(!e?.props?.$$host||e.sync===!1)&&en(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e!==`$set`&&e!==`$destroy`&&e!==`$on`&&o(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Gr(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}};function bi(e,t){if(xe(`hydratable`),x){let t=window.__svelte?.h;if(t?.has(e))return t.get(e);He(e)}return t()}var xi=t({afterUpdate:()=>Oi,beforeUpdate:()=>Di,createContext:()=>et,createEventDispatcher:()=>Ei,createRawSnippet:()=>Yr,flushSync:()=>en,fork:()=>cn,getAbortSignal:()=>Si,getAllContexts:()=>it,getContext:()=>tt,hasContext:()=>rt,hydratable:()=>bi,hydrate:()=>Vr,mount:()=>Br,onDestroy:()=>wi,onMount:()=>Ci,setContext:()=>nt,settled:()=>vr,tick:()=>_r,unmount:()=>Gr,untrack:()=>Q});function Si(){return H===null&&je(),(H.ac??=new AbortControlle Line truncated
@@ -1 +0,0 @@
import"./tTEyPFub.js";
@@ -0,0 +1 @@
import{C as e,T as t,V as n,W as r,n as i,t as a,w as o,z as s}from"./DxmhE1z1.js";var c=class{constructor(e,t){this.status=e,this.body=typeof t==`string`?{message:t}:t||{message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function _(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function v(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var ee=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&y.delete(x(e)),ee(e,t));var y=new Map;function b(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=v(e));let i=r.getAttribute(`data-ttl`);return i&&y.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function te(e,t,n){if(y.size>0){let t=x(e,n),r=y.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);y.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${_(...e)}"]`}return n}var ne=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,re=/^\/\((?:[^)]+)\)$/;function ie(e){let t=[];return{pattern:e===`/`||re.test(e)?/^\/$/:RegExp(`^${oe(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return ce(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return ce(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ne.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ce(e)}).join(``)}).join(``)}/?$`),params:t}}function ae(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function oe(e){return e.slice(1).split(`/`).filter(ae)}function se(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function ce(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function le({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ie(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return se(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ue(e,t=JSON.parse){try{return t(sessionStorage[e] Line truncated
@@ -0,0 +1,3 @@
var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible,p=()=>{};function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var g=1024,_=2048,v=4096,y=8192,ee=16384,te=32768,ne=1<<25,re=65536,ie=1<<18,ae=1<<19,oe=1<<20,se=65536,ce=1<<21,le=1<<22,ue=1<<23,de=Symbol(`$state`),fe=Symbol(`legacy props`),pe=Symbol(``),me=Symbol(`proxy path`),he=Symbol(`attributes`),ge=Symbol(`class`),_e=Symbol(`style`),ve=Symbol(`text`),ye=Symbol(`form reset`),be=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},xe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function Se(e){throw Error(`https://svelte.dev/e/experimental_async_required`)}function Ce(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function we(){throw Error(`https://svelte.dev/e/missing_context`)}function Te(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function Ee(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function De(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Oe(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function ke(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Ae(){throw Error(`https://svelte.dev/e/fork_discarded`)}function je(){throw Error(`https://svelte.dev/e/fork_timing`)}function Me(){throw Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`)}function Ne(){throw Error(`https://svelte.dev/e/hydration_failed`)}function Pe(e){throw Error(`https://svelte.dev/e/lifecycle_legacy_only`)}function Fe(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Ie(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Le(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Re(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ze(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Be={},b=Symbol(`uninitialized`),Ve=`http://www.w3.org/1999/xhtml`;function He(){console.warn(`https://svelte.dev/e/derived_inert`)}function Ue(e){console.warn(`https://svelte.dev/e/hydratable_missing_but_expected`)}function We(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Ge(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var x=!1;function S(e){x=e}var C;function w(e){if(e===null)throw We(),Be;return C=e}function Ke(){return w(I(C))}function qe(e){if(x){if(I(C)!==null)throw We(),Be;C=e}}function Je(e=1){if(x){for(var t=e,n=C;t--;)n=I(n);C=n}}function Ye(e=!0){for(var t=0,n=C;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=I(n);e&&n.remove(),n=i}}function Xe(e){if(!e||e.nodeType!==8)throw We(),Be;return e.data}function Ze(e){return e===this.v}function Qe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function $e(e){return!Qe(e,this.v)}function et(e,t){return e.label=t,tt(e.v,t),e}function tt(e,t){return e?.[me]?.(t),e}function nt(e){return typeof e==`symbol`?`Symbol(${e.description})`:typeof e==`function`?`<function>`:typeof e==`object`&&e?`<object>`:String(e)}var T=null;function rt(e){T=e}function it(){let e={};return[()=>(st(e)||we(),at(e)),t=>ot(e,t)]}function at(e){return ft(`getContext`).get(e)}function ot(e,t){return ft(`setContext`).set(e,t),t}function st(e){return ft(`hasContext`).has(e)}function ct(){return ft(`getAllContexts`)}function lt(e,t=!1,n){T={p:T,i:!1,c:null,e:null,s:e,x:null,r:W,l:null}}function ut(e){var t=T,n=t.e;if(n!==null){t.e=null;for(var r of n)Un(r)}return e!==void 0&&(t.x=e),t.i=!0,T=t.p,e??{}}function dt(){return!0}function ft(e){return T===null&&Ce(e),T.c??=new Map(pt(T)||void 0)}function pt(e){let t=e.p;for(;t!==null;){let e=t.c;if(e!==null)return e;t=t.p}return null}var mt=[];function ht(){var e=mt;mt=[],m(e)}function E(e){if(mt.length===0&&!Qt){var t=mt;queueMicrotask(()=>{t===mt&&ht()})}mt.push(e)}function gt(){for(;mt.length>0;)ht()}function _t(e){var t=W;if(t===null)return V.f|=ue,e;if(!(t.f&32768)&&!(t.f&4))throw e;D(e,t)}function D(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var vt=~(_|v|g);function O(e,t){e.f=e.f&vt|t}function yt(e){e.f&512||e.deps===null?O(e,g):O(e,v)}function bt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=se,bt(t.deps))}function xt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),bt(e.deps),O(e,g)}var St=[];function Ct(e,t=p){letLine truncated
`).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==Be&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&Ne(),An(),Pn(n),S(!1),Gr(e,t)}finally{S(r),w(i)}}var qr=new Map;function Jr(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){An();var l=void 0,u=Gn(()=>{var s=n??t.appendChild(P());Nt(s,{pending:()=>{}},t=>{lt({});var n=T;if(o&&(n.c=o),i&&(r.$$events=i),x&&$(t,null),l=e(t,r)||{},x&&(W.nodes.end=C,C===null||C.nodeType!==8||C.data!==`]`))throw We(),Be;ut()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Dr(r);for(let e of[t,document]){var a=qr.get(e);a===void 0&&(a=new Map,qr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Ir,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(a(kr)),Ar.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=qr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Ir),r.delete(e),r.size===0&&qr.delete(n)):r.set(e,i)}Ar.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Yr.set(l,u),l}var Yr=new WeakMap;function Xr(e,t){let n=Yr.get(e);return n?(Yr.delete(e),n(t)):Promise.resolve()}var Zr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)ir(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(ir(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(z(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();or(r,t),t.append(P()),this.#n.set(e,{effect:r,fragment:t})}else z(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),nr(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(z(n.effect),this.#n.delete(e))};ensure(e,t){var n=k,r=Fn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=P();i.append(a),this.#n.set(e,{effect:R(()=>t(a)),fragment:i})}else this.#t.set(e,R(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else x&&(this.anchor=C),this.#a(n)}};function Qr(e,t,n=!1){var r;x&&(r=C,Ke());var i=new Zr(e),a=n?re:0;function o(e,t){if(x){var n=Xe(r);if(e!==parseInt(n.substring(1))){var a=Ye();w(a),i.anchor=a,S(!1),i.ensure(e,t),S(!0);return}}i.ensure(e,t)}Xn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function $r(e,t,...n){var r=new Zr(e);Xn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},re)}function ei(e){return(t,...n)=>{var r=e(...n),i;x?(i=C,Ke()):(i=F(zr(r.render().trim())),t.before(i));let a=r.setup?.(i);$(i,i),typeof a==`function`&&Vn(a)}}function ti(e,t,n){var r;x&&(r=C,Ke());var i=new Zr(e);Xn(()=>{var e=t()??null;if(x&&Xe(r)===`[`!=(e!==null)){var a=Ye();w(a),i.anchor=a,S(!1),i.ensure(e,e&&(t=>n(t,e))),S(!0);return}i.ensure(e,e&&(t=>n(t,e)))},re)}function ni(e,t){let n=null,r=x;var i;if(x){n=C;for(var a=F(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=I(a);if(a===null)S(!1);else{var o=I(a);a.remove(),w(o)}}x||(i=document.head.appendChild(P()));try{Xn(()=>{var e=R(()=>t(i));e.f|=ie})}finally{r&&(S(!0),w(n))}}function ri(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ri(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function ii(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ri(e))&&(r&&(r+=` `),r+=t);return r}function ai(e){return typeof e==`object`?ii(e):e??``}var oi=[...`
\r\f\xA0\v`];function si(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||oi.includes(r[o-1]))&&(s===r.length||oi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function ci(e,t,n,r,i,a){var o=e[ge];if(x||o!==n||o===void 0){var s=si(n,r,a);(!x||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[ge]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var li=Symbol(`is custom element`),ui=Symbol(`is html`),di=xe?`link`:`LINK`;function fi(e){if(x){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;pi(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;pi(e,`checked`,null),e.checked=r}}};e[ye]=n,E(n),Ot()}}function pi(e,t,n,r){var i=mi(e);x&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===di)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[pe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&gi(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function mi(e){return e[he]??={[li]:e.nodeName.includes(`-`),[ui]:e.namespaceURI===Ve}}var hi=new Map;function gi(e){var t=e.getAttribute(`is`)||e.nodeName,n=hi.get(t);if(n)return n;hi.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function _i(e,t,n=t){var r=new WeakSet;At(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=vi(e)?yi(a):a,n(a),k!==null&&r.add(k),await Sr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(x&&e.defaultValue!==e.value||Q(t)==null&&e.value)&&(n(vi(e)?yi(e.value):e.value),k!==null&&r.add(k)),Jn(()=>{var n=t();if(e===document.activeElement){var i=k;if(r.has(i))return}vi(e)&&n===yi(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function vi(e){var t=e.type;return t===`number`||t===`range`}function yi(e){return e===``?null:+e}function bi(e,t){return e===t||e?.[de]===t}function xi(e={},t,n,r){var i=T.r,a=W;return Kn(()=>{var o,s;return Jn(()=>{o=s,s=r?.()||[],Q(()=>{bi(n(...s),e)||(t(e,...s),o&&bi(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&bi(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function Si(e,t,n,r){var i=!0,a=!!(n&8),o=!!(n&16),c=r,l=!0,u=void 0,d=()=>o&&i?(u??=zt(r),Z(u)):(l&&(l=!1,c=o?Q(r):r),c);let f;if(a){var p=de in e||fe in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=Tt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Fe(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?zt:Ut)(()=>(v=!1,g()));a&&Z(y);var ee=W;return(function(e,t){if(arguments.length>0){let n=t?Z(y):i&&a?wn(e):e;return N(y,n),v=!0,c!==void 0&&(c=n),e}return B&&v||ee.f&16384?y.v:Z(y)})}function Ci(e){return class extends wi{constructor(t){super({component:e,...t})}}}var wi=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=yn(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Z(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===fe||(Z(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return N(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?Kr:Gr)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),(!e?.props?.$$host||e.sync===!1)&&on(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e!==`$set`&&e!==`$destroy`&&e!==`$on`&&o(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Xr(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}};function Ti(e,t){if(Se(`hydratable`),x){let t=window.__svelte?.h;if(t?.has(e))return t.get(e);Ue(e)}return t()}var Ei=t({afterUpdate:()=>Ni,beforeUpdate:()=>Mi,createContext:()=>it,createEventDispatcher:()=>ji,createRawSnippet:()=>ei,flushSync:()=>on,fork:()=>pn,getAbortSignal:()=>Di,getAllContexts:()=>ct,getContext:()=>at,hasContext:()=>st,hydratable:()=>Ti,hydrate:()=>Kr,mount:()=>Gr,onDestroy:()=>ki,onMount:()=>Oi,setContext:()=>ot,settled:()=>Cr,tick:()=>Sr,unmount:()=>Xr,untrack:()=>Q});function Di(){return V===null&&Me(),(V.ac??=new AbortControlle Line truncated
@@ -0,0 +1 @@
import{n as e}from"./puscbPt7.js";var t={register:t=>e.post(`/auth/register`,t),status:()=>e.get(`/auth/status`),login:t=>e.post(`/auth/login`,t)};export{t};
@@ -1 +0,0 @@
var e=`data:image/png;base64,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`;export{e as t};
@@ -1 +0,0 @@
import{P as e}from"./BXe04aPf.js";var t=e({user:null,accessToken:null,status:`loading`}),n=()=>{t.status=`unauthenticated`};export{n,t};
@@ -0,0 +1 @@
import{L as e}from"./DxmhE1z1.js";import{t}from"./DZTG_XPZ.js";var n=e({user:null,status:`loading`}),r=()=>{localStorage.removeItem(`accessToken`),n.status=`unauthenticated`},i=()=>localStorage.getItem(`accessToken`),a=e=>{localStorage.setItem(`accessToken`,e)},o=`/api`,s=class extends Error{status;body;constructor(e,t){super(`API Error ${e}`),this.status=e,this.body=t}};async function c(e,n={}){let{auth:a=!0,headers:c,...u}=n,d={"Content-Type":`application/json`,...c},f=new Headers(d);if(a){let e=i();e&&f.append(`Authorization`,`Bearer ${e}`)}let p=await fetch(`${o}${e}`,{...u,headers:f});if(p.status===401&&(r(),t(`/login`)),!p.ok)throw new s(p.status,await l(p));if(p.status!==204)return p.json()}async function l(e){try{return await e.json()}catch{return null}}var u={get:(e,t)=>c(e,{...t,method:`GET`}),post:(e,t,n)=>c(e,{...n,method:`POST`,body:JSON.stringify(t)}),put:(e,t,n)=>c(e,{...n,method:`PUT`,body:JSON.stringify(t)}),delete:(e,t)=>c(e,{...t,method:`DELETE`})},d=`data:image/png;base64,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`;export{a,r as i,u as n,n as r,d as t};
@@ -1 +0,0 @@
import{C as e,F as t,I as n,T as r,n as i,t as a,w as o,z as s}from"./BXe04aPf.js";var c=class{constructor(e,t){this.status=e,this.body=typeof t==`string`?{message:t}:t||{message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(){}function g(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function _(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var v=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&y.delete(x(e)),v(e,t));var y=new Map;function ee(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=_(e));let i=r.getAttribute(`data-ttl`);return i&&y.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function b(e,t,n){if(y.size>0){let t=x(e,n),r=y.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);y.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${g(...e)}"]`}return n}var te=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,ne=/^\/\((?:[^)]+)\)$/;function re(e){let t=[];return{pattern:e===`/`||ne.test(e)?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=te.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function ce({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=re(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function le(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ue(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_1tkqncq?.base??``,de=globalThis.__sveltekit_1tkqncq?.assets??S??``,fe=`1785917155183`,pe=`sveltekit:snapshot`,me=`sveltekit:scroll`,he=`sveltekit:states`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ge=location.origin;function _e(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document. Line truncated
@@ -1,2 +0,0 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DUhcgpvL.js","../chunks/BXe04aPf.js","../chunks/xihTtKlq.js","../assets/0.CHStj0oN.css","../nodes/1.Dh_qEDnK.js","../chunks/tTEyPFub.js","../nodes/2.C55SYr5i.js","../chunks/kaCwo2dy.js","../chunks/Bthvo3p_.js","../nodes/3.BZSqsgG4.js","../chunks/bT040zHf.js","../nodes/4.5uyrhTtI.js","../nodes/5.z-y4HE0j.js"])))=>i.map(i=>d[i]);
import{C as e,D as t,F as n,G as r,H as i,I as a,L as o,M as s,N as c,O as l,T as u,V as d,_ as f,a as p,f as m,g as h,h as g,i as _,j as v,k as y,m as b,n as x,r as S,v as C,y as w}from"../chunks/BXe04aPf.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=E(t,n),t=s(t),t in D)return;D[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:T,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},k={},A=C(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),j=C(`<!> <!>`,1);function M(S,C){i(C,!0);let T=_(C,`components`,23,()=>[]),E=_(C,`data_0`,3,null),D=_(C,`data_1`,3,null),O=_(C,`data_2`,3,null);y(()=>C.stores.page.set(C.page)),l(()=>{C.stores,C.page,C.constructors,T(),C.form,E(),D(),O(),C.stores.page.notify()});let k=a(!1),M=a(!1),N=a(null);x(()=>{let t=C.stores.page.subscribe(()=>{e(k)&&(n(M,!0),u().then(()=>{n(N,document.title||`untitled page`,!0)}))});return n(k,!0),t});let P=o(()=>C.constructors[2]);var F=j(),I=s(F),L=t=>{let n=o(()=>C.constructors[0]);var r=f(),i=s(r);m(i,()=>e(n),(t,n)=>{p(n(t,{get data(){return E()},get form(){return C.form},get params(){return C.page.params},children:(t,n)=>{var r=f(),i=s(r),a=t=>{let n=o(()=>C.constructors[1]);var r=f(),i=s(r);m(i,()=>e(n),(t,n)=>{p(n(t,{get data(){return D()},get form(){return C.form},get params(){return C.page.params},children:(t,n)=>{var r=f(),i=s(r);m(i,()=>e(P),(e,t)=>{p(t(e,{get data(){return O()},get form(){return C.form},get params(){return C.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),h(t,r)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),h(t,r)},c=t=>{let n=o(()=>C.constructors[1]);var r=f(),i=s(r);m(i,()=>e(n),(e,t)=>{p(t(e,{get data(){return D()},get form(){return C.form},get params(){return C.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),h(t,r)};b(i,e=>{C.constructors[2]?e(a):e(c,-1)}),h(t,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),h(t,r)},R=t=>{let n=o(()=>C.constructors[0]);var r=f(),i=s(r);m(i,()=>e(n),(e,t)=>{p(t(e,{get data(){return E()},get form(){return C.form},get params(){return C.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),h(t,r)};b(I,e=>{C.constructors[1]?e(L):e(R,-1)});var z=c(I,2),B=n=>{var i=A(),a=v(i),o=n=>{var r=w();t(()=>g(r,e(N))),h(n,r)};b(a,t=>{e(M)&&t(o)}),r(i),h(n,i)};b(z,t=>{e(k)&&t(B)}),h(S,F),d()}var N=S(M),P=[()=>O(()=>import(`../nodes/0.DUhcgpvL.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),()=>O(()=>import(`../nodes/1.Dh_qEDnK.js`),__vite__mapDeps([4,1,5,2]),import.meta.url),()=>O(()=>import(`../nodes/2.C55SYr5i.js`),__vite__mapDeps([6,1,5,2,7,8]),import.meta.url),()=>O(()=>import(`../nodes/3.BZSqsgG4.js`),__vite__mapDeps([9,1,2,7,10]),import.meta.url),()=>O(()=>import(`../nodes/4.5uyrhTtI.js`),__vite__mapDeps([11,1,5,2,7,8,10]),import.meta.url),()=>O(()=>import(`../nodes/5.z-y4HE0j.js`),__vite__mapDeps([12,1,5,2,7,8,10]),import.meta.url)],F=[],I={"/(authenticated)":[3,[2]],"/(public)/login":[4],"/(public)/register":[5]},L={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},R=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.decode])),z=Object.fromEntries(Object.entries(L.transport).map(([e,t])=>[e,t.encode])),B=!1,V=(e,t)=>R[e](t),H=()=>O(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{V as decode,R as decoders,I as dictionary,z as encoders,H as get_error_template,B as hash,L as hooks,k as matchers,P as nodes,N as root,F as server_loads};
@@ -0,0 +1,2 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Bz_yxCPk.js","../chunks/DxmhE1z1.js","../chunks/xihTtKlq.js","../assets/0.tR7PeoVK.css","../nodes/1.BXecr-g5.js","../chunks/BJ9updZG.js","../chunks/DZTG_XPZ.js","../nodes/2.Du7hfnuf.js","../chunks/puscbPt7.js","../nodes/3.BTi5lIWZ.js","../nodes/4.CGofJn_s.js","../nodes/5.DeDtZvF3.js","../nodes/6.Pd88j_py.js","../chunks/BT9KdPme.js","../nodes/7.Dq6C-eoP.js","../nodes/8.BW4HeEmf.js","../nodes/9.BK5CBBXk.js","../nodes/10.3_h0i6QI.js","../nodes/11.Q5ro3K8Z.js","../nodes/12.CqhEZfs2.js","../nodes/13.CyYsvdDt.js","../nodes/14.DZ-KMWs7.js","../nodes/15.CzF_DBRn.js","../nodes/16.DRUykhSC.js","../nodes/17.KofPYOuZ.js","../chunks/Nqp1gr6g.js","../nodes/18.3mUWXX_j.js"])))=>i.map(i=>d[i]);
import{A as e,C as t,F as n,H as r,I as i,K as a,P as o,Q as s,T as c,V as l,_ as u,a as d,f,g as p,h as m,i as h,j as g,k as _,m as v,n as y,q as b,r as x,v as S,y as C,z as w}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=E(t,n),t=s(t),t in D)return;D[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:T,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},k={},A=S(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),j=S(`<!> <!>`,1);function M(x,S){b(S,!0);let T=h(S,`components`,23,()=>[]),E=h(S,`data_0`,3,null),D=h(S,`data_1`,3,null),O=h(S,`data_2`,3,null);g(()=>S.stores.page.set(S.page)),e(()=>{S.stores,S.page,S.constructors,T(),S.form,E(),D(),O(),S.stores.page.notify()});let k=l(!1),M=l(!1),N=l(null);y(()=>{let e=S.stores.page.subscribe(()=>{t(k)&&(w(M,!0),c().then(()=>{w(N,document.title||`untitled page`,!0)}))});return w(k,!0),e});let P=r(()=>S.constructors[2]);var F=j(),I=n(F),L=e=>{let i=r(()=>S.constructors[0]);var a=u(),o=n(a);f(o,()=>t(i),(e,i)=>{d(i(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params},children:(e,i)=>{var a=u(),o=n(a),s=e=>{let i=r(()=>S.constructors[1]);var a=u(),o=n(a);f(o,()=>t(i),(e,r)=>{d(r(e,{get data(){return D()},get form(){return S.form},get params(){return S.page.params},children:(e,r)=>{var i=u(),a=n(i);f(a,()=>t(P),(e,t)=>{d(t(e,{get data(){return O()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[2]=e,()=>T()?.[2])}),p(e,i)},$$slots:{default:!0}}),e=>T()[1]=e,()=>T()?.[1])}),p(e,a)},c=e=>{let i=r(()=>S.constructors[1]);var a=u(),o=n(a);f(o,()=>t(i),(e,t)=>{d(t(e,{get data(){return D()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),p(e,a)};v(o,e=>{S.constructors[2]?e(s):e(c,-1)}),p(e,a)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),p(e,a)},R=e=>{let i=r(()=>S.constructors[0]);var a=u(),o=n(a);f(o,()=>t(i),(e,t)=>{d(t(e,{get data(){return E()},get form(){return S.form},get params(){return S.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),p(e,a)};v(I,e=>{S.constructors[1]?e(L):e(R,-1)});var z=i(I,2),B=e=>{var n=A(),r=o(n),i=e=>{var n=C();_(()=>m(n,t(N))),p(e,n)};v(r,e=>{t(M)&&e(i)}),s(n),p(e,n)};v(z,e=>{t(k)&&e(B)}),p(x,F),a()}var N=x(M),P=[()=>O(()=>import(`../nodes/0.Bz_yxCPk.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),()=>O(()=>import(`../nodes/1.BXecr-g5.js`),__vite__mapDeps([4,1,2,5,6]),import.meta.url),()=>O(()=>import(`../nodes/2.Du7hfnuf.js`),__vite__mapDeps([7,1,6,2,5,8]),import.meta.url),()=>O(()=>import(`../nodes/3.BTi5lIWZ.js`),__vite__mapDeps([9,1,2]),import.meta.url),()=>O(()=>import(`../nodes/4.CGofJn_s.js`),__vite__mapDeps([10,1,2]),import.meta.url),()=>O(()=>import(`../nodes/5.DeDtZvF3.js`),__vite__mapDeps([11,1,2]),import.meta.url),()=>O(()=>import(`../nodes/6.Pd88j_py.js`),__vite__mapDeps([12,1,2,13]),import.meta.url),()=>O(()=>import(`../nodes/7.Dq6C-eoP.js`),__vite__mapDeps([14,1,2]),import.meta.url),()=>O(()=>import(`../nodes/8.BW4HeEmf.js`),__vite__mapDeps([15,1,2]),import.meta.url),()=>O(()=>import(`../nodes/9.BK5CBBXk.js`),__vite__mapDeps([16,1,2]),import.meta.url),()=>O(()=>import(`../nodes/10.3_h0i6QI.js`),__vite__mapDeps([17,1,2]),import.meta.url),()=>O(()=>import(`../nodes/11.Q5ro3K8Z.js`),__vite__mapDeps([18,1,2]),import.meta.url),()=>O(()=>import(`../nodes/12.CqhEZfs2.js`),__vite__mapDeps([19,1,2]),import.meta.url),()=>O(()=>import(`../nodes/13.CyYsvdDt.js`),__vite__mapDeps([20,1,2]),import.meta.url),()=>O(()=>import(`../nodes/14.DZ-KMWs7.js`),__vite__mapDeps([21,1,2]),import.meta.url),()=>O(()=>import(`../nodes/15.CzF_DBRn.js`),__vite__mapDeps([22,1,2]),import.meta.url),()=>O(()=>import(`../nodes/16.DRUykhSC.js`),__vite__mapDeps([23,1,2]),import.meta.url),()=>O(()=>import(`../nodes/17.KofPYOuZ.js`)Line truncated
@@ -1 +0,0 @@
import{n as e,s as t}from"../chunks/tTEyPFub.js";export{t as load_css,e as start};
@@ -0,0 +1 @@
import{n as e,s as t}from"../chunks/DZTG_XPZ.js";export{t as load_css,e as start};
@@ -0,0 +1 @@
import{$ as e,F as t,M as n,O as r,Z as i,_ as a,c as o,d as s,g as c,k as l,p as u,v as d}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var f=e({prerender:()=>!1,ssr:()=>!1}),p=`data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTNtbSIKICAgaGVpZ2h0PSIxM21tIgogICB2aWV3Qm94PSIwIDAgMTMgMTMiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzEiCiAgIGlua3NjYXBlOnZlcnNpb249IjEuNC40IChkY2FmM2U3ZDllLCAyMDI2LTA1LTA1KSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iZmF2aWNvbi5zdmciCiAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0iLi4vYmFja2VuZC93ZWIvc3JjL2xpYi9hc3NldHMvbG9nby10eHQucG5nIgogICBpbmtzY2FwZTpleHBvcnQteGRwaT0iOTYiCiAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSI5NiIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzEiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIgogICAgIGlua3NjYXBlOmRlc2tjb2xvcj0iI2QxZDFkMSIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6em9vbT0iMS40NDMxODE4IgogICAgIGlua3NjYXBlOmN4PSIyODcuOTA1NTIiCiAgICAgaW5rc2NhcGU6Y3k9IjIxNC44MDMxNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjI1NjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxMSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMSIgLz4KICA8ZwogICAgIGlua3NjYXBlOmxhYmVsPSJDYWxxdWUgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjE0LjExMTFweDtmb250LWZhbWlseTpwaXhlbGFydDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOnBpeGVsYXJ0O3dyaXRpbmctbW9kZTpsci10YjtkaXJlY3Rpb246bHRyO2ZpbGw6IzM3YWJjODtzdHJva2Utd2lkdGg6MC4yNjQ1ODMiCiAgICAgICB4PSIyLjc0OTk5OTUiCiAgICAgICB5PSIxMS41NDk5OTciCiAgICAgICBpZD0idGV4dDEiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW4xIgogICAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTQuMTExMXB4O2ZvbnQtZmFtaWx5OidHb2h1Rm9udCAxMSBOZXJkIEZvbnQnOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0dvaHVGb250IDExIE5lcmQgRm9udCc7ZmlsbDojMGVhNWU5O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjI2NDU4MyIKICAgICAgICAgeD0iMi43NDk5OTk1IgogICAgICAgICB5PSIxMS41NDk5OTciPmw8L3RzcGFuPjwvdGV4dD4KICA8L2c+Cjwvc3ZnPgo=`,m=d(`<link rel="icon"/> <link rel="stylesheet" href="/assets/fontello/css/fontello.css"/>`,1);function h(e,d){var f=a();s(`12qhfyh`,e=>{var a=m(),s=t(a);i(2),l(()=>o(s,`href`,p)),r(()=>{n.title=`Lasssistanoque`}),c(e,a)});var h=t(f);u(h,()=>d.children),c(e,f)}export{h as component,f as universal};
@@ -1 +0,0 @@
import{D as e,K as t,M as n,W as r,_ as i,c as a,d as o,g as s,p as c,v as l}from"../chunks/BXe04aPf.js";import"../chunks/xihTtKlq.js";var u=t({prerender:()=>!1,ssr:()=>!1}),d=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!--%20Created%20with%20Inkscape%20(http://www.inkscape.org/)%20--%3e%3csvg%20width='80mm'%20height='80mm'%20viewBox='0%200%2080%2080'%20version='1.1'%20id='svg1'%20inkscape:version='1.4.4%20(dcaf3e7d9e,%202026-05-05)'%20sodipodi:docname='dessin.svg'%20xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'%20xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:svg='http://www.w3.org/2000/svg'%3e%3csodipodi:namedview%20id='namedview1'%20pagecolor='%23ffffff'%20bordercolor='%23000000'%20borderopacity='0.25'%20inkscape:showpageshadow='2'%20inkscape:pageopacity='0.0'%20inkscape:pagecheckerboard='0'%20inkscape:deskcolor='%23d1d1d1'%20inkscape:document-units='mm'%20inkscape:zoom='0.5'%20inkscape:cx='397'%20inkscape:cy='561'%20inkscape:window-width='2560'%20inkscape:window-height='1011'%20inkscape:window-x='0'%20inkscape:window-y='0'%20inkscape:window-maximized='1'%20inkscape:current-layer='layer1'%20inkscape:export-bgcolor='%23ffffff00'%20/%3e%3cdefs%20id='defs1'%20/%3e%3cg%20inkscape:label='Calque%201'%20inkscape:groupmode='layer'%20id='layer1'%3e%3ccircle%20style='fill:%23164450;stroke-width:0.265;stroke-dasharray:none'%20id='path1'%20cy='45.644962'%20cx='23.643471'%20r='20'%20/%3e%3ccircle%20style='fill:%23216778;stroke-width:0.264583'%20id='path1-3-1-6'%20cx='34.202797'%20cy='41.673168'%20r='17.5'%20/%3e%3ccircle%20style='fill:%232c89a0;stroke-width:0.264583'%20id='path1-3'%20cx='45.844456'%20cy='38.072063'%20r='15'%20/%3e%3ccircle%20style='fill:%2337abc8;stroke-width:0.264583'%20id='path1-3-1-3'%20cx='56.873432'%20cy='34.070667'%20r='12.5'%20/%3e%3ccircle%20style='fill:%235fbcd3;stroke-width:0.264583'%20id='path1-3-1'%20cx='65.639908'%20cy='30.484972'%20r='10'%20/%3e%3c/g%3e%3c/svg%3e`,f=l(`<link rel="icon"/> <link rel="stylesheet" href="/assets/fontello/css/fontello.css"/>`,1);function p(t,l){var u=i();o(`12qhfyh`,t=>{var i=f(),o=n(i);r(2),e(()=>a(o,`href`,d)),s(t,i)});var p=n(u);c(p,()=>l.children),s(t,u)}export{p as component,u as universal};
@@ -0,0 +1 @@
import{F as e,I as t,K as n,P as r,Q as i,g as a,h as o,k as s,q as c,v as l}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/BJ9updZG.js";var d=l(`<h1> </h1> <p> </p>`,1);function f(l,f){c(f,!0);var p=d(),m=e(p),h=r(m,!0);i(m);var g=t(m,2),_=r(g,!0);i(g),s(()=>{o(h,u.status),o(_,u.error?.message)}),a(l,p),n()}export{f as component};
@@ -1 +0,0 @@
import{D as e,G as t,H as n,M as r,N as i,V as a,g as o,h as s,j as c,v as l}from"../chunks/BXe04aPf.js";import{a as u,r as d}from"../chunks/tTEyPFub.js";import"../chunks/xihTtKlq.js";var f={get data(){return u.data},get error(){return u.error},get form(){return u.form},get params(){return u.params},get route(){return u.route},get state(){return u.state},get status(){return u.status},get url(){return u.url}};d.updated.check;var p=f,m=l(`<h1> </h1> <p> </p>`,1);function h(l,u){n(u,!0);var d=m(),f=r(d),h=c(f,!0);t(f);var g=i(f,2),_=c(g,!0);t(g),e(()=>{s(h,p.status),s(_,p.error?.message)}),o(l,d),a()}export{h as component};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Base de connaissance`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Mémoire`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Modèles`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Skills`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Outils`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Utilisateurs`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Tâches`}}var a=n(`<div>Tâches</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{F as e,I as t,K as n,L as r,P as i,Q as a,S as o,U as s,Z as c,b as l,c as u,g as d,k as f,m as p,o as m,q as h,s as g,v as _,x as v}from"../chunks/DxmhE1z1.js";import{t as y}from"../chunks/DZTG_XPZ.js";import"../chunks/xihTtKlq.js";import{a as b,r as x,t as S}from"../chunks/puscbPt7.js";import{t as C}from"../chunks/Nqp1gr6g.js";var w=_(`<form><div class="flex"><label for="email" class="block mb-2 flex-1">Email</label> <a href="/recover-password" class="text-xs">Mot de passe oublié ?</a></div> <div class="flex flex-row"><input type="text" class="textinput mr-1"/> <button class="bt" title="page suivante"><i class="icon-right-big"></i></button></div></form> <div class="my-4 text-xs"><a href="/register">Pas encore de compte ? Incrivez-vous.</a></div>`,1),T=_(`<form><div class="flex"><label for="email" class="block mb-2 flex-1">Mot de passe</label></div> <div class="flex flex-row"><input type="password" class="textinput mr-1"/> <button class="bt">Entrer</button></div> <a href="/login" class="text-xs">← Retour</a></form>`),E=_(`<div class="h-full w-full flex items-center public"><div class="m-auto w-96 max-w-full p-4"><img class="h-10 mb-4" alt="logo"/> <h1>Identifiez-vous ...</h1> <!> <hr class="my-4"/> <div class="grid grid-cols-[repeat(auto-fit,minmax(150px,1fr))] gap-4"><button class="bt p-5 text-center" title="Connexion avec Google"><i class="icon-google"></i></button> <button class="bt p-5 text-center" title="Connexion avec Facebook"><i class="icon-facebook"></i></button> <button class="bt p-5 text-center" title="Connexion avec Github"><i class="icon-github"></i></button> <button class="bt p-5 text-center" title="Connexion avec Apple"><i class="icon-apple"></i></button></div></div></div>`);function D(l,_){h(_,!0);let D=r({email:``,password:``,validemail:!1}),O=()=>{D.validemail=!0},k=e=>{e.preventDefault(),C.login(D).then(e=>{x.user=e.user,b(e.accessToken),y(`/`)}).catch(e=>{console.log(e)})};var A=E(),j=i(A),M=i(j),N=t(M,4),P=n=>{var r=w(),l=e(r),u=t(i(l),2),f=i(u);g(f),s(f,!0),c(2),a(u),a(l),c(2),o(`submit`,l,O),m(f,()=>D.email,e=>D.email=e),d(n,r)},F=e=>{var n=T(),r=t(i(n),2),l=i(r);g(l),s(l,!0),c(2),a(r);var u=t(r,2);a(n),o(`submit`,n,k),m(l,()=>D.password,e=>D.password=e),v(`click`,u,()=>{D.validemail=!1}),d(e,n)};p(N,e=>{D.validemail?e(F,-1):e(P)}),c(4),a(j),a(A),f(()=>u(M,`src`,S)),d(l,A),n()}l([`click`]);export{D as component};
@@ -0,0 +1 @@
import{I as e,K as t,L as n,P as r,Q as i,S as a,U as o,b as s,c,g as l,k as u,o as d,q as f,s as p,v as m,x as h}from"../chunks/DxmhE1z1.js";import{t as g}from"../chunks/DZTG_XPZ.js";import"../chunks/xihTtKlq.js";import{t as _}from"../chunks/puscbPt7.js";import{n as v,t as y}from"../chunks/BT9KdPme.js";import{t as b}from"../chunks/Nqp1gr6g.js";var x=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;function S(e){return x.test(e)}var C=m(`<div class="h-full w-full flex items-center public"><div class="m-auto w-96 max-w-full p-4"><img class="h-10 mb-4" alt="logo"/> <h1>Inscription</h1> <form><label for="email" class="block my-1 flex-1">Email</label> <input id="email" type="text" class="textinput"/> <!> <label for="firstname" class="block my-1 flex-1">Prénom</label> <input id="firstname" type="text" class="textinput"/> <!> <label for="lastname" class="block my-1 flex-1">Nom</label> <input id="lastname" type="text" class="textinput"/> <!> <label for="password" class="block my-1 flex-1">Mot de passe</label> <input id="password" type="password" class="textinput"/> <!> <label for="verifpassword" class="block my-1 flex-1">Vérification du mot de passe</label> <input id="verifpassword" type="password" class="textinput"/> <!> <button class="bt my-2 w-full ">Enregistrer</button> <!></form></div></div>`);function w(s,m){f(m,!0);let x=new v,w=n({email:``,firstname:``,lastname:``,password:``,verifPassword:``}),T=e=>{if(e.preventDefault(),x.clear(),S(w.email)||x.set(`email`,`Adresse email invalide !`),w.password!==w.verifPassword&&x.set(`verifPassword`,`Les mots de pass ne correspondent pas.`),x.size==0){let e={method:`password`,email:w.email,firstname:w.firstname,lastname:w.lastname,password:w.password};b.register(e).then(()=>{g(`/`)}).catch(e=>{x.set(`submit`,`Erreur: `+e)})}};var E=C(),D=r(E),O=r(D),k=e(O,4),A=e(r(k),2);p(A),o(A,!0);var j=e(A,2);y(j,{key:`email`,get errors(){return x}});var M=e(j,4);p(M);var N=e(M,2);y(N,{key:`firstname`,get errors(){return x}});var P=e(N,4);p(P);var F=e(P,2);y(F,{key:`lastname`,get errors(){return x}});var I=e(F,4);p(I);var L=e(I,2);y(L,{key:`password`,get errors(){return x}});var R=e(L,4);p(R);var z=e(R,2);y(z,{key:`verifPassword`,get errors(){return x}});var B=e(z,4);y(B,{key:`submit`,get errors(){return x}}),i(k),i(D),i(E),u(()=>c(O,`src`,_)),a(`submit`,k,T),h(`change`,k,()=>{x.clear()}),d(A,()=>w.email,e=>w.email=e),d(M,()=>w.firstname,e=>w.firstname=e),d(P,()=>w.lastname,e=>w.lastname=e),d(I,()=>w.password,e=>w.password=e),d(R,()=>w.verifPassword,e=>w.verifPassword=e),l(s,E),t()}s([`change`]);export{w as component};
@@ -1 +0,0 @@
import{H as e,K as t,M as n,O as r,V as i,_ as a,g as o,p as s}from"../chunks/BXe04aPf.js";import{t as c}from"../chunks/tTEyPFub.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/kaCwo2dy.js";import"../chunks/Bthvo3p_.js";var u=t({});function d(t,u){e(u,!0),r(()=>{l.status==`unauthenticated`&&c(`/login`)});var d=a(),f=n(d);s(f,()=>u.children),o(t,d),i()}export{d as component,u as universal};
@@ -0,0 +1 @@
import{$ as e,A as t,F as n,I as r,K as i,L as a,N as o,P as s,Q as c,S as l,b as u,c as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,p as y,q as b,u as x,v as S,x as C}from"../chunks/DxmhE1z1.js";import{t as w}from"../chunks/DZTG_XPZ.js";import"../chunks/xihTtKlq.js";import{t as T}from"../chunks/BJ9updZG.js";import{i as E,n as D,r as O,t as k}from"../chunks/puscbPt7.js";var A={me:()=>D.get(`/user/me`)},j=e({load:()=>M}),M=async()=>({me:await A.me()}),N=a({sidebarDesktopOpen:!0,sidebarMobileOpen:!1,menuContentVisible:!0}),P=S(`<span class="ml-4"> </span>`),F=S(`<div class="my-2 block"><a class="p-2 w-full text-left menuitem block"><i></i> <!></a></div>`);function I(e,t){b(t,!0);let n=m(t,`label`,3,``),a=m(t,`icon`,3,``),o=m(t,`link`,3,``);var l=F(),u=s(l),v=s(u),y=r(v,2),S=e=>{var t=P(),r=s(t,!0);c(t),h(()=>p(r,n())),f(e,t)};_(y,e=>{N.menuContentVisible&&e(S)}),c(u),c(l),h(()=>{d(u,`href`,o()),g(v,1,x([a()]))}),f(e,l),i()}var L=S(`<div class="flex-1 p-3 font openonly"><img class="h-5" alt="logo"/></div>`),R=S(`<div class="p-4 flex-1 profile"><div>Fabien Masson</div> <div class="flex"><a href="/profile" class="text-xs flex-1">Modifier</a></div></div> <div class="p-2"><button class="w-full bt" title="Déconecter"><i class="icon-logout"></i></button></div>`,1),z=S(`<div class="flex flex-row italic mb-4"><!> <button id="hamburgerDesktop" title="Open menu"><i class="icon-menu pointer block p-2"></i></button> <button id="hamburgerMobile" title="Open menu"><i class="icon-menu pointer block p-2"></i></button></div> <div id="menu" class="flex-1 overflow-y-scroll"><!> <!> <!> <!> <!></div> <div id="profile" class="w-full flex flex-row items-center border-t border-stone-200 dark:border-stone-800"><!></div>`,1);function B(e,t){b(t,!0);let a=()=>{E()};var o=z(),l=n(o),u=s(l),p=e=>{var t=L(),n=s(t);c(t),h(()=>d(n,`src`,k)),f(e,t)};_(u,e=>{N.menuContentVisible&&e(p)});var m=r(u,2),g=r(m,2);c(l);var v=r(l,2),y=s(v);I(y,{label:`Conversation`,icon:`icon-chat`,link:`/`});var x=r(y,2);I(x,{label:`Tâches`,icon:`icon-tasks`,link:`/tasks`});var S=r(x,2);I(S,{label:`Connaissances`,icon:`icon-graduation-cap`,link:`/kb`});var w=r(S,2);I(w,{label:`Historique`,icon:`icon-history`,link:`/history`});var T=r(w,2),D=e=>{I(e,{label:`Paramétrage`,icon:`icon-cog`,link:`/settings`})};_(T,e=>{O.user?.administrator&&e(D)}),c(v);var A=r(v,2),j=s(A),M=e=>{var t=R(),i=r(n(t),2),o=s(i);c(i),C(`click`,o,a),f(e,t)},P=e=>{I(e,{label:`User`,icon:`icon-user`,link:`/profile`})};_(j,e=>{N.menuContentVisible?e(M):e(P,-1)}),c(A),C(`click`,m,function(...e){t.handleMenuDesktop?.apply(this,e)}),C(`click`,g,function(...e){t.handleMenuMobile?.apply(this,e)}),f(e,o),i()}u([`click`]);var V=S(`<span><a title="retour"><i class="icon-left-big"></i></a></span>`),H=S(`<div id="outer"><div id="sidebar" class="flex flex-col"><!></div> <div id="main"><div class="flex flex-col h-screen "><div class="header"><h1 class="flex"><span class="flex-1"> </span> <!></h1></div> <div class="overflow-scroll flex-1 p-2"><!></div></div></div></div>`);function U(e,n){b(n,!0);let a=()=>{N.sidebarDesktopOpen=!N.sidebarDesktopOpen,N.sidebarDesktopOpen?setTimeout(()=>{N.menuContentVisible=N.sidebarDesktopOpen},200):N.menuContentVisible=N.sidebarDesktopOpen},u=()=>{N.sidebarMobileOpen=!N.sidebarMobileOpen,N.sidebarMobileOpen?setTimeout(()=>{N.menuContentVisible=N.sidebarMobileOpen},200):N.menuContentVisible=N.sidebarMobileOpen},m=()=>{N.menuContentVisible=window.innerWidth<640?N.sidebarMobileOpen:N.sidebarDesktopOpen};v(async()=>{m(),n.data.me?(O.user=n.data.me,O.status=`authenticated`):O.status=`unauthenticated`}),t(()=>{O.status==`unauthenticated`&&w(`/login`)});var S=H();l(`resize`,o,m);var C=s(S);B(s(C),{handleMenuDesktop:a,handleMenuMobile:u}),c(C);var E=r(C,2),D=s(E),k=s(D),A=s(k),j=s(A),M=s(j,!0);c(j);var P=r(j,2),F=e=>{var t=V(),n=s(t);c(t),h(()=>d(n,`href`,T.data.back)),f(e,t)};_(P,e=>{T.data.back&&e(F)}),c(A),c(k);var I=r(k,2),L=s(I);y(L,()=>n.children),c(I),c(D),c(E),c(S),h(()=>{g(S,1,x([N.sidebarDesktopOpen?`desktopMenuOpen`:`desktopMenuClosed`,N.sidebarMobileOpen?`mobileMenuOpen`:`mobileMenuClosed`])),p(M,T.data.title)}),f(e,S),i()}export{U as component,j as universal};
@@ -0,0 +1,6 @@
import{$ as e,Z as t,g as n,y as r}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var i=e({load:()=>a});function a(){return{title:`Conversation`}}function o(e){t();var i=r(`Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?`);n(e,i)}export{o as component,i as universal};
@@ -1 +0,0 @@
import{A as e,D as t,G as n,H as r,M as i,N as a,P as o,S as s,V as c,W as l,b as u,c as d,g as f,h as p,i as m,j as h,l as g,m as _,n as v,u as y,v as b,x}from"../chunks/BXe04aPf.js";import"../chunks/xihTtKlq.js";import{n as S}from"../chunks/kaCwo2dy.js";import{t as C}from"../chunks/bT040zHf.js";var w=o({sidebarDesktopOpen:!0,sidebarMobileOpen:!1,menuContentVisible:!0}),T=b(`<span class="ml-4"> </span>`),E=b(`<div class="p-2" tabindex="0" role="button"><i></i> <!></div>`);function D(e,i){r(i,!0);let o=m(i,`label`,3,``),s=m(i,`icon`,3,``);var l=E(),u=h(l),d=a(u,2),v=e=>{var r=T(),i=h(r,!0);n(r),t(()=>p(i,o())),f(e,r)};_(d,e=>{w.menuContentVisible&&e(v)}),n(l),t(()=>g(u,1,y([s()]))),f(e,l),c()}var O=b(`<div class="flex-1 p-3 font openonly"><img class="w-24"/></div>`),k=b(`<div class="p-2 flex-1 "><div>Fabien Masson</div> <div class="flex"><a href="#" class="text-xs flex-1">Modifier</a></div></div> <div class="p-2"><button class="w-full bt"><i class="icon-logout"></i></button></div>`,1),A=b(`<div class="flex flex-row italic mb-4"><!> <i id="hamburgerDesktop" class="icon-menu pointer block p-2" tabindex="0" role="button"></i> <i id="hamburgerMobile" class="icon-menu pointer block p-2" tabindex="0" role="button"></i></div> <div id="menu" class="flex-1 overflow-y-scroll"><!> <!> <!> <!></div> <div id="profile" class="w-full flex flex-row items-center border-t border-stone-200 dark:border-stone-800"><!></div>`,1);function j(e,o){r(o,!0);let s=()=>{S()};var l=A(),u=i(l),p=h(u),m=e=>{var r=O(),i=h(r);n(r),t(()=>d(i,`src`,C)),f(e,r)};_(p,e=>{w.menuContentVisible&&e(m)});var g=a(p,2),v=a(g,2);n(u);var y=a(u,2),b=h(y);D(b,{label:`Conversation`,icon:`icon-chat`});var T=a(b,2);D(T,{label:`Tâches`,icon:`icon-tasks`});var E=a(T,2);D(E,{label:`Historique`,icon:`icon-history`}),D(a(E,2),{label:`Paramétrage`,icon:`icon-cog`}),n(y);var j=a(y,2),M=h(j),N=e=>{var t=k(),r=a(i(t),2),o=h(r);n(r),x(`click`,o,s),f(e,t)},P=e=>{D(e,{label:`User`,icon:`icon-user`})};_(M,e=>{w.menuContentVisible?e(N):e(P,-1)}),n(j),x(`click`,g,function(...e){o.handleMenuDesktop?.apply(this,e)}),x(`click`,v,function(...e){o.handleMenuMobile?.apply(this,e)}),f(e,l),c()}u([`click`]);var M=b(`<div id="outer"><div id="sidebar" class="flex flex-col"><!></div> <div id="main"><div id="content">Contenu</div></div></div>`);function N(i,a){r(a,!0);let o=()=>{w.sidebarDesktopOpen=!w.sidebarDesktopOpen,w.sidebarDesktopOpen?setTimeout(()=>{w.menuContentVisible=w.sidebarDesktopOpen},200):w.menuContentVisible=w.sidebarDesktopOpen},u=()=>{w.sidebarMobileOpen=!w.sidebarMobileOpen,w.sidebarMobileOpen?setTimeout(()=>{w.menuContentVisible=w.sidebarMobileOpen},200):w.menuContentVisible=w.sidebarMobileOpen},d=()=>{w.menuContentVisible=window.innerWidth<640?w.sidebarMobileOpen:w.sidebarDesktopOpen};v(()=>{d()});var p=M();s(`resize`,e,d);var m=h(p);j(h(m),{handleMenuDesktop:o,handleMenuMobile:u}),n(m),l(2),n(p),t(()=>g(p,1,y([w.sidebarDesktopOpen?`desktopMenuOpen`:`desktopMenuClosed`,w.sidebarMobileOpen?`mobileMenuOpen`:`mobileMenuClosed`]))),f(i,p),c()}export{N as component};
@@ -1 +0,0 @@
import{D as e,G as t,H as n,M as r,N as i,P as a,R as o,S as s,V as c,W as l,b as u,c as d,g as f,j as p,m,o as h,s as g,v as _,x as v}from"../chunks/BXe04aPf.js";import{t as y}from"../chunks/tTEyPFub.js";import"../chunks/xihTtKlq.js";import{t as b}from"../chunks/kaCwo2dy.js";import"../chunks/Bthvo3p_.js";import{t as x}from"../chunks/bT040zHf.js";var S=_(`<form><div class="flex"><label for="email" class="block mb-2 flex-1">Email</label> <a href="#" class="text-xs">Mot de passe oublié ?</a></div> <div class="flex flex-row"><input type="text" class="textinput mr-1"/> <button class="bt"><i class="icon-right-big"></i></button></div></form> <div class="my-4 text-xs"><a href="/register">Pas encore de compte ? Incrivez-vous.</a></div>`,1),C=_(`<form><div class="flex"><label for="email" class="block mb-2 flex-1">Mot de passe</label></div> <div class="flex flex-row"><input type="text" class="textinput mr-1"/> <button class="bt">Entrer</button></div> <a href="/register" class="text-xs">← Retour</a></form>`),w=_(`<div class="h-full w-full flex items-center"><div class="m-auto min-w-64 p-4"><img class="h-8 mb-4"/> <h1>Préparerez votre galet ...</h1> <!> <hr class="my-4"/> <div class="grid grid-cols-[repeat(auto-fit,minmax(150px,1fr))] gap-4"><button class="bt p-5 text-center"><i class="icon-google"></i></button> <button class="bt p-5 text-center"><i class="icon-facebook"></i></button> <button class="bt p-5 text-center"><i class="icon-github"></i></button> <button class="bt p-5 text-center"><i class="icon-apple"></i></button></div></div></div>`);function T(u,_){n(_,!0);let T=a({email:``,password:``,validemail:!1}),E=()=>{T.validemail=!0},D=e=>{e.preventDefault(),console.log(`formSubmitPass `+b.status),b.status=`authenticated`,console.log(`formSubmitPass après `+b.status),y(`/`)};var O=w(),k=p(O),A=p(k),j=i(A,4),M=e=>{var n=S(),a=r(n),c=i(p(a),2),u=p(c);g(u),o(u,!0),l(2),t(c),t(a),l(2),s(`submit`,a,E),h(u,()=>T.email,e=>T.email=e),f(e,n)},N=e=>{var n=C(),r=i(p(n),2),a=p(r);g(a),o(a,!0),l(2),t(r);var c=i(r,2);t(n),s(`submit`,n,D),h(a,()=>T.password,e=>T.password=e),v(`click`,c,()=>{T.validemail=!1}),f(e,n)};m(j,e=>{T.validemail?e(N,-1):e(M)}),l(4),t(k),t(O),e(()=>d(A,`src`,x)),f(u,O),c()}u([`click`]);export{T as component};
@@ -0,0 +1,6 @@
import{$ as e,Z as t,g as n,y as r}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var i=e({load:()=>a});function a(){return{title:`Historique`}}function o(e){t();var i=r(`Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur?`);n(e,i)}export{o as component,i as universal};
@@ -0,0 +1 @@
import{$ as e}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var t=e({load:()=>n});function n(){return{title:`Base de connaissance`}}function r(e){}export{r as component,t as universal};
@@ -1 +0,0 @@
import{D as e,G as t,H as n,N as r,P as i,R as a,S as o,V as s,W as c,c as l,g as u,j as d,o as f,s as p,v as m}from"../chunks/BXe04aPf.js";import{t as h}from"../chunks/tTEyPFub.js";import"../chunks/xihTtKlq.js";import"../chunks/kaCwo2dy.js";import"../chunks/Bthvo3p_.js";import{t as g}from"../chunks/bT040zHf.js";var _=m(`<div class="h-full w-full flex items-center"><div class="m-auto min-w-64 p-4"><img class="h-8 mb-4"/> <h1>Inscription</h1> <form><label for="email" class="block my-1 flex-1">Email</label> <input id="email" type="text" class="textinput mb-4"/> <label for="firstname" class="block my-1 flex-1">Prénom</label> <input id="firstname" type="text" class="textinput mb-4"/> <label for="lastname" class="block my-1 flex-1">Nom</label> <input id="lastname" type="text" class="textinput mb-4"/> <label for="password" class="block my-1 flex-1">Mot de passe</label> <input id="password" type="password" class="textinput mb-4"/> <label for="verifpassword" class="block my-1 flex-1">Vérification du mot de passe</label> <input id="verifpassword" type="password" class="textinput mb-4"/> <button class="bt my-2">Enregistrer</button></form></div></div>`);function v(m,v){n(v,!0);let y=i({email:``,firstname:``,lastname:``,password:``,verifPassword:``,validation:!1}),b=()=>{y.validation=!0,h(`/`)};var x=_(),S=d(x),C=d(S),w=r(C,4),T=r(d(w),2);p(T),a(T,!0);var E=r(T,4);p(E);var D=r(E,4);p(D);var O=r(D,4);p(O);var k=r(O,4);p(k),c(2),t(w),t(S),t(x),e(()=>l(C,`src`,g)),o(`submit`,w,b),f(T,()=>y.email,e=>y.email=e),f(E,()=>y.firstname,e=>y.firstname=e),f(D,()=>y.lastname,e=>y.lastname=e),f(O,()=>y.password,e=>y.password=e),f(k,()=>y.verifPassword,e=>y.verifPassword=e),u(m,x),s()}export{v as component};
@@ -0,0 +1 @@
import{$ as e,F as t,I as n,K as r,L as i,P as a,Q as o,U as s,Z as c,g as l,o as u,q as d,s as f,v as p}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";import{n as m,t as h}from"../chunks/BT9KdPme.js";var g=e({load:()=>_});function _(){return{title:`Profil`}}var v=p(`<div class="mb-4 formgroup"><h2>Mon compte</h2> <label for="email" class="block my-1 flex-1">Email</label> <input id="email" type="text" class="textinput"/> <!> <div class="flex"><div class="flex-1 mr-2"><label for="firstname" class="block my-1 flex-1">Prénom</label> <input id="firstname" type="text" class="textinput"/> <!></div> <div class="flex-1 ml-2"><label for="lastname" class="block my-1 flex-1">Nom</label> <input id="lastname" type="text" class="textinput"/> <!></div></div> <div class="flex"><div class="flex-1 mr-2"><label for="theme" class="block my-1 flex-1">Thème</label> <input id="theme" type="text" class="textinput"/> <!></div> <div class="flex-1 ml-2"><label for="lang" class="block my-1 flex-1">Langue</label> <input id="lang" type="text" class="textinput"/> <!></div></div></div> <div class="mb-4 formgroup"><h2>Canaux de communication</h2></div>`,1);function y(e,p){d(p,!0);let g=i({email:``,firstname:``,lastname:``,lang:`en`,theme:`auto`}),_=new m;var y=v(),b=t(y),x=n(a(b),4);f(x),s(x,!0);var S=n(x,2);h(S,{key:`email`,get errors(){return _}});var C=n(S,2),w=a(C),T=n(a(w),2);f(T);var E=n(T,2);h(E,{key:`firstname`,get errors(){return _}}),o(w);var D=n(w,2),O=n(a(D),2);f(O);var k=n(O,2);h(k,{key:`lastname`,get errors(){return _}}),o(D),o(C);var A=n(C,2),j=a(A),M=n(a(j),2);f(M);var N=n(M,2);h(N,{key:`theme`,get errors(){return _}}),o(j);var P=n(j,2),F=n(a(P),2);f(F);var I=n(F,2);h(I,{key:`lang`,get errors(){return _}}),o(P),o(A),o(b),c(2),u(x,()=>g.email,e=>g.email=e),u(T,()=>g.firstname,e=>g.firstname=e),u(O,()=>g.lastname,e=>g.lastname=e),u(M,()=>g.theme,e=>g.theme=e),u(F,()=>g.lang,e=>g.lang=e),l(e,y),r()}export{y as component,g as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage`}}var a=n(`<div class="grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))] gap-4"><a class="bt p-5 text-center" title="Modèles" href="/settings/models">Modèles <span class="ml-2 opacity-50 text-xs">mistral-medium-latest</span></a> <a class="bt p-5 text-center" title="Outils" href="/settings/tools">Outils <span class="ml-2 text-xs bg-red-900 text-red-300 rounded-lg p-1">12</span></a> <a class="bt p-5 text-center" title="Skills" href="/settings/skills">Skills <span class="ml-2 text-xs bg-red-900 text-red-300 rounded-lg p-1">3</span></a> <a class="bt p-5 text-center" title="Canaux de communication" href="/settings/channels">Canaux de communication <span class="ml-2 text-xs bg-red-900 text-red-300 rounded-lg p-1">12</span></a> <a class="bt p-5 text-center" title="Bases de connaissance" href="/settings/kb">Bases de connaissance</a> <a class="bt p-5 text-center" title="Agents" href="/settings/agents">Agents</a> <a class="bt p-5 text-center" title="Mémoire" href="/settings/memory">Mémoire <span class="ml-2 opacity-50 text-xs">standard</span></a> <a class="bt p-5 text-center" title="Utilisateurs" href="/settings/users">Utilisateurs <span class="ml-2 text-xs bg-red-900 text-red-300 rounded-lg p-1">1</span></a></div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Agents`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
@@ -0,0 +1 @@
import{$ as e,g as t,v as n}from"../chunks/DxmhE1z1.js";import"../chunks/xihTtKlq.js";var r=e({load:()=>i});function i(){return{title:`Paramétrage : Canaux de communication`,back:`/settings`}}var a=n(`<div>Modèles</div>`);function o(e){var n=a();t(e,n)}export{o as component,r as universal};
+1 -1
View File
@@ -1 +1 @@
{"version":"1785917155183"}
{"version":"1786123021130"}
@@ -107,6 +107,12 @@
"css": "logout",
"code": 59399,
"src": "fontawesome"
},
{
"uid": "555ef8c86832e686fef85f7af2eb7cde",
"css": "left-big",
"code": 59400,
"src": "fontawesome"
}
]
}
@@ -7,6 +7,7 @@
.icon-edit:before { content: '\e805'; } /* '' */
.icon-right-big:before { content: '\e806'; } /* '' */
.icon-logout:before { content: '\e807'; } /* '' */
.icon-left-big:before { content: '\e808'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
.icon-tasks:before { content: '\f0ae'; } /* '' */
.icon-menu:before { content: '\f0c9'; } /* '' */
@@ -1,15 +1,15 @@
@font-face {
font-family: 'fontello';
src: url('../font/fontello.eot?85841190');
src: url('../font/fontello.eot?85841190#iefix') format('embedded-opentype'),
url('../font/fontello.svg?85841190#fontello') format('svg');
src: url('../font/fontello.eot?40016728');
src: url('../font/fontello.eot?40016728#iefix') format('embedded-opentype'),
url('../font/fontello.svg?40016728#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'fontello';
src: url('data:application/octet-stream;base64,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 truncated
url('data:application/octet-stream;base64,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 truncated
src: url('data:application/octet-stream;base64,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 truncated
url('data:application/octet-stream;base64,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 truncated
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
@@ -17,7 +17,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'fontello';
src: url('../font/fontello.svg?85841190#fontello') format('svg');
src: url('../font/fontello.svg?40016728#fontello') format('svg');
}
}
*/
@@ -65,6 +65,7 @@
.icon-edit:before { content: '\e805'; } /* '' */
.icon-right-big:before { content: '\e806'; } /* '' */
.icon-logout:before { content: '\e807'; } /* '' */
.icon-left-big:before { content: '\e808'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
.icon-tasks:before { content: '\f0ae'; } /* '' */
.icon-menu:before { content: '\f0c9'; } /* '' */
@@ -7,6 +7,7 @@
.icon-edit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe805;&nbsp;'); }
.icon-right-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe806;&nbsp;'); }
.icon-logout { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe807;&nbsp;'); }
.icon-left-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe808;&nbsp;'); }
.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09a;&nbsp;'); }
.icon-tasks { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ae;&nbsp;'); }
.icon-menu { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c9;&nbsp;'); }
@@ -18,6 +18,7 @@
.icon-edit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe805;&nbsp;'); }
.icon-right-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe806;&nbsp;'); }
.icon-logout { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe807;&nbsp;'); }
.icon-left-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe808;&nbsp;'); }
.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09a;&nbsp;'); }
.icon-tasks { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ae;&nbsp;'); }
.icon-menu { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c9;&nbsp;'); }
+8 -7
View File
@@ -1,11 +1,11 @@
@font-face {
font-family: 'fontello';
src: url('../font/fontello.eot?44639875');
src: url('../font/fontello.eot?44639875#iefix') format('embedded-opentype'),
url('../font/fontello.woff2?44639875') format('woff2'),
url('../font/fontello.woff?44639875') format('woff'),
url('../font/fontello.ttf?44639875') format('truetype'),
url('../font/fontello.svg?44639875#fontello') format('svg');
src: url('../font/fontello.eot?64785462');
src: url('../font/fontello.eot?64785462#iefix') format('embedded-opentype'),
url('../font/fontello.woff2?64785462') format('woff2'),
url('../font/fontello.woff?64785462') format('woff'),
url('../font/fontello.ttf?64785462') format('truetype'),
url('../font/fontello.svg?64785462#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -15,7 +15,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'fontello';
src: url('../font/fontello.svg?44639875#fontello') format('svg');
src: url('../font/fontello.svg?64785462#fontello') format('svg');
}
}
*/
@@ -62,6 +62,7 @@
.icon-edit:before { content: '\e805'; } /* '' */
.icon-right-big:before { content: '\e806'; } /* '' */
.icon-logout:before { content: '\e807'; } /* '' */
.icon-left-big:before { content: '\e808'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
.icon-tasks:before { content: '\f0ae'; } /* '' */
.icon-menu:before { content: '\f0c9'; } /* '' */
@@ -146,11 +146,11 @@
}
@font-face {
font-family: 'fontello';
src: url('./font/fontello.eot?35012786');
src: url('./font/fontello.eot?35012786#iefix') format('embedded-opentype'),
url('./font/fontello.woff?35012786') format('woff'),
url('./font/fontello.ttf?35012786') format('truetype'),
url('./font/fontello.svg?35012786#fontello') format('svg');
src: url('./font/fontello.eot?72761720');
src: url('./font/fontello.eot?72761720#iefix') format('embedded-opentype'),
url('./font/fontello.woff?72761720') format('woff'),
url('./font/fontello.ttf?72761720') format('truetype'),
url('./font/fontello.svg?72761720#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -239,6 +239,9 @@
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xe808">
<i class="demo-icon icon-left-big">&#xe808;</i> <span class="i-name">icon-left-big</span><span class="i-code">0xe808</span>
</div>
<div class="span3" title="Code: 0xf09a">
<i class="demo-icon icon-facebook">&#xf09a;</i> <span class="i-name">icon-facebook</span><span class="i-code">0xf09a</span>
</div>
@@ -248,11 +251,11 @@
<div class="span3" title="Code: 0xf0c9">
<i class="demo-icon icon-menu">&#xf0c9;</i> <span class="i-name">icon-menu</span><span class="i-code">0xf0c9</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf113">
<i class="demo-icon icon-github">&#xf113;</i> <span class="i-name">icon-github</span><span class="i-code">0xf113</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf179">
<i class="demo-icon icon-apple">&#xf179;</i> <span class="i-name">icon-apple</span><span class="i-code">0xf179</span>
</div>
@@ -262,11 +265,11 @@
<div class="span3" title="Code: 0xf1a0">
<i class="demo-icon icon-google">&#xf1a0;</i> <span class="i-name">icon-google</span><span class="i-code">0xf1a0</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf1d8">
<i class="demo-icon icon-paper-plane">&#xf1d8;</i> <span class="i-name">icon-paper-plane</span><span class="i-code">0xf1d8</span>
</div>
</div>
<div class="row">
<div class="span3" title="Code: 0xf1da">
<i class="demo-icon icon-history">&#xf1da;</i> <span class="i-name">icon-history</span><span class="i-code">0xf1da</span>
</div>
@@ -22,6 +22,8 @@
<glyph glyph-name="logout" unicode="&#xe807;" d="M357 46q0-2 1-11t0-14-2-14-5-11-12-3h-178q-67 0-114 47t-47 114v392q0 67 47 114t114 47h178q8 0 13-5t5-13q0-2 1-11t0-15-2-13-5-11-12-3h-178q-37 0-63-26t-27-64v-392q0-37 27-63t63-27h174t6 0 7-2 4-3 4-5 1-8z m518 304q0-14-11-25l-303-304q-11-10-25-10t-25 10-11 25v161h-250q-14 0-25 11t-11 25v214q0 15 11 25t25 11h250v161q0 14 11 25t25 10 25-10l303-304q11-10 11-25z" horiz-adv-x="928.6" />
<glyph glyph-name="left-big" unicode="&#xe808;" d="M857 350v-71q0-30-18-51t-47-21h-393l164-164q21-20 21-50t-21-50l-42-43q-21-20-51-20-29 0-50 20l-364 364q-20 21-20 50 0 29 20 51l364 363q21 21 50 21 29 0 51-21l42-41q21-22 21-51t-21-51l-164-164h393q29 0 47-20t18-51z" horiz-adv-x="857.1" />
<glyph glyph-name="facebook" unicode="&#xf09a;" d="M535 843v-147h-87q-48 0-65-20t-17-60v-106h164l-22-165h-142v-424h-171v424h-142v165h142v122q0 104 58 161t155 57q82 0 127-7z" horiz-adv-x="571.4" />
<glyph glyph-name="tasks" unicode="&#xf0ae;" d="M571 64h358v72h-358v-72z m-214 286h572v71h-572v-71z m357 286h215v71h-215v-71z m286-465v-142q0-15-11-25t-25-11h-928q-15 0-25 11t-11 25v142q0 15 11 26t25 10h928q15 0 25-10t11-26z m0 286v-143q0-14-11-25t-25-10h-928q-15 0-25 10t-11 25v143q0 15 11 25t25 11h928q15 0 25-11t11-25z m0 286v-143q0-14-11-25t-25-11h-928q-15 0-25 11t-11 25v143q0 14 11 25t25 11h928q15 0 25-11t11-25z" horiz-adv-x="1000" />

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

+9 -9
View File
@@ -4,28 +4,28 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="text-scale" content="scale" />
<link href="/_app/immutable/entry/start.BDBpcwWA.js" rel="modulepreload">
<link href="/_app/immutable/chunks/tTEyPFub.js" rel="modulepreload">
<link href="/_app/immutable/chunks/BXe04aPf.js" rel="modulepreload">
<link href="/_app/immutable/entry/app.3rrbglG1.js" rel="modulepreload">
<link href="/_app/immutable/entry/start.DIAl6VsA.js" rel="modulepreload">
<link href="/_app/immutable/chunks/DZTG_XPZ.js" rel="modulepreload">
<link href="/_app/immutable/chunks/DxmhE1z1.js" rel="modulepreload">
<link href="/_app/immutable/entry/app.ByOsvHj7.js" rel="modulepreload">
<link href="/_app/immutable/chunks/xihTtKlq.js" rel="modulepreload">
<link href="/_app/immutable/nodes/0.DUhcgpvL.js" rel="modulepreload">
<link href="/_app/immutable/nodes/0.Bz_yxCPk.js" rel="modulepreload">
<link href="/_app/immutable/assets/0.CHStj0oN.css" rel="stylesheet">
<link href="/_app/immutable/assets/0.tR7PeoVK.css" rel="stylesheet">
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">
<script>
{
__sveltekit_1tkqncq = {
__sveltekit_vshol8 = {
base: ""
};
const element = document.currentScript.parentElement;
Promise.all([
import("/_app/immutable/entry/start.BDBpcwWA.js"),
import("/_app/immutable/entry/app.3rrbglG1.js")
import("/_app/immutable/entry/start.DIAl6VsA.js"),
import("/_app/immutable/entry/app.ByOsvHj7.js")
]).then(([kit, app]) => {
kit.start(app, element);
});
+109
View File
@@ -0,0 +1,109 @@
package storage
import (
"context"
"io"
"log"
"net/url"
"time"
)
const bucketName = "lassistanoque"
type StorageProvider interface {
EnsureBucket(
ctx context.Context,
bucketName string,
) error
PutObject(
ctx context.Context,
reader io.Reader,
bucketName string,
objectName string,
filePath string,
contentType string,
) error
GetObject(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
) (io.ReadCloser, error)
DeleteObject(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
) error
ExistsObject(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
) (bool, error)
GetPresignedURL(
ctx context.Context,
bucketName string,
objectName string,
filePath string,
Expiry time.Time,
) (*url.URL, error)
}
type Service struct {
provider StorageProvider
}
func NewService(provider StorageProvider) *Service {
err := provider.EnsureBucket(
context.Background(),
bucketName,
)
if err != nil {
log.Fatal("error creating bucket", err)
}
return &Service{provider}
}
func (s *Service) PutObject(
ctx context.Context,
reader io.Reader,
objectName string,
filePath string,
contentType string,
) error {
return s.provider.PutObject(ctx, reader, bucketName, objectName, filePath, contentType)
}
func (s *Service) GetObject(
ctx context.Context,
objectName string,
filePath string,
) (io.ReadCloser, error) {
return s.provider.GetObject(ctx, bucketName, objectName, filePath)
}
func (s *Service) DeleteObject(
ctx context.Context,
objectName string,
filePath string,
) error {
return s.provider.DeleteObject(ctx, bucketName, objectName, filePath)
}
func (s *Service) ExistsObject(
ctx context.Context,
objectName string,
filePath string,
) (bool, error) {
return s.provider.ExistsObject(ctx, bucketName, objectName, filePath)
}
func (s *Service) GetPresignedURL(
ctx context.Context,
objectName string,
filePath string,
Expiry time.Time,
) (*url.URL, error) {
return s.provider.GetPresignedURL(ctx, bucketName, objectName, filePath, Expiry)
}
+13 -2
View File
@@ -1,6 +1,10 @@
package user
import "trankilou.fr/lassistanoque/backend/internal/domain"
import (
"fmt"
"trankilou.fr/lassistanoque/backend/internal/domain"
)
type Service struct {
repo domain.UserRepository
@@ -13,5 +17,12 @@ func NewService(repo domain.UserRepository) *Service {
}
func (s *Service) GetUser(id string) (*domain.User, error) {
return s.repo.FindUser(id)
user, err := s.repo.FindUser(id)
if err != nil {
return nil, err
}
if !user.Enabled {
return nil, fmt.Errorf("unauthorized")
}
return user, nil
}
Binary file not shown.