diff --git a/CHANGELOG.md b/CHANGELOG.md index aa2c2911..24b824e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,25 @@ - Added `TestMailer.SentMessages` field that holds all sent test app emails until cleanup. +## v0.20.3 + +- Fixed the `json` field query comparisons to work correctly with plain JSON values like `null`, `bool` `number`, etc. ([#4068](https://github.com/pocketbase/pocketbase/issues/4068)). + Since there are plans in the future to allow custom SQLite builds and also in some situations it may be useful to be able to distinguish `NULL` from `''`, + for the `json` fields (and for any other future non-standard field) we no longer apply `COALESCE` by default, aka.: + ``` + Dataset: + 1) data: json(null) + 2) data: json('') + + For the filter "data = null" only 1) will resolve to TRUE. + For the filter "data = ''" only 2) will resolve to TRUE. + ``` + +- Minor Go tests improvements + - Sorted the record cascade delete references to ensure that the delete operation will preserve the order of the fired events when running the tests. + - Marked some of the tests as safe for parallel execution to speed up a little the GitHub action build times. + + ## v0.20.2 - Added `sleep(milliseconds)` JSVM binding. diff --git a/apis/admin_test.go b/apis/admin_test.go index f7cf3a05..02f14bd6 100644 --- a/apis/admin_test.go +++ b/apis/admin_test.go @@ -17,6 +17,8 @@ import ( ) func TestAdminAuthWithPassword(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "empty data", @@ -119,6 +121,8 @@ func TestAdminAuthWithPassword(t *testing.T) { } func TestAdminRequestPasswordReset(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "empty data", @@ -188,6 +192,8 @@ func TestAdminRequestPasswordReset(t *testing.T) { } func TestAdminConfirmPasswordReset(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "empty data", @@ -277,6 +283,8 @@ func TestAdminConfirmPasswordReset(t *testing.T) { } func TestAdminRefresh(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -350,6 +358,8 @@ func TestAdminRefresh(t *testing.T) { } func TestAdminsList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -453,6 +463,8 @@ func TestAdminsList(t *testing.T) { } func TestAdminView(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -508,6 +520,8 @@ func TestAdminView(t *testing.T) { } func TestAdminDelete(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -603,6 +617,8 @@ func TestAdminDelete(t *testing.T) { } func TestAdminCreate(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized (while having at least 1 existing admin)", @@ -757,6 +773,8 @@ func TestAdminCreate(t *testing.T) { } func TestAdminUpdate(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", diff --git a/apis/api_error_test.go b/apis/api_error_test.go index b2ff52fb..d6e77b67 100644 --- a/apis/api_error_test.go +++ b/apis/api_error_test.go @@ -10,6 +10,8 @@ import ( ) func TestNewApiErrorWithRawData(t *testing.T) { + t.Parallel() + e := apis.NewApiError( 300, "message_test", @@ -33,6 +35,8 @@ func TestNewApiErrorWithRawData(t *testing.T) { } func TestNewApiErrorWithValidationData(t *testing.T) { + t.Parallel() + e := apis.NewApiError( 300, "message_test", @@ -66,6 +70,8 @@ func TestNewApiErrorWithValidationData(t *testing.T) { } func TestNewNotFoundError(t *testing.T) { + t.Parallel() + scenarios := []struct { message string data any @@ -87,6 +93,8 @@ func TestNewNotFoundError(t *testing.T) { } func TestNewBadRequestError(t *testing.T) { + t.Parallel() + scenarios := []struct { message string data any @@ -108,6 +116,8 @@ func TestNewBadRequestError(t *testing.T) { } func TestNewForbiddenError(t *testing.T) { + t.Parallel() + scenarios := []struct { message string data any @@ -129,6 +139,8 @@ func TestNewForbiddenError(t *testing.T) { } func TestNewUnauthorizedError(t *testing.T) { + t.Parallel() + scenarios := []struct { message string data any diff --git a/apis/backup_test.go b/apis/backup_test.go index 0fe17f7b..3927cfec 100644 --- a/apis/backup_test.go +++ b/apis/backup_test.go @@ -17,6 +17,8 @@ import ( ) func TestBackupsList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -84,6 +86,8 @@ func TestBackupsList(t *testing.T) { } func TestBackupsCreate(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -198,6 +202,8 @@ func TestBackupsCreate(t *testing.T) { } func TestBackupsUpload(t *testing.T) { + t.Parallel() + // create dummy form data bodies type body struct { buffer io.Reader @@ -330,6 +336,8 @@ func TestBackupsUpload(t *testing.T) { } func TestBackupsDownload(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -485,6 +493,8 @@ func TestBackupsDownload(t *testing.T) { } func TestBackupsDelete(t *testing.T) { + t.Parallel() + noTestBackupFilesChanges := func(t *testing.T, app *tests.TestApp) { files, err := getBackupFiles(app) if err != nil { @@ -645,6 +655,8 @@ func TestBackupsDelete(t *testing.T) { } func TestBackupsRestore(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", diff --git a/apis/base_test.go b/apis/base_test.go index b5888576..aa61e7ae 100644 --- a/apis/base_test.go +++ b/apis/base_test.go @@ -15,6 +15,8 @@ import ( ) func Test404(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Method: http.MethodGet, @@ -53,6 +55,8 @@ func Test404(t *testing.T) { } func TestCustomRoutesAndErrorsHandling(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "custom route", @@ -142,6 +146,8 @@ func TestCustomRoutesAndErrorsHandling(t *testing.T) { } func TestRemoveTrailingSlashMiddleware(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "non /api/* route (exact match)", @@ -215,6 +221,8 @@ func TestRemoveTrailingSlashMiddleware(t *testing.T) { } func TestEagerRequestInfoCache(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "custom non-api group route", @@ -316,6 +324,8 @@ func TestEagerRequestInfoCache(t *testing.T) { } func TestErrorHandler(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "apis.ApiError", diff --git a/apis/collection_test.go b/apis/collection_test.go index 00333804..4399f372 100644 --- a/apis/collection_test.go +++ b/apis/collection_test.go @@ -17,6 +17,8 @@ import ( ) func TestCollectionsList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -125,6 +127,8 @@ func TestCollectionsList(t *testing.T) { } func TestCollectionView(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -193,6 +197,8 @@ func TestCollectionView(t *testing.T) { } func TestCollectionDelete(t *testing.T) { + t.Parallel() + ensureDeletedFiles := func(app *tests.TestApp, collectionId string) { storageDir := filepath.Join(app.DataDir(), "storage", collectionId) @@ -338,6 +344,8 @@ func TestCollectionDelete(t *testing.T) { } func TestCollectionCreate(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -715,6 +723,8 @@ func TestCollectionCreate(t *testing.T) { } func TestCollectionUpdate(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -1082,6 +1092,8 @@ func TestCollectionUpdate(t *testing.T) { } func TestCollectionsImport(t *testing.T) { + t.Parallel() + totalCollections := 11 scenarios := []tests.ApiScenario{ diff --git a/apis/file_test.go b/apis/file_test.go index 40a84f94..36b353de 100644 --- a/apis/file_test.go +++ b/apis/file_test.go @@ -20,6 +20,8 @@ import ( ) func TestFileToken(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -92,6 +94,8 @@ func TestFileToken(t *testing.T) { } func TestFileDownload(t *testing.T) { + t.Parallel() + _, currentFile, _, _ := runtime.Caller(0) dataDirRelPath := "../tests/data/" @@ -391,6 +395,8 @@ func TestFileDownload(t *testing.T) { } func TestConcurrentThumbsGeneration(t *testing.T) { + t.Parallel() + app, err := tests.NewTestApp() if err != nil { t.Fatal(err) diff --git a/apis/health_test.go b/apis/health_test.go index dc1c491d..a86961d1 100644 --- a/apis/health_test.go +++ b/apis/health_test.go @@ -8,6 +8,8 @@ import ( ) func TestHealthAPI(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "health status returns 200", diff --git a/apis/logs_test.go b/apis/logs_test.go index 2336ba0c..74d46bdc 100644 --- a/apis/logs_test.go +++ b/apis/logs_test.go @@ -9,6 +9,8 @@ import ( ) func TestLogsList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -78,6 +80,8 @@ func TestLogsList(t *testing.T) { } func TestLogView(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -136,6 +140,8 @@ func TestLogView(t *testing.T) { } func TestLogsStats(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", diff --git a/apis/middlewares_test.go b/apis/middlewares_test.go index 6dd81fdd..176b4363 100644 --- a/apis/middlewares_test.go +++ b/apis/middlewares_test.go @@ -10,6 +10,8 @@ import ( ) func TestRequireGuestOnly(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "valid record token", @@ -104,6 +106,8 @@ func TestRequireGuestOnly(t *testing.T) { } func TestRequireRecordAuth(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "guest", @@ -242,6 +246,8 @@ func TestRequireRecordAuth(t *testing.T) { } func TestRequireSameContextRecordAuth(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "guest", @@ -358,6 +364,8 @@ func TestRequireSameContextRecordAuth(t *testing.T) { } func TestRequireAdminAuth(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "guest", @@ -452,6 +460,8 @@ func TestRequireAdminAuth(t *testing.T) { } func TestRequireAdminAuthOnlyIfAny(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "guest (while having at least 1 existing admin)", @@ -571,6 +581,8 @@ func TestRequireAdminAuthOnlyIfAny(t *testing.T) { } func TestRequireAdminOrRecordAuth(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "guest", @@ -731,6 +743,8 @@ func TestRequireAdminOrRecordAuth(t *testing.T) { } func TestRequireAdminOrOwnerAuth(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "guest", @@ -869,6 +883,8 @@ func TestRequireAdminOrOwnerAuth(t *testing.T) { } func TestLoadCollectionContext(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "missing collection", diff --git a/apis/record_auth_test.go b/apis/record_auth_test.go index 269d01ce..95b93da2 100644 --- a/apis/record_auth_test.go +++ b/apis/record_auth_test.go @@ -17,6 +17,8 @@ import ( ) func TestRecordAuthMethodsList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "missing collection", @@ -71,6 +73,8 @@ func TestRecordAuthMethodsList(t *testing.T) { } func TestRecordAuthWithPassword(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "invalid body format", @@ -356,6 +360,8 @@ func TestRecordAuthWithPassword(t *testing.T) { } func TestRecordAuthRefresh(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -483,6 +489,8 @@ func TestRecordAuthRefresh(t *testing.T) { } func TestRecordAuthRequestPasswordReset(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "not an auth collection", @@ -568,6 +576,8 @@ func TestRecordAuthRequestPasswordReset(t *testing.T) { } func TestRecordAuthConfirmPasswordReset(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "empty data", @@ -681,6 +691,8 @@ func TestRecordAuthConfirmPasswordReset(t *testing.T) { } func TestRecordAuthRequestVerification(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "not an auth collection", @@ -774,6 +786,8 @@ func TestRecordAuthRequestVerification(t *testing.T) { } func TestRecordAuthConfirmVerification(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "empty data", @@ -902,6 +916,8 @@ func TestRecordAuthConfirmVerification(t *testing.T) { } func TestRecordAuthRequestEmailChange(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -1004,6 +1020,8 @@ func TestRecordAuthRequestEmailChange(t *testing.T) { } func TestRecordAuthConfirmEmailChange(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "not an auth collection", @@ -1124,6 +1142,8 @@ func TestRecordAuthConfirmEmailChange(t *testing.T) { } func TestRecordAuthListExternalsAuths(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -1224,6 +1244,8 @@ func TestRecordAuthListExternalsAuths(t *testing.T) { } func TestRecordAuthUnlinkExternalsAuth(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -1353,6 +1375,8 @@ func TestRecordAuthUnlinkExternalsAuth(t *testing.T) { } func TestRecordAuthOAuth2Redirect(t *testing.T) { + t.Parallel() + c1 := subscriptions.NewDefaultClient() c2 := subscriptions.NewDefaultClient() diff --git a/apis/record_crud_test.go b/apis/record_crud_test.go index d1e56135..7617e86e 100644 --- a/apis/record_crud_test.go +++ b/apis/record_crud_test.go @@ -17,6 +17,8 @@ import ( ) func TestRecordCrudList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "missing collection", @@ -493,6 +495,8 @@ func TestRecordCrudList(t *testing.T) { } func TestRecordCrudView(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "missing collection", @@ -772,6 +776,8 @@ func TestRecordCrudView(t *testing.T) { } func TestRecordCrudDelete(t *testing.T) { + t.Parallel() + ensureDeletedFiles := func(app *tests.TestApp, collectionId string, recordId string) { storageDir := filepath.Join(app.DataDir(), "storage", collectionId, recordId) @@ -1015,6 +1021,8 @@ func TestRecordCrudDelete(t *testing.T) { } func TestRecordCrudCreate(t *testing.T) { + t.Parallel() + formData, mp, err := tests.MockMultipartData(map[string]string{ "title": "title_test", }, "files") @@ -1591,6 +1599,8 @@ func TestRecordCrudCreate(t *testing.T) { } func TestRecordCrudUpdate(t *testing.T) { + t.Parallel() + formData, mp, err := tests.MockMultipartData(map[string]string{ "title": "title_test", }, "files") diff --git a/apis/record_helpers_test.go b/apis/record_helpers_test.go index ce51bf8e..6ec10827 100644 --- a/apis/record_helpers_test.go +++ b/apis/record_helpers_test.go @@ -14,6 +14,8 @@ import ( ) func TestRequestInfo(t *testing.T) { + t.Parallel() + e := echo.New() req := httptest.NewRequest(http.MethodPost, "/?test=123", strings.NewReader(`{"test":456}`)) req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationJSON) @@ -67,6 +69,8 @@ func TestRequestInfo(t *testing.T) { } func TestRecordAuthResponse(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -189,6 +193,8 @@ func TestRecordAuthResponse(t *testing.T) { } func TestEnrichRecords(t *testing.T) { + t.Parallel() + e := echo.New() req := httptest.NewRequest(http.MethodGet, "/?expand=rel_many", nil) req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationJSON) diff --git a/apis/settings_test.go b/apis/settings_test.go index 58b743a2..5d1c836b 100644 --- a/apis/settings_test.go +++ b/apis/settings_test.go @@ -18,6 +18,8 @@ import ( ) func TestSettingsList(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -98,6 +100,8 @@ func TestSettingsList(t *testing.T) { } func TestSettingsSet(t *testing.T) { + t.Parallel() + validData := `{"meta":{"appName":"update_test"}}` scenarios := []tests.ApiScenario{ @@ -281,6 +285,8 @@ func TestSettingsSet(t *testing.T) { } func TestSettingsTestS3(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -347,6 +353,8 @@ func TestSettingsTestS3(t *testing.T) { } func TestSettingsTestEmail(t *testing.T) { + t.Parallel() + scenarios := []tests.ApiScenario{ { Name: "unauthorized", @@ -511,6 +519,8 @@ func TestSettingsTestEmail(t *testing.T) { } func TestGenerateAppleClientSecret(t *testing.T) { + t.Parallel() + key, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) if err != nil { t.Fatal(err) diff --git a/cmd/admin_test.go b/cmd/admin_test.go index c3fbbd70..7e2dd6c9 100644 --- a/cmd/admin_test.go +++ b/cmd/admin_test.go @@ -8,6 +8,8 @@ import ( ) func TestAdminCreateCommand(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/admin_test.go b/daos/admin_test.go index d49f5972..89ab8e8b 100644 --- a/daos/admin_test.go +++ b/daos/admin_test.go @@ -8,6 +8,8 @@ import ( ) func TestAdminQuery(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -20,6 +22,8 @@ func TestAdminQuery(t *testing.T) { } func TestFindAdminById(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -47,6 +51,8 @@ func TestFindAdminById(t *testing.T) { } func TestFindAdminByEmail(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -76,6 +82,8 @@ func TestFindAdminByEmail(t *testing.T) { } func TestFindAdminByToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -131,6 +139,8 @@ func TestFindAdminByToken(t *testing.T) { } func TestTotalAdmins(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -155,6 +165,8 @@ func TestTotalAdmins(t *testing.T) { } func TestIsAdminEmailUnique(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -180,6 +192,8 @@ func TestIsAdminEmailUnique(t *testing.T) { } func TestDeleteAdmin(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -225,6 +239,8 @@ func TestDeleteAdmin(t *testing.T) { } func TestSaveAdmin(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/base_retry_test.go b/daos/base_retry_test.go index ddf84162..72b80478 100644 --- a/daos/base_retry_test.go +++ b/daos/base_retry_test.go @@ -6,6 +6,8 @@ import ( ) func TestGetDefaultRetryInterval(t *testing.T) { + t.Parallel() + if i := getDefaultRetryInterval(-1); i.Milliseconds() != 1000 { t.Fatalf("Expected 1000ms, got %v", i) } @@ -20,6 +22,8 @@ func TestGetDefaultRetryInterval(t *testing.T) { } func TestBaseLockRetry(t *testing.T) { + t.Parallel() + scenarios := []struct { err error failUntilAttempt int diff --git a/daos/collection_test.go b/daos/collection_test.go index 66774363..ec5a9494 100644 --- a/daos/collection_test.go +++ b/daos/collection_test.go @@ -16,6 +16,8 @@ import ( ) func TestCollectionQuery(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -28,6 +30,8 @@ func TestCollectionQuery(t *testing.T) { } func TestFindCollectionsByType(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -63,6 +67,8 @@ func TestFindCollectionsByType(t *testing.T) { } func TestFindCollectionByNameOrId(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -92,6 +98,8 @@ func TestFindCollectionByNameOrId(t *testing.T) { } func TestIsCollectionNameUnique(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -116,6 +124,8 @@ func TestIsCollectionNameUnique(t *testing.T) { } func TestFindCollectionReferences(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -164,6 +174,8 @@ func TestFindCollectionReferences(t *testing.T) { } func TestDeleteCollection(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -251,6 +263,8 @@ func TestDeleteCollection(t *testing.T) { } func TestSaveCollectionCreate(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -297,6 +311,8 @@ func TestSaveCollectionCreate(t *testing.T) { } func TestSaveCollectionUpdate(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -336,6 +352,8 @@ func TestSaveCollectionUpdate(t *testing.T) { // indirect update of a field used in view should cause view(s) update func TestSaveCollectionIndirectViewsUpdate(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -395,6 +413,8 @@ func TestSaveCollectionIndirectViewsUpdate(t *testing.T) { } func TestSaveCollectionViewWrapping(t *testing.T) { + t.Parallel() + viewName := "test_wrapping" scenarios := []struct { @@ -504,6 +524,8 @@ func TestSaveCollectionViewWrapping(t *testing.T) { } func TestImportCollections(t *testing.T) { + t.Parallel() + totalCollections := 11 scenarios := []struct { diff --git a/daos/external_auth_test.go b/daos/external_auth_test.go index 78701b98..17e55aeb 100644 --- a/daos/external_auth_test.go +++ b/daos/external_auth_test.go @@ -9,6 +9,8 @@ import ( ) func TestExternalAuthQuery(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -21,6 +23,8 @@ func TestExternalAuthQuery(t *testing.T) { } func TestFindAllExternalAuthsByRecord(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -58,6 +62,8 @@ func TestFindAllExternalAuthsByRecord(t *testing.T) { } func TestFindFirstExternalAuthByExpr(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -89,6 +95,8 @@ func TestFindFirstExternalAuthByExpr(t *testing.T) { } func TestFindExternalAuthByRecordAndProvider(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -125,6 +133,8 @@ func TestFindExternalAuthByRecordAndProvider(t *testing.T) { } func TestSaveExternalAuth(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -161,6 +171,8 @@ func TestSaveExternalAuth(t *testing.T) { } func TestDeleteExternalAuth(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/log_test.go b/daos/log_test.go index b31f8a43..5fc9549d 100644 --- a/daos/log_test.go +++ b/daos/log_test.go @@ -12,6 +12,8 @@ import ( ) func TestLogQuery(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -24,6 +26,8 @@ func TestLogQuery(t *testing.T) { } func TestFindLogById(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -54,6 +58,8 @@ func TestFindLogById(t *testing.T) { } func TestLogsStats(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -75,6 +81,8 @@ func TestLogsStats(t *testing.T) { } func TestDeleteOldLogs(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -115,6 +123,8 @@ func TestDeleteOldLogs(t *testing.T) { } func TestSaveLog(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/param_test.go b/daos/param_test.go index b3646085..ef1b8144 100644 --- a/daos/param_test.go +++ b/daos/param_test.go @@ -11,6 +11,8 @@ import ( ) func TestParamQuery(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -23,6 +25,8 @@ func TestParamQuery(t *testing.T) { } func TestFindParamByKey(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -50,6 +54,8 @@ func TestFindParamByKey(t *testing.T) { } func TestSaveParam(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -92,6 +98,8 @@ func TestSaveParam(t *testing.T) { } func TestSaveParamEncrypted(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -126,6 +134,8 @@ func TestSaveParamEncrypted(t *testing.T) { } func TestDeleteParam(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/record.go b/daos/record.go index 9b6b55df..f16fe03f 100644 --- a/daos/record.go +++ b/daos/record.go @@ -5,6 +5,7 @@ import ( "database/sql" "errors" "fmt" + "sort" "strings" "github.com/pocketbase/dbx" @@ -660,9 +661,23 @@ func (dao *Dao) DeleteRecord(record *models.Record) error { func (dao *Dao) cascadeRecordDelete(mainRecord *models.Record, refs map[*models.Collection][]*schema.SchemaField) error { uniqueJsonEachAlias := "__je__" + security.PseudorandomString(4) - for refCollection, fields := range refs { - if refCollection.IsView() { - continue // skip view collections + // @todo consider changing refs to a slice + // + // Sort the refs keys to ensure that the cascade events firing order is always the same. + // This is not necessary for the operation to function correctly but it helps having deterministic output during testing. + sortedRefKeys := make([]*models.Collection, 0, len(refs)) + for k := range refs { + sortedRefKeys = append(sortedRefKeys, k) + } + sort.Slice(sortedRefKeys, func(i, j int) bool { + return sortedRefKeys[i].Name < sortedRefKeys[j].Name + }) + + for _, refCollection := range sortedRefKeys { + fields, ok := refs[refCollection] + + if refCollection.IsView() || !ok { + continue // skip missing or view collections } for _, field := range fields { diff --git a/daos/record_expand_test.go b/daos/record_expand_test.go index 5439754f..027831bb 100644 --- a/daos/record_expand_test.go +++ b/daos/record_expand_test.go @@ -14,6 +14,8 @@ import ( ) func TestExpandRecords(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -222,6 +224,8 @@ func TestExpandRecords(t *testing.T) { } func TestExpandRecord(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -372,6 +376,8 @@ func TestExpandRecord(t *testing.T) { } func TestIndirectExpandSingeVsArrayResult(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/record_table_sync_test.go b/daos/record_table_sync_test.go index 2912bdd3..90684e36 100644 --- a/daos/record_table_sync_test.go +++ b/daos/record_table_sync_test.go @@ -14,6 +14,8 @@ import ( ) func TestSyncRecordTableSchema(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -132,6 +134,8 @@ func TestSyncRecordTableSchema(t *testing.T) { } func TestSingleVsMultipleValuesNormalization(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/record_test.go b/daos/record_test.go index 3f5e8cc4..335352a8 100644 --- a/daos/record_test.go +++ b/daos/record_test.go @@ -19,6 +19,8 @@ import ( ) func TestRecordQueryWithDifferentCollectionValues(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -58,6 +60,8 @@ func TestRecordQueryWithDifferentCollectionValues(t *testing.T) { } func TestRecordQueryOneWithRecord(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -82,6 +86,8 @@ func TestRecordQueryOneWithRecord(t *testing.T) { } func TestRecordQueryAllWithRecordsSlices(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -143,6 +149,8 @@ func TestRecordQueryAllWithRecordsSlices(t *testing.T) { } func TestFindRecordById(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -203,6 +211,8 @@ func TestFindRecordById(t *testing.T) { } func TestFindRecordsByIds(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -294,6 +304,8 @@ func TestFindRecordsByIds(t *testing.T) { } func TestFindRecordsByExpr(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -364,6 +376,8 @@ func TestFindRecordsByExpr(t *testing.T) { } func TestFindFirstRecordByData(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -427,6 +441,8 @@ func TestFindFirstRecordByData(t *testing.T) { } func TestFindRecordsByFilter(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -566,6 +582,8 @@ func TestFindRecordsByFilter(t *testing.T) { } func TestFindFirstRecordByFilter(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -647,6 +665,8 @@ func TestFindFirstRecordByFilter(t *testing.T) { } func TestCanAccessRecord(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -814,6 +834,8 @@ func TestCanAccessRecord(t *testing.T) { } func TestIsRecordValueUnique(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -863,6 +885,8 @@ func TestIsRecordValueUnique(t *testing.T) { } func TestFindAuthRecordByToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -925,6 +949,8 @@ func TestFindAuthRecordByToken(t *testing.T) { } func TestFindAuthRecordByEmail(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -956,6 +982,8 @@ func TestFindAuthRecordByEmail(t *testing.T) { } func TestFindAuthRecordByUsername(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -988,6 +1016,8 @@ func TestFindAuthRecordByUsername(t *testing.T) { } func TestSuggestUniqueAuthRecordUsername(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -1025,6 +1055,8 @@ func TestSuggestUniqueAuthRecordUsername(t *testing.T) { } func TestSaveRecord(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -1058,6 +1090,8 @@ func TestSaveRecord(t *testing.T) { } func TestSaveRecordWithIdFromOtherCollection(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -1090,6 +1124,8 @@ func TestSaveRecordWithIdFromOtherCollection(t *testing.T) { } func TestDeleteRecord(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -1167,6 +1203,8 @@ func TestDeleteRecord(t *testing.T) { } func TestDeleteRecordBatchProcessing(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/settings_test.go b/daos/settings_test.go index 3791f42b..9ae52449 100644 --- a/daos/settings_test.go +++ b/daos/settings_test.go @@ -8,6 +8,8 @@ import ( ) func TestSaveAndFindSettings(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/table_test.go b/daos/table_test.go index 943b693c..8e7d9980 100644 --- a/daos/table_test.go +++ b/daos/table_test.go @@ -12,6 +12,8 @@ import ( ) func TestHasTable(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -36,6 +38,8 @@ func TestHasTable(t *testing.T) { } func TestTableColumns(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -64,6 +68,8 @@ func TestTableColumns(t *testing.T) { } func TestTableInfo(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -92,6 +98,8 @@ func TestTableInfo(t *testing.T) { } func TestDeleteTable(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -116,6 +124,8 @@ func TestDeleteTable(t *testing.T) { } func TestVacuum(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -141,6 +151,8 @@ func TestVacuum(t *testing.T) { } func TestTableIndexes(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/daos/view_test.go b/daos/view_test.go index 5c797d84..a84a00a9 100644 --- a/daos/view_test.go +++ b/daos/view_test.go @@ -33,6 +33,8 @@ func ensureNoTempViews(app core.App, t *testing.T) { } func TestDeleteView(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -60,6 +62,8 @@ func TestDeleteView(t *testing.T) { } func TestSaveView(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -180,6 +184,8 @@ func TestSaveView(t *testing.T) { } func TestCreateViewSchemaWithDiscardedNestedTransaction(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -196,6 +202,8 @@ func TestCreateViewSchemaWithDiscardedNestedTransaction(t *testing.T) { } func TestCreateViewSchema(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -486,6 +494,8 @@ func TestCreateViewSchema(t *testing.T) { } func TestFindRecordByViewFile(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/admin_login_test.go b/forms/admin_login_test.go index 6ff59137..3fa4580f 100644 --- a/forms/admin_login_test.go +++ b/forms/admin_login_test.go @@ -10,6 +10,8 @@ import ( ) func TestAdminLoginValidateAndSubmit(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -51,6 +53,8 @@ func TestAdminLoginValidateAndSubmit(t *testing.T) { } func TestAdminLoginInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/admin_password_reset_confirm_test.go b/forms/admin_password_reset_confirm_test.go index 546b8e7c..583fce65 100644 --- a/forms/admin_password_reset_confirm_test.go +++ b/forms/admin_password_reset_confirm_test.go @@ -11,6 +11,8 @@ import ( ) func TestAdminPasswordResetConfirmValidateAndSubmit(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -99,6 +101,8 @@ func TestAdminPasswordResetConfirmValidateAndSubmit(t *testing.T) { } func TestAdminPasswordResetConfirmInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/admin_password_reset_request_test.go b/forms/admin_password_reset_request_test.go index 79f304b5..6d69ccc3 100644 --- a/forms/admin_password_reset_request_test.go +++ b/forms/admin_password_reset_request_test.go @@ -10,6 +10,8 @@ import ( ) func TestAdminPasswordResetRequestValidateAndSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -74,6 +76,8 @@ func TestAdminPasswordResetRequestValidateAndSubmit(t *testing.T) { } func TestAdminPasswordResetRequestInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/admin_upsert_test.go b/forms/admin_upsert_test.go index 14657360..bb502842 100644 --- a/forms/admin_upsert_test.go +++ b/forms/admin_upsert_test.go @@ -12,6 +12,8 @@ import ( ) func TestNewAdminUpsert(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -31,6 +33,8 @@ func TestNewAdminUpsert(t *testing.T) { } func TestAdminUpsertValidateAndSubmit(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -183,6 +187,8 @@ func TestAdminUpsertValidateAndSubmit(t *testing.T) { } func TestAdminUpsertSubmitInterceptors(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -231,6 +237,8 @@ func TestAdminUpsertSubmitInterceptors(t *testing.T) { } func TestAdminUpsertWithCustomId(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/apple_client_secret_create_test.go b/forms/apple_client_secret_create_test.go index b20ce636..7bf552d2 100644 --- a/forms/apple_client_secret_create_test.go +++ b/forms/apple_client_secret_create_test.go @@ -15,6 +15,8 @@ import ( ) func TestAppleClientSecretCreateValidateAndSubmit(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/backup_create_test.go b/forms/backup_create_test.go index 4aafbde9..82112ca4 100644 --- a/forms/backup_create_test.go +++ b/forms/backup_create_test.go @@ -10,6 +10,8 @@ import ( ) func TestBackupCreateValidateAndSubmit(t *testing.T) { + t.Parallel() + scenarios := []struct { name string backupName string diff --git a/forms/backup_upload_test.go b/forms/backup_upload_test.go index 8284c668..f92ceada 100644 --- a/forms/backup_upload_test.go +++ b/forms/backup_upload_test.go @@ -12,6 +12,8 @@ import ( ) func TestBackupUploadValidateAndSubmit(t *testing.T) { + t.Parallel() + var zb bytes.Buffer zw := zip.NewWriter(&zb) if err := zw.Close(); err != nil { diff --git a/forms/collection_upsert_test.go b/forms/collection_upsert_test.go index e9f6a9ae..cdcd5388 100644 --- a/forms/collection_upsert_test.go +++ b/forms/collection_upsert_test.go @@ -16,6 +16,8 @@ import ( ) func TestNewCollectionUpsert(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -88,6 +90,8 @@ func TestNewCollectionUpsert(t *testing.T) { } func TestCollectionUpsertValidateAndSubmit(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -654,6 +658,8 @@ func TestCollectionUpsertValidateAndSubmit(t *testing.T) { } func TestCollectionUpsertSubmitInterceptors(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -704,6 +710,8 @@ func TestCollectionUpsertSubmitInterceptors(t *testing.T) { } func TestCollectionUpsertWithCustomId(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/collections_import_test.go b/forms/collections_import_test.go index 61a0fd6d..33d15ab8 100644 --- a/forms/collections_import_test.go +++ b/forms/collections_import_test.go @@ -11,6 +11,8 @@ import ( ) func TestCollectionsImportValidate(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -38,6 +40,8 @@ func TestCollectionsImportValidate(t *testing.T) { } func TestCollectionsImportSubmit(t *testing.T) { + t.Parallel() + totalCollections := 11 scenarios := []struct { @@ -461,6 +465,8 @@ func TestCollectionsImportSubmit(t *testing.T) { } func TestCollectionsImportSubmitInterceptors(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/realtime_subscribe_test.go b/forms/realtime_subscribe_test.go index d1df830b..d4f8b1e7 100644 --- a/forms/realtime_subscribe_test.go +++ b/forms/realtime_subscribe_test.go @@ -8,6 +8,8 @@ import ( ) func TestRealtimeSubscribeValidate(t *testing.T) { + t.Parallel() + scenarios := []struct { clientId string expectError bool diff --git a/forms/record_email_change_confirm_test.go b/forms/record_email_change_confirm_test.go index e64b89c0..90ca6f86 100644 --- a/forms/record_email_change_confirm_test.go +++ b/forms/record_email_change_confirm_test.go @@ -13,6 +13,8 @@ import ( ) func TestRecordEmailChangeConfirmValidateAndSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -145,6 +147,8 @@ func TestRecordEmailChangeConfirmValidateAndSubmit(t *testing.T) { } func TestRecordEmailChangeConfirmInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/record_email_change_request_test.go b/forms/record_email_change_request_test.go index 4b19b503..c6e8e9d3 100644 --- a/forms/record_email_change_request_test.go +++ b/forms/record_email_change_request_test.go @@ -12,6 +12,8 @@ import ( ) func TestRecordEmailChangeRequestValidateAndSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -106,6 +108,8 @@ func TestRecordEmailChangeRequestValidateAndSubmit(t *testing.T) { } func TestRecordEmailChangeRequestInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/record_oauth2_login_test.go b/forms/record_oauth2_login_test.go index a1e2539f..5a4c0744 100644 --- a/forms/record_oauth2_login_test.go +++ b/forms/record_oauth2_login_test.go @@ -10,6 +10,8 @@ import ( ) func TestUserOauth2LoginValidate(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/record_password_login_test.go b/forms/record_password_login_test.go index a7d5a173..3892dc48 100644 --- a/forms/record_password_login_test.go +++ b/forms/record_password_login_test.go @@ -10,6 +10,8 @@ import ( ) func TestRecordPasswordLoginValidateAndSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -132,6 +134,8 @@ func TestRecordPasswordLoginValidateAndSubmit(t *testing.T) { } func TestRecordPasswordLoginInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/record_password_reset_confirm_test.go b/forms/record_password_reset_confirm_test.go index 2012e346..18fb7a6d 100644 --- a/forms/record_password_reset_confirm_test.go +++ b/forms/record_password_reset_confirm_test.go @@ -13,6 +13,8 @@ import ( ) func TestRecordPasswordResetConfirmValidateAndSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -136,6 +138,8 @@ func TestRecordPasswordResetConfirmValidateAndSubmit(t *testing.T) { } func TestRecordPasswordResetConfirmInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/record_password_reset_request_test.go b/forms/record_password_reset_request_test.go index 1755282e..2dc52052 100644 --- a/forms/record_password_reset_request_test.go +++ b/forms/record_password_reset_request_test.go @@ -13,6 +13,8 @@ import ( ) func TestRecordPasswordResetRequestSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -116,6 +118,8 @@ func TestRecordPasswordResetRequestSubmit(t *testing.T) { } func TestRecordPasswordResetRequestInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/record_verification_confirm_test.go b/forms/record_verification_confirm_test.go index 487b9b35..ba4dcf38 100644 --- a/forms/record_verification_confirm_test.go +++ b/forms/record_verification_confirm_test.go @@ -12,6 +12,8 @@ import ( ) func TestRecordVerificationConfirmValidateAndSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -98,6 +100,8 @@ func TestRecordVerificationConfirmValidateAndSubmit(t *testing.T) { } func TestRecordVerificationConfirmInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/record_verification_request_test.go b/forms/record_verification_request_test.go index 598ebbd6..03b48372 100644 --- a/forms/record_verification_request_test.go +++ b/forms/record_verification_request_test.go @@ -13,6 +13,8 @@ import ( ) func TestRecordVerificationRequestSubmit(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -134,6 +136,8 @@ func TestRecordVerificationRequestSubmit(t *testing.T) { } func TestRecordVerificationRequestInterceptors(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/forms/settings_upsert_test.go b/forms/settings_upsert_test.go index 53041ffa..fee6fbcf 100644 --- a/forms/settings_upsert_test.go +++ b/forms/settings_upsert_test.go @@ -14,6 +14,8 @@ import ( ) func TestNewSettingsUpsert(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -30,6 +32,8 @@ func TestNewSettingsUpsert(t *testing.T) { } func TestSettingsUpsertValidateAndSubmit(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -127,6 +131,8 @@ func TestSettingsUpsertValidateAndSubmit(t *testing.T) { } func TestSettingsUpsertSubmitInterceptors(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/test_email_send_test.go b/forms/test_email_send_test.go index 5d0b7bc2..4bae5ee3 100644 --- a/forms/test_email_send_test.go +++ b/forms/test_email_send_test.go @@ -10,6 +10,8 @@ import ( ) func TestEmailSendValidateAndSubmit(t *testing.T) { + t.Parallel() + scenarios := []struct { template string email string diff --git a/forms/test_s3_filesystem_test.go b/forms/test_s3_filesystem_test.go index 79091db4..71453705 100644 --- a/forms/test_s3_filesystem_test.go +++ b/forms/test_s3_filesystem_test.go @@ -9,6 +9,8 @@ import ( ) func TestS3FilesystemValidate(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -66,6 +68,8 @@ func TestS3FilesystemValidate(t *testing.T) { } func TestS3FilesystemSubmitFailure(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/validators/file_test.go b/forms/validators/file_test.go index 6dd440a4..07b5ec98 100644 --- a/forms/validators/file_test.go +++ b/forms/validators/file_test.go @@ -12,6 +12,8 @@ import ( ) func TestUploadedFileSize(t *testing.T) { + t.Parallel() + data, mp, err := tests.MockMultipartData(nil, "test") if err != nil { t.Fatal(err) @@ -52,6 +54,8 @@ func TestUploadedFileSize(t *testing.T) { } func TestUploadedFileMimeType(t *testing.T) { + t.Parallel() + data, mp, err := tests.MockMultipartData(nil, "test") if err != nil { t.Fatal(err) diff --git a/forms/validators/model_test.go b/forms/validators/model_test.go index 45b486d5..f2759ebe 100644 --- a/forms/validators/model_test.go +++ b/forms/validators/model_test.go @@ -8,6 +8,8 @@ import ( ) func TestUniqueId(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/validators/record_data_test.go b/forms/validators/record_data_test.go index 3f563af1..9dc58692 100644 --- a/forms/validators/record_data_test.go +++ b/forms/validators/record_data_test.go @@ -45,6 +45,8 @@ func TestRecordDataValidatorEmptyAndUnknown(t *testing.T) { } func TestRecordDataValidatorValidateText(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/forms/validators/string_test.go b/forms/validators/string_test.go index e9a0c6a0..b7ea2ff3 100644 --- a/forms/validators/string_test.go +++ b/forms/validators/string_test.go @@ -7,6 +7,8 @@ import ( ) func TestCompare(t *testing.T) { + t.Parallel() + scenarios := []struct { valA string valB string diff --git a/mails/admin_test.go b/mails/admin_test.go index 32bb6fe7..1bfdb3de 100644 --- a/mails/admin_test.go +++ b/mails/admin_test.go @@ -9,6 +9,8 @@ import ( ) func TestSendAdminPasswordReset(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/mails/record_test.go b/mails/record_test.go index f885d1f2..00d9cbc1 100644 --- a/mails/record_test.go +++ b/mails/record_test.go @@ -9,6 +9,8 @@ import ( ) func TestSendRecordPasswordReset(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -37,6 +39,8 @@ func TestSendRecordPasswordReset(t *testing.T) { } func TestSendRecordVerification(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() @@ -62,6 +66,8 @@ func TestSendRecordVerification(t *testing.T) { } func TestSendRecordChangeEmail(t *testing.T) { + t.Parallel() + testApp, _ := tests.NewTestApp() defer testApp.Cleanup() diff --git a/models/admin_test.go b/models/admin_test.go index 261135dd..6730d229 100644 --- a/models/admin_test.go +++ b/models/admin_test.go @@ -8,6 +8,8 @@ import ( ) func TestAdminTableName(t *testing.T) { + t.Parallel() + m := models.Admin{} if m.TableName() != "_admins" { t.Fatalf("Unexpected table name, got %q", m.TableName()) @@ -15,6 +17,8 @@ func TestAdminTableName(t *testing.T) { } func TestAdminValidatePassword(t *testing.T) { + t.Parallel() + scenarios := []struct { admin models.Admin password string @@ -61,6 +65,8 @@ func TestAdminValidatePassword(t *testing.T) { } func TestAdminSetPassword(t *testing.T) { + t.Parallel() + m := models.Admin{ // 123456 PasswordHash: "$2a$10$SKk/Y/Yc925PBtsSYBvq3Ous9Jy18m4KTn6b/PQQ.Y9QVjy3o/Fv.", @@ -93,6 +99,8 @@ func TestAdminSetPassword(t *testing.T) { } func TestAdminRefreshTokenKey(t *testing.T) { + t.Parallel() + m := models.Admin{TokenKey: "test"} m.RefreshTokenKey() diff --git a/models/base_test.go b/models/base_test.go index 764c26d2..434887f3 100644 --- a/models/base_test.go +++ b/models/base_test.go @@ -7,6 +7,8 @@ import ( ) func TestBaseModelHasId(t *testing.T) { + t.Parallel() + scenarios := []struct { model models.BaseModel expected bool @@ -34,6 +36,8 @@ func TestBaseModelHasId(t *testing.T) { } func TestBaseModelId(t *testing.T) { + t.Parallel() + m := models.BaseModel{} if m.GetId() != "" { @@ -54,6 +58,8 @@ func TestBaseModelId(t *testing.T) { } func TestBaseModelIsNew(t *testing.T) { + t.Parallel() + m0 := models.BaseModel{} m1 := models.BaseModel{Id: ""} m2 := models.BaseModel{Id: "test"} @@ -96,6 +102,8 @@ func TestBaseModelIsNew(t *testing.T) { } func TestBaseModelCreated(t *testing.T) { + t.Parallel() + m := models.BaseModel{} if !m.GetCreated().IsZero() { @@ -110,6 +118,8 @@ func TestBaseModelCreated(t *testing.T) { } func TestBaseModelUpdated(t *testing.T) { + t.Parallel() + m := models.BaseModel{} if !m.GetUpdated().IsZero() { diff --git a/models/collection_test.go b/models/collection_test.go index 5e64f139..ab8c0525 100644 --- a/models/collection_test.go +++ b/models/collection_test.go @@ -11,6 +11,8 @@ import ( ) func TestCollectionTableName(t *testing.T) { + t.Parallel() + m := models.Collection{} if m.TableName() != "_collections" { t.Fatalf("Unexpected table name, got %q", m.TableName()) @@ -18,6 +20,8 @@ func TestCollectionTableName(t *testing.T) { } func TestCollectionBaseFilesPath(t *testing.T) { + t.Parallel() + m := models.Collection{} m.RefreshId() @@ -29,6 +33,8 @@ func TestCollectionBaseFilesPath(t *testing.T) { } func TestCollectionIsBase(t *testing.T) { + t.Parallel() + scenarios := []struct { collection models.Collection expected bool @@ -48,6 +54,8 @@ func TestCollectionIsBase(t *testing.T) { } func TestCollectionIsAuth(t *testing.T) { + t.Parallel() + scenarios := []struct { collection models.Collection expected bool @@ -67,6 +75,8 @@ func TestCollectionIsAuth(t *testing.T) { } func TestCollectionMarshalJSON(t *testing.T) { + t.Parallel() + scenarios := []struct { name string collection models.Collection @@ -109,6 +119,8 @@ func TestCollectionMarshalJSON(t *testing.T) { } func TestCollectionBaseOptions(t *testing.T) { + t.Parallel() + scenarios := []struct { name string collection models.Collection @@ -153,6 +165,8 @@ func TestCollectionBaseOptions(t *testing.T) { } func TestCollectionAuthOptions(t *testing.T) { + t.Parallel() + options := types.JsonMap{"test": 123, "minPasswordLength": 4} expectedSerialization := `{"manageRule":null,"allowOAuth2Auth":false,"allowUsernameAuth":false,"allowEmailAuth":false,"requireEmail":false,"exceptEmailDomains":null,"onlyVerified":false,"onlyEmailDomains":null,"minPasswordLength":4}` @@ -200,6 +214,8 @@ func TestCollectionAuthOptions(t *testing.T) { } func TestCollectionViewOptions(t *testing.T) { + t.Parallel() + options := types.JsonMap{"query": "select id from demo1", "minPasswordLength": 4} expectedSerialization := `{"query":"select id from demo1"}` @@ -247,6 +263,8 @@ func TestCollectionViewOptions(t *testing.T) { } func TestNormalizeOptions(t *testing.T) { + t.Parallel() + scenarios := []struct { name string collection models.Collection @@ -288,6 +306,8 @@ func TestNormalizeOptions(t *testing.T) { } func TestDecodeOptions(t *testing.T) { + t.Parallel() + m := models.Collection{ Options: types.JsonMap{"test": 123}, } @@ -306,6 +326,8 @@ func TestDecodeOptions(t *testing.T) { } func TestSetOptions(t *testing.T) { + t.Parallel() + scenarios := []struct { name string collection models.Collection @@ -357,6 +379,8 @@ func TestSetOptions(t *testing.T) { } func TestCollectionBaseOptionsValidate(t *testing.T) { + t.Parallel() + opt := models.CollectionBaseOptions{} if err := opt.Validate(); err != nil { t.Fatal(err) @@ -364,6 +388,8 @@ func TestCollectionBaseOptionsValidate(t *testing.T) { } func TestCollectionAuthOptionsValidate(t *testing.T) { + t.Parallel() + scenarios := []struct { name string options models.CollectionAuthOptions @@ -451,6 +477,8 @@ func TestCollectionAuthOptionsValidate(t *testing.T) { } func TestCollectionViewOptionsValidate(t *testing.T) { + t.Parallel() + scenarios := []struct { name string options models.CollectionViewOptions diff --git a/models/external_auth_test.go b/models/external_auth_test.go index 26c53b06..7688daa2 100644 --- a/models/external_auth_test.go +++ b/models/external_auth_test.go @@ -7,6 +7,8 @@ import ( ) func TestExternalAuthTableName(t *testing.T) { + t.Parallel() + m := models.ExternalAuth{} if m.TableName() != "_externalAuths" { t.Fatalf("Unexpected table name, got %q", m.TableName()) diff --git a/models/param_test.go b/models/param_test.go index 42291551..0ea03c64 100644 --- a/models/param_test.go +++ b/models/param_test.go @@ -7,6 +7,8 @@ import ( ) func TestParamTableName(t *testing.T) { + t.Parallel() + m := models.Param{} if m.TableName() != "_params" { t.Fatalf("Unexpected table name, got %q", m.TableName()) diff --git a/models/record_test.go b/models/record_test.go index ec620dc1..0bc04cf6 100644 --- a/models/record_test.go +++ b/models/record_test.go @@ -15,6 +15,8 @@ import ( ) func TestNewRecord(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Name: "test_collection", Schema: schema.NewSchema( @@ -37,6 +39,8 @@ func TestNewRecord(t *testing.T) { } func TestNewRecordFromNullStringMap(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Name: "test", Schema: schema.NewSchema( @@ -200,6 +204,8 @@ func TestNewRecordFromNullStringMap(t *testing.T) { } func TestNewRecordsFromNullStringMaps(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Name: "test", Schema: schema.NewSchema( @@ -310,6 +316,8 @@ func TestNewRecordsFromNullStringMaps(t *testing.T) { } func TestRecordTableName(t *testing.T) { + t.Parallel() + collection := &models.Collection{} collection.Name = "test" collection.RefreshId() @@ -322,6 +330,8 @@ func TestRecordTableName(t *testing.T) { } func TestRecordCollection(t *testing.T) { + t.Parallel() + collection := &models.Collection{} collection.RefreshId() @@ -333,6 +343,8 @@ func TestRecordCollection(t *testing.T) { } func TestRecordOriginalCopy(t *testing.T) { + t.Parallel() + m := models.NewRecord(&models.Collection{}) m.Load(map[string]any{"f": "123"}) @@ -360,6 +372,8 @@ func TestRecordOriginalCopy(t *testing.T) { } func TestRecordCleanCopy(t *testing.T) { + t.Parallel() + m := models.NewRecord(&models.Collection{ Name: "cname", Type: models.CollectionTypeAuth, @@ -392,6 +406,8 @@ func TestRecordCleanCopy(t *testing.T) { } func TestRecordSetAndGetExpand(t *testing.T) { + t.Parallel() + collection := &models.Collection{} m := models.NewRecord(collection) @@ -409,6 +425,8 @@ func TestRecordSetAndGetExpand(t *testing.T) { } func TestRecordMergeExpand(t *testing.T) { + t.Parallel() + collection := &models.Collection{} m := models.NewRecord(collection) m.Id = "m" @@ -501,6 +519,8 @@ func TestRecordMergeExpand(t *testing.T) { } func TestRecordMergeExpandNilCheck(t *testing.T) { + t.Parallel() + collection := &models.Collection{} scenarios := []struct { @@ -542,6 +562,8 @@ func TestRecordMergeExpandNilCheck(t *testing.T) { } func TestRecordExpandedRel(t *testing.T) { + t.Parallel() + collection := &models.Collection{} main := models.NewRecord(collection) @@ -574,6 +596,8 @@ func TestRecordExpandedRel(t *testing.T) { } func TestRecordExpandedAll(t *testing.T) { + t.Parallel() + collection := &models.Collection{} main := models.NewRecord(collection) @@ -606,6 +630,8 @@ func TestRecordExpandedAll(t *testing.T) { } func TestRecordSchemaData(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Type: models.CollectionTypeAuth, Schema: schema.NewSchema( @@ -639,6 +665,8 @@ func TestRecordSchemaData(t *testing.T) { } func TestRecordUnknownData(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -719,6 +747,8 @@ func TestRecordUnknownData(t *testing.T) { } func TestRecordSetAndGet(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -799,6 +829,8 @@ func TestRecordSetAndGet(t *testing.T) { } func TestRecordGetBool(t *testing.T) { + t.Parallel() + scenarios := []struct { value any expected bool @@ -830,6 +862,8 @@ func TestRecordGetBool(t *testing.T) { } func TestRecordGetString(t *testing.T) { + t.Parallel() + scenarios := []struct { value any expected string @@ -860,6 +894,8 @@ func TestRecordGetString(t *testing.T) { } func TestRecordGetInt(t *testing.T) { + t.Parallel() + scenarios := []struct { value any expected int @@ -892,6 +928,8 @@ func TestRecordGetInt(t *testing.T) { } func TestRecordGetFloat(t *testing.T) { + t.Parallel() + scenarios := []struct { value any expected float64 @@ -924,6 +962,8 @@ func TestRecordGetFloat(t *testing.T) { } func TestRecordGetTime(t *testing.T) { + t.Parallel() + nowTime := time.Now() testTime, _ := time.Parse(types.DefaultDateLayout, "2022-01-01 08:00:40.000Z") @@ -957,6 +997,8 @@ func TestRecordGetTime(t *testing.T) { } func TestRecordGetDateTime(t *testing.T) { + t.Parallel() + nowTime := time.Now() testTime, _ := time.Parse(types.DefaultDateLayout, "2022-01-01 08:00:40.000Z") @@ -990,6 +1032,8 @@ func TestRecordGetDateTime(t *testing.T) { } func TestRecordGetStringSlice(t *testing.T) { + t.Parallel() + nowTime := time.Now() scenarios := []struct { @@ -1031,6 +1075,8 @@ func TestRecordGetStringSlice(t *testing.T) { } func TestRecordUnmarshalJSONField(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema(&schema.SchemaField{ Name: "field", @@ -1086,6 +1132,8 @@ func TestRecordUnmarshalJSONField(t *testing.T) { } func TestRecordBaseFilesPath(t *testing.T) { + t.Parallel() + collection := &models.Collection{} collection.RefreshId() collection.Name = "test" @@ -1102,6 +1150,8 @@ func TestRecordBaseFilesPath(t *testing.T) { } func TestRecordFindFileFieldByFile(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -1159,6 +1209,8 @@ func TestRecordFindFileFieldByFile(t *testing.T) { } func TestRecordLoadAndData(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -1232,6 +1284,8 @@ func TestRecordLoadAndData(t *testing.T) { } func TestRecordColumnValueMap(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -1319,6 +1373,8 @@ func TestRecordColumnValueMap(t *testing.T) { } func TestRecordPublicExportAndMarshalJSON(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Name: "c_name", Schema: schema.NewSchema( @@ -1463,6 +1519,8 @@ func TestRecordPublicExportAndMarshalJSON(t *testing.T) { } func TestRecordUnmarshalJSON(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -1551,6 +1609,8 @@ func TestRecordUnmarshalJSON(t *testing.T) { } func TestRecordReplaceModifers(t *testing.T) { + t.Parallel() + collection := &models.Collection{ Schema: schema.NewSchema( &schema.SchemaField{ @@ -1658,6 +1718,8 @@ func TestRecordReplaceModifers(t *testing.T) { // ------------------------------------------------------------------- func TestRecordUsername(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string expectError bool @@ -1699,6 +1761,8 @@ func TestRecordUsername(t *testing.T) { } func TestRecordEmail(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string expectError bool @@ -1740,6 +1804,8 @@ func TestRecordEmail(t *testing.T) { } func TestRecordEmailVisibility(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string value bool @@ -1782,6 +1848,8 @@ func TestRecordEmailVisibility(t *testing.T) { } func TestRecordEmailVerified(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string value bool @@ -1824,6 +1892,8 @@ func TestRecordEmailVerified(t *testing.T) { } func TestRecordTokenKey(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string expectError bool @@ -1865,6 +1935,8 @@ func TestRecordTokenKey(t *testing.T) { } func TestRecordRefreshTokenKey(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string expectError bool @@ -1904,6 +1976,8 @@ func TestRecordRefreshTokenKey(t *testing.T) { } func TestRecordLastResetSentAt(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string expectError bool @@ -1948,6 +2022,8 @@ func TestRecordLastResetSentAt(t *testing.T) { } func TestRecordLastVerificationSentAt(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string expectError bool @@ -1992,6 +2068,8 @@ func TestRecordLastVerificationSentAt(t *testing.T) { } func TestRecordPasswordHash(t *testing.T) { + t.Parallel() + m := models.NewRecord(&models.Collection{}) if v := m.PasswordHash(); v != "" { @@ -2006,6 +2084,8 @@ func TestRecordPasswordHash(t *testing.T) { } func TestRecordValidatePassword(t *testing.T) { + t.Parallel() + // 123456 hash := "$2a$10$YKU8mPP8sTE3xZrpuM.xQuq27KJ7aIJB2oUeKPsDDqZshbl5g5cDK" @@ -2034,6 +2114,8 @@ func TestRecordValidatePassword(t *testing.T) { } func TestRecordSetPassword(t *testing.T) { + t.Parallel() + scenarios := []struct { collectionType string password string diff --git a/models/request.go b/models/request.go index 483eb7d8..0b1784c0 100644 --- a/models/request.go +++ b/models/request.go @@ -11,6 +11,7 @@ const ( RequestAuthRecord = "authRecord" ) +// Deprecated: Replaced by the Log model and will be removed in a future version. type Request struct { BaseModel diff --git a/models/request_info_test.go b/models/request_info_test.go index bc5be1e5..157ddac1 100644 --- a/models/request_info_test.go +++ b/models/request_info_test.go @@ -7,6 +7,8 @@ import ( ) func TestRequestInfoHasModifierDataKeys(t *testing.T) { + t.Parallel() + scenarios := []struct { name string requestInfo *models.RequestInfo diff --git a/plugins/jsvm/internal/types/generated/types.d.ts b/plugins/jsvm/internal/types/generated/types.d.ts index 0c49ffa8..5ab1fcb7 100644 --- a/plugins/jsvm/internal/types/generated/types.d.ts +++ b/plugins/jsvm/internal/types/generated/types.d.ts @@ -1,4 +1,4 @@ -// 1703930721 +// 1704277858 // GENERATED CODE - DO NOT MODIFY BY HAND // ------------------------------------------------------------------- @@ -1642,8 +1642,8 @@ namespace os { * than ReadFrom. This is used to permit ReadFrom to call io.Copy * without leading to a recursive call to ReadFrom. */ - type _subYjLOW = File - interface fileWithoutReadFrom extends _subYjLOW { + type _subiozxI = File + interface fileWithoutReadFrom extends _subiozxI { } interface fileWithoutReadFrom { /** @@ -2300,8 +2300,8 @@ namespace os { /** * File represents an open file descriptor. */ - type _subtSaVX = file - interface File extends _subtSaVX { + type _subQjIBm = file + interface File extends _subQjIBm { } /** * A FileInfo describes a file and is returned by Stat and Lstat. @@ -2702,6 +2702,24 @@ namespace filepath { } } +/** + * Package validation provides configurable and extensible rules for validating data of various types. + */ +namespace ozzo_validation { + /** + * Error interface represents an validation error + */ + interface Error { + [key:string]: any; + error(): string + code(): string + message(): string + setMessage(_arg0: string): Error + params(): _TygojaDict + setParams(_arg0: _TygojaDict): Error + } +} + /** * Package exec runs external commands. It wraps os.StartProcess to make it * easier to remap stdin and stdout, connect I/O with pipes, and do other @@ -3164,14 +3182,14 @@ namespace dbx { /** * MssqlBuilder is the builder for SQL Server databases. */ - type _suboFUZU = BaseBuilder - interface MssqlBuilder extends _suboFUZU { + type _subNHgRn = BaseBuilder + interface MssqlBuilder extends _subNHgRn { } /** * MssqlQueryBuilder is the query builder for SQL Server databases. */ - type _subYbuBh = BaseQueryBuilder - interface MssqlQueryBuilder extends _subYbuBh { + type _subeexcy = BaseQueryBuilder + interface MssqlQueryBuilder extends _subeexcy { } interface newMssqlBuilder { /** @@ -3242,8 +3260,8 @@ namespace dbx { /** * MysqlBuilder is the builder for MySQL databases. */ - type _subvPrKv = BaseBuilder - interface MysqlBuilder extends _subvPrKv { + type _subWhpCv = BaseBuilder + interface MysqlBuilder extends _subWhpCv { } interface newMysqlBuilder { /** @@ -3318,14 +3336,14 @@ namespace dbx { /** * OciBuilder is the builder for Oracle databases. */ - type _subWRtKw = BaseBuilder - interface OciBuilder extends _subWRtKw { + type _subZsshe = BaseBuilder + interface OciBuilder extends _subZsshe { } /** * OciQueryBuilder is the query builder for Oracle databases. */ - type _subraQon = BaseQueryBuilder - interface OciQueryBuilder extends _subraQon { + type _subPwuCa = BaseQueryBuilder + interface OciQueryBuilder extends _subPwuCa { } interface newOciBuilder { /** @@ -3388,8 +3406,8 @@ namespace dbx { /** * PgsqlBuilder is the builder for PostgreSQL databases. */ - type _subGitsu = BaseBuilder - interface PgsqlBuilder extends _subGitsu { + type _subbaTZt = BaseBuilder + interface PgsqlBuilder extends _subbaTZt { } interface newPgsqlBuilder { /** @@ -3456,8 +3474,8 @@ namespace dbx { /** * SqliteBuilder is the builder for SQLite databases. */ - type _subAkzMV = BaseBuilder - interface SqliteBuilder extends _subAkzMV { + type _subgjjFU = BaseBuilder + interface SqliteBuilder extends _subgjjFU { } interface newSqliteBuilder { /** @@ -3556,8 +3574,8 @@ namespace dbx { /** * StandardBuilder is the builder that is used by DB for an unknown driver. */ - type _subVXnnR = BaseBuilder - interface StandardBuilder extends _subVXnnR { + type _subcvRMD = BaseBuilder + interface StandardBuilder extends _subcvRMD { } interface newStandardBuilder { /** @@ -3623,8 +3641,8 @@ namespace dbx { * DB enhances sql.DB by providing a set of DB-agnostic query building methods. * DB allows easier query building and population of data into Go variables. */ - type _subVTeid = Builder - interface DB extends _subVTeid { + type _subJxjTp = Builder + interface DB extends _subJxjTp { /** * FieldMapper maps struct fields to DB columns. Defaults to DefaultFieldMapFunc. */ @@ -4426,8 +4444,8 @@ namespace dbx { * Rows enhances sql.Rows by providing additional data query methods. * Rows can be obtained by calling Query.Rows(). It is mainly used to populate data row by row. */ - type _subEKZFX = sql.Rows - interface Rows extends _subEKZFX { + type _subbTMeG = sql.Rows + interface Rows extends _subbTMeG { } interface Rows { /** @@ -4784,8 +4802,8 @@ namespace dbx { }): string } interface structInfo { } - type _subhmZpb = structInfo - interface structValue extends _subhmZpb { + type _subIFGbD = structInfo + interface structValue extends _subIFGbD { } interface fieldInfo { } @@ -4824,8 +4842,8 @@ namespace dbx { /** * Tx enhances sql.Tx with additional querying methods. */ - type _subtcZcx = Builder - interface Tx extends _subtcZcx { + type _subMOUUk = Builder + interface Tx extends _subMOUUk { } interface Tx { /** @@ -5062,8 +5080,8 @@ namespace filesystem { */ open(): io.ReadSeekCloser } - type _subjSeau = bytes.Reader - interface bytesReadSeekCloser extends _subjSeau { + type _subhBAtf = bytes.Reader + interface bytesReadSeekCloser extends _subhBAtf { } interface bytesReadSeekCloser { /** @@ -5191,24 +5209,6 @@ namespace filesystem { } } -/** - * Package validation provides configurable and extensible rules for validating data of various types. - */ -namespace ozzo_validation { - /** - * Error interface represents an validation error - */ - interface Error { - [key:string]: any; - error(): string - code(): string - message(): string - setMessage(_arg0: string): Error - params(): _TygojaDict - setParams(_arg0: _TygojaDict): Error - } -} - /** * Package tokens implements various user and admin tokens generation methods. */ @@ -6211,8 +6211,8 @@ namespace forms { /** * SettingsUpsert is a [settings.Settings] upsert (create/update) form. */ - type _subpQXjl = settings.Settings - interface SettingsUpsert extends _subpQXjl { + type _subUxyQY = settings.Settings + interface SettingsUpsert extends _subUxyQY { } interface newSettingsUpsert { /** @@ -6301,111 +6301,6 @@ namespace forms { } } -/** - * Package template is a thin wrapper around the standard html/template - * and text/template packages that implements a convenient registry to - * load and cache templates on the fly concurrently. - * - * It was created to assist the JSVM plugin HTML rendering, but could be used in other Go code. - * - * Example: - * - * ``` - * registry := template.NewRegistry() - * - * html1, err := registry.LoadFiles( - * // the files set wil be parsed only once and then cached - * "layout.html", - * "content.html", - * ).Render(map[string]any{"name": "John"}) - * - * html2, err := registry.LoadFiles( - * // reuse the already parsed and cached files set - * "layout.html", - * "content.html", - * ).Render(map[string]any{"name": "Jane"}) - * ``` - */ -namespace template { - interface newRegistry { - /** - * NewRegistry creates and initializes a new templates registry with - * some defaults (eg. global "raw" template function for unescaped HTML). - * - * Use the Registry.Load* methods to load templates into the registry. - */ - (): (Registry) - } - /** - * Registry defines a templates registry that is safe to be used by multiple goroutines. - * - * Use the Registry.Load* methods to load templates into the registry. - */ - interface Registry { - } - interface Registry { - /** - * AddFuncs registers new global template functions. - * - * The key of each map entry is the function name that will be used in the templates. - * If a function with the map entry name already exists it will be replaced with the new one. - * - * The value of each map entry is a function that must have either a - * single return value, or two return values of which the second has type error. - * - * Example: - * - * r.AddFuncs(map[string]any{ - * ``` - * "toUpper": func(str string) string { - * return strings.ToUppser(str) - * }, - * ... - * ``` - * }) - */ - addFuncs(funcs: _TygojaDict): (Registry) - } - interface Registry { - /** - * LoadFiles caches (if not already) the specified filenames set as a - * single template and returns a ready to use Renderer instance. - * - * There must be at least 1 filename specified. - */ - loadFiles(...filenames: string[]): (Renderer) - } - interface Registry { - /** - * LoadString caches (if not already) the specified inline string as a - * single template and returns a ready to use Renderer instance. - */ - loadString(text: string): (Renderer) - } - interface Registry { - /** - * LoadFS caches (if not already) the specified fs and globPatterns - * pair as single template and returns a ready to use Renderer instance. - * - * There must be at least 1 file matching the provided globPattern(s) - * (note that most file names serves as glob patterns matching themselves). - */ - loadFS(fsys: fs.FS, ...globPatterns: string[]): (Renderer) - } - /** - * Renderer defines a single parsed template. - */ - interface Renderer { - } - interface Renderer { - /** - * Render executes the template with the specified data as the dot object - * and returns the result as plain string. - */ - render(data: any): string - } -} - /** * Package apis implements the default PocketBase api services and middlewares. */ @@ -6739,12 +6634,117 @@ namespace apis { } } +/** + * Package template is a thin wrapper around the standard html/template + * and text/template packages that implements a convenient registry to + * load and cache templates on the fly concurrently. + * + * It was created to assist the JSVM plugin HTML rendering, but could be used in other Go code. + * + * Example: + * + * ``` + * registry := template.NewRegistry() + * + * html1, err := registry.LoadFiles( + * // the files set wil be parsed only once and then cached + * "layout.html", + * "content.html", + * ).Render(map[string]any{"name": "John"}) + * + * html2, err := registry.LoadFiles( + * // reuse the already parsed and cached files set + * "layout.html", + * "content.html", + * ).Render(map[string]any{"name": "Jane"}) + * ``` + */ +namespace template { + interface newRegistry { + /** + * NewRegistry creates and initializes a new templates registry with + * some defaults (eg. global "raw" template function for unescaped HTML). + * + * Use the Registry.Load* methods to load templates into the registry. + */ + (): (Registry) + } + /** + * Registry defines a templates registry that is safe to be used by multiple goroutines. + * + * Use the Registry.Load* methods to load templates into the registry. + */ + interface Registry { + } + interface Registry { + /** + * AddFuncs registers new global template functions. + * + * The key of each map entry is the function name that will be used in the templates. + * If a function with the map entry name already exists it will be replaced with the new one. + * + * The value of each map entry is a function that must have either a + * single return value, or two return values of which the second has type error. + * + * Example: + * + * r.AddFuncs(map[string]any{ + * ``` + * "toUpper": func(str string) string { + * return strings.ToUppser(str) + * }, + * ... + * ``` + * }) + */ + addFuncs(funcs: _TygojaDict): (Registry) + } + interface Registry { + /** + * LoadFiles caches (if not already) the specified filenames set as a + * single template and returns a ready to use Renderer instance. + * + * There must be at least 1 filename specified. + */ + loadFiles(...filenames: string[]): (Renderer) + } + interface Registry { + /** + * LoadString caches (if not already) the specified inline string as a + * single template and returns a ready to use Renderer instance. + */ + loadString(text: string): (Renderer) + } + interface Registry { + /** + * LoadFS caches (if not already) the specified fs and globPatterns + * pair as single template and returns a ready to use Renderer instance. + * + * There must be at least 1 file matching the provided globPattern(s) + * (note that most file names serves as glob patterns matching themselves). + */ + loadFS(fsys: fs.FS, ...globPatterns: string[]): (Renderer) + } + /** + * Renderer defines a single parsed template. + */ + interface Renderer { + } + interface Renderer { + /** + * Render executes the template with the specified data as the dot object + * and returns the result as plain string. + */ + render(data: any): string + } +} + namespace pocketbase { /** * appWrapper serves as a private CoreApp instance wrapper. */ - type _subIxaYk = CoreApp - interface appWrapper extends _subIxaYk { + type _subcAfmR = CoreApp + interface appWrapper extends _subcAfmR { } /** * PocketBase defines a PocketBase app launcher. @@ -6752,8 +6752,8 @@ namespace pocketbase { * It implements [CoreApp] via embedding and all of the app interface methods * could be accessed directly through the instance (eg. PocketBase.DataDir()). */ - type _subtBGzO = appWrapper - interface PocketBase extends _subtBGzO { + type _subxeXJZ = appWrapper + interface PocketBase extends _subxeXJZ { /** * RootCmd is the main console command */ @@ -6836,6 +6836,148 @@ namespace pocketbase { } } +/** + * Package io provides basic interfaces to I/O primitives. + * Its primary job is to wrap existing implementations of such primitives, + * such as those in package os, into shared public interfaces that + * abstract the functionality, plus some other related primitives. + * + * Because these interfaces and primitives wrap lower-level operations with + * various implementations, unless otherwise informed clients should not + * assume they are safe for parallel execution. + */ +namespace io { + /** + * Reader is the interface that wraps the basic Read method. + * + * Read reads up to len(p) bytes into p. It returns the number of bytes + * read (0 <= n <= len(p)) and any error encountered. Even if Read + * returns n < len(p), it may use all of p as scratch space during the call. + * If some data is available but not len(p) bytes, Read conventionally + * returns what is available instead of waiting for more. + * + * When Read encounters an error or end-of-file condition after + * successfully reading n > 0 bytes, it returns the number of + * bytes read. It may return the (non-nil) error from the same call + * or return the error (and n == 0) from a subsequent call. + * An instance of this general case is that a Reader returning + * a non-zero number of bytes at the end of the input stream may + * return either err == EOF or err == nil. The next Read should + * return 0, EOF. + * + * Callers should always process the n > 0 bytes returned before + * considering the error err. Doing so correctly handles I/O errors + * that happen after reading some bytes and also both of the + * allowed EOF behaviors. + * + * If len(p) == 0, Read should always return n == 0. It may return a + * non-nil error if some error condition is known, such as EOF. + * + * Implementations of Read are discouraged from returning a + * zero byte count with a nil error, except when len(p) == 0. + * Callers should treat a return of 0 and nil as indicating that + * nothing happened; in particular it does not indicate EOF. + * + * Implementations must not retain p. + */ + interface Reader { + [key:string]: any; + read(p: string|Array): number + } + /** + * ReadSeekCloser is the interface that groups the basic Read, Seek and Close + * methods. + */ + interface ReadSeekCloser { + [key:string]: any; + } +} + +/** + * Package bytes implements functions for the manipulation of byte slices. + * It is analogous to the facilities of the [strings] package. + */ +namespace bytes { + /** + * A Reader implements the io.Reader, io.ReaderAt, io.WriterTo, io.Seeker, + * io.ByteScanner, and io.RuneScanner interfaces by reading from + * a byte slice. + * Unlike a Buffer, a Reader is read-only and supports seeking. + * The zero value for Reader operates like a Reader of an empty slice. + */ + interface Reader { + } + interface Reader { + /** + * Len returns the number of bytes of the unread portion of the + * slice. + */ + len(): number + } + interface Reader { + /** + * Size returns the original length of the underlying byte slice. + * Size is the number of bytes available for reading via ReadAt. + * The result is unaffected by any method calls except Reset. + */ + size(): number + } + interface Reader { + /** + * Read implements the io.Reader interface. + */ + read(b: string|Array): number + } + interface Reader { + /** + * ReadAt implements the io.ReaderAt interface. + */ + readAt(b: string|Array, off: number): number + } + interface Reader { + /** + * ReadByte implements the io.ByteReader interface. + */ + readByte(): number + } + interface Reader { + /** + * UnreadByte complements ReadByte in implementing the io.ByteScanner interface. + */ + unreadByte(): void + } + interface Reader { + /** + * ReadRune implements the io.RuneReader interface. + */ + readRune(): [number, number] + } + interface Reader { + /** + * UnreadRune complements ReadRune in implementing the io.RuneScanner interface. + */ + unreadRune(): void + } + interface Reader { + /** + * Seek implements the io.Seeker interface. + */ + seek(offset: number, whence: number): number + } + interface Reader { + /** + * WriteTo implements the io.WriterTo interface. + */ + writeTo(w: io.Writer): number + } + interface Reader { + /** + * Reset resets the Reader to be reading from b. + */ + reset(b: string|Array): void + } +} + /** * Package syscall contains an interface to the low-level operating system * primitives. The details vary depending on the underlying system, and @@ -7542,226 +7684,6 @@ namespace time { } } -/** - * Package context defines the Context type, which carries deadlines, - * cancellation signals, and other request-scoped values across API boundaries - * and between processes. - * - * Incoming requests to a server should create a [Context], and outgoing - * calls to servers should accept a Context. The chain of function - * calls between them must propagate the Context, optionally replacing - * it with a derived Context created using [WithCancel], [WithDeadline], - * [WithTimeout], or [WithValue]. When a Context is canceled, all - * Contexts derived from it are also canceled. - * - * The [WithCancel], [WithDeadline], and [WithTimeout] functions take a - * Context (the parent) and return a derived Context (the child) and a - * [CancelFunc]. Calling the CancelFunc cancels the child and its - * children, removes the parent's reference to the child, and stops - * any associated timers. Failing to call the CancelFunc leaks the - * child and its children until the parent is canceled or the timer - * fires. The go vet tool checks that CancelFuncs are used on all - * control-flow paths. - * - * The [WithCancelCause] function returns a [CancelCauseFunc], which - * takes an error and records it as the cancellation cause. Calling - * [Cause] on the canceled context or any of its children retrieves - * the cause. If no cause is specified, Cause(ctx) returns the same - * value as ctx.Err(). - * - * Programs that use Contexts should follow these rules to keep interfaces - * consistent across packages and enable static analysis tools to check context - * propagation: - * - * Do not store Contexts inside a struct type; instead, pass a Context - * explicitly to each function that needs it. The Context should be the first - * parameter, typically named ctx: - * - * ``` - * func DoSomething(ctx context.Context, arg Arg) error { - * // ... use ctx ... - * } - * ``` - * - * Do not pass a nil [Context], even if a function permits it. Pass [context.TODO] - * if you are unsure about which Context to use. - * - * Use context Values only for request-scoped data that transits processes and - * APIs, not for passing optional parameters to functions. - * - * The same Context may be passed to functions running in different goroutines; - * Contexts are safe for simultaneous use by multiple goroutines. - * - * See https://blog.golang.org/context for example code for a server that uses - * Contexts. - */ -namespace context { - /** - * A Context carries a deadline, a cancellation signal, and other values across - * API boundaries. - * - * Context's methods may be called by multiple goroutines simultaneously. - */ - interface Context { - [key:string]: any; - /** - * Deadline returns the time when work done on behalf of this context - * should be canceled. Deadline returns ok==false when no deadline is - * set. Successive calls to Deadline return the same results. - */ - deadline(): [time.Time, boolean] - /** - * Done returns a channel that's closed when work done on behalf of this - * context should be canceled. Done may return nil if this context can - * never be canceled. Successive calls to Done return the same value. - * The close of the Done channel may happen asynchronously, - * after the cancel function returns. - * - * WithCancel arranges for Done to be closed when cancel is called; - * WithDeadline arranges for Done to be closed when the deadline - * expires; WithTimeout arranges for Done to be closed when the timeout - * elapses. - * - * Done is provided for use in select statements: - * - * // Stream generates values with DoSomething and sends them to out - * // until DoSomething returns an error or ctx.Done is closed. - * func Stream(ctx context.Context, out chan<- Value) error { - * for { - * v, err := DoSomething(ctx) - * if err != nil { - * return err - * } - * select { - * case <-ctx.Done(): - * return ctx.Err() - * case out <- v: - * } - * } - * } - * - * See https://blog.golang.org/pipelines for more examples of how to use - * a Done channel for cancellation. - */ - done(): undefined - /** - * If Done is not yet closed, Err returns nil. - * If Done is closed, Err returns a non-nil error explaining why: - * Canceled if the context was canceled - * or DeadlineExceeded if the context's deadline passed. - * After Err returns a non-nil error, successive calls to Err return the same error. - */ - err(): void - /** - * Value returns the value associated with this context for key, or nil - * if no value is associated with key. Successive calls to Value with - * the same key returns the same result. - * - * Use context values only for request-scoped data that transits - * processes and API boundaries, not for passing optional parameters to - * functions. - * - * A key identifies a specific value in a Context. Functions that wish - * to store values in Context typically allocate a key in a global - * variable then use that key as the argument to context.WithValue and - * Context.Value. A key can be any type that supports equality; - * packages should define keys as an unexported type to avoid - * collisions. - * - * Packages that define a Context key should provide type-safe accessors - * for the values stored using that key: - * - * ``` - * // Package user defines a User type that's stored in Contexts. - * package user - * - * import "context" - * - * // User is the type of value stored in the Contexts. - * type User struct {...} - * - * // key is an unexported type for keys defined in this package. - * // This prevents collisions with keys defined in other packages. - * type key int - * - * // userKey is the key for user.User values in Contexts. It is - * // unexported; clients use user.NewContext and user.FromContext - * // instead of using this key directly. - * var userKey key - * - * // NewContext returns a new Context that carries value u. - * func NewContext(ctx context.Context, u *User) context.Context { - * return context.WithValue(ctx, userKey, u) - * } - * - * // FromContext returns the User value stored in ctx, if any. - * func FromContext(ctx context.Context) (*User, bool) { - * u, ok := ctx.Value(userKey).(*User) - * return u, ok - * } - * ``` - */ - value(key: any): any - } -} - -/** - * Package io provides basic interfaces to I/O primitives. - * Its primary job is to wrap existing implementations of such primitives, - * such as those in package os, into shared public interfaces that - * abstract the functionality, plus some other related primitives. - * - * Because these interfaces and primitives wrap lower-level operations with - * various implementations, unless otherwise informed clients should not - * assume they are safe for parallel execution. - */ -namespace io { - /** - * Reader is the interface that wraps the basic Read method. - * - * Read reads up to len(p) bytes into p. It returns the number of bytes - * read (0 <= n <= len(p)) and any error encountered. Even if Read - * returns n < len(p), it may use all of p as scratch space during the call. - * If some data is available but not len(p) bytes, Read conventionally - * returns what is available instead of waiting for more. - * - * When Read encounters an error or end-of-file condition after - * successfully reading n > 0 bytes, it returns the number of - * bytes read. It may return the (non-nil) error from the same call - * or return the error (and n == 0) from a subsequent call. - * An instance of this general case is that a Reader returning - * a non-zero number of bytes at the end of the input stream may - * return either err == EOF or err == nil. The next Read should - * return 0, EOF. - * - * Callers should always process the n > 0 bytes returned before - * considering the error err. Doing so correctly handles I/O errors - * that happen after reading some bytes and also both of the - * allowed EOF behaviors. - * - * If len(p) == 0, Read should always return n == 0. It may return a - * non-nil error if some error condition is known, such as EOF. - * - * Implementations of Read are discouraged from returning a - * zero byte count with a nil error, except when len(p) == 0. - * Callers should treat a return of 0 and nil as indicating that - * nothing happened; in particular it does not indicate EOF. - * - * Implementations must not retain p. - */ - interface Reader { - [key:string]: any; - read(p: string|Array): number - } - /** - * ReadSeekCloser is the interface that groups the basic Read, Seek and Close - * methods. - */ - interface ReadSeekCloser { - [key:string]: any; - } -} - /** * Package fs defines basic interfaces to a file system. * A file system can be provided by the host operating system @@ -7957,1134 +7879,209 @@ namespace fs { } /** - * Package bytes implements functions for the manipulation of byte slices. - * It is analogous to the facilities of the [strings] package. + * Package context defines the Context type, which carries deadlines, + * cancellation signals, and other request-scoped values across API boundaries + * and between processes. + * + * Incoming requests to a server should create a [Context], and outgoing + * calls to servers should accept a Context. The chain of function + * calls between them must propagate the Context, optionally replacing + * it with a derived Context created using [WithCancel], [WithDeadline], + * [WithTimeout], or [WithValue]. When a Context is canceled, all + * Contexts derived from it are also canceled. + * + * The [WithCancel], [WithDeadline], and [WithTimeout] functions take a + * Context (the parent) and return a derived Context (the child) and a + * [CancelFunc]. Calling the CancelFunc cancels the child and its + * children, removes the parent's reference to the child, and stops + * any associated timers. Failing to call the CancelFunc leaks the + * child and its children until the parent is canceled or the timer + * fires. The go vet tool checks that CancelFuncs are used on all + * control-flow paths. + * + * The [WithCancelCause] function returns a [CancelCauseFunc], which + * takes an error and records it as the cancellation cause. Calling + * [Cause] on the canceled context or any of its children retrieves + * the cause. If no cause is specified, Cause(ctx) returns the same + * value as ctx.Err(). + * + * Programs that use Contexts should follow these rules to keep interfaces + * consistent across packages and enable static analysis tools to check context + * propagation: + * + * Do not store Contexts inside a struct type; instead, pass a Context + * explicitly to each function that needs it. The Context should be the first + * parameter, typically named ctx: + * + * ``` + * func DoSomething(ctx context.Context, arg Arg) error { + * // ... use ctx ... + * } + * ``` + * + * Do not pass a nil [Context], even if a function permits it. Pass [context.TODO] + * if you are unsure about which Context to use. + * + * Use context Values only for request-scoped data that transits processes and + * APIs, not for passing optional parameters to functions. + * + * The same Context may be passed to functions running in different goroutines; + * Contexts are safe for simultaneous use by multiple goroutines. + * + * See https://blog.golang.org/context for example code for a server that uses + * Contexts. */ -namespace bytes { +namespace context { /** - * A Reader implements the io.Reader, io.ReaderAt, io.WriterTo, io.Seeker, - * io.ByteScanner, and io.RuneScanner interfaces by reading from - * a byte slice. - * Unlike a Buffer, a Reader is read-only and supports seeking. - * The zero value for Reader operates like a Reader of an empty slice. - */ - interface Reader { - } - interface Reader { - /** - * Len returns the number of bytes of the unread portion of the - * slice. - */ - len(): number - } - interface Reader { - /** - * Size returns the original length of the underlying byte slice. - * Size is the number of bytes available for reading via ReadAt. - * The result is unaffected by any method calls except Reset. - */ - size(): number - } - interface Reader { - /** - * Read implements the io.Reader interface. - */ - read(b: string|Array): number - } - interface Reader { - /** - * ReadAt implements the io.ReaderAt interface. - */ - readAt(b: string|Array, off: number): number - } - interface Reader { - /** - * ReadByte implements the io.ByteReader interface. - */ - readByte(): number - } - interface Reader { - /** - * UnreadByte complements ReadByte in implementing the io.ByteScanner interface. - */ - unreadByte(): void - } - interface Reader { - /** - * ReadRune implements the io.RuneReader interface. - */ - readRune(): [number, number] - } - interface Reader { - /** - * UnreadRune complements ReadRune in implementing the io.RuneScanner interface. - */ - unreadRune(): void - } - interface Reader { - /** - * Seek implements the io.Seeker interface. - */ - seek(offset: number, whence: number): number - } - interface Reader { - /** - * WriteTo implements the io.WriterTo interface. - */ - writeTo(w: io.Writer): number - } - interface Reader { - /** - * Reset resets the Reader to be reading from b. - */ - reset(b: string|Array): void - } -} - -/** - * Package exec runs external commands. It wraps os.StartProcess to make it - * easier to remap stdin and stdout, connect I/O with pipes, and do other - * adjustments. - * - * Unlike the "system" library call from C and other languages, the - * os/exec package intentionally does not invoke the system shell and - * does not expand any glob patterns or handle other expansions, - * pipelines, or redirections typically done by shells. The package - * behaves more like C's "exec" family of functions. To expand glob - * patterns, either call the shell directly, taking care to escape any - * dangerous input, or use the path/filepath package's Glob function. - * To expand environment variables, use package os's ExpandEnv. - * - * Note that the examples in this package assume a Unix system. - * They may not run on Windows, and they do not run in the Go Playground - * used by golang.org and godoc.org. - * - * # Executables in the current directory - * - * The functions Command and LookPath look for a program - * in the directories listed in the current path, following the - * conventions of the host operating system. - * Operating systems have for decades included the current - * directory in this search, sometimes implicitly and sometimes - * configured explicitly that way by default. - * Modern practice is that including the current directory - * is usually unexpected and often leads to security problems. - * - * To avoid those security problems, as of Go 1.19, this package will not resolve a program - * using an implicit or explicit path entry relative to the current directory. - * That is, if you run exec.LookPath("go"), it will not successfully return - * ./go on Unix nor .\go.exe on Windows, no matter how the path is configured. - * Instead, if the usual path algorithms would result in that answer, - * these functions return an error err satisfying errors.Is(err, ErrDot). - * - * For example, consider these two program snippets: - * - * ``` - * path, err := exec.LookPath("prog") - * if err != nil { - * log.Fatal(err) - * } - * use(path) - * ``` - * - * and - * - * ``` - * cmd := exec.Command("prog") - * if err := cmd.Run(); err != nil { - * log.Fatal(err) - * } - * ``` - * - * These will not find and run ./prog or .\prog.exe, - * no matter how the current path is configured. - * - * Code that always wants to run a program from the current directory - * can be rewritten to say "./prog" instead of "prog". - * - * Code that insists on including results from relative path entries - * can instead override the error using an errors.Is check: - * - * ``` - * path, err := exec.LookPath("prog") - * if errors.Is(err, exec.ErrDot) { - * err = nil - * } - * if err != nil { - * log.Fatal(err) - * } - * use(path) - * ``` - * - * and - * - * ``` - * cmd := exec.Command("prog") - * if errors.Is(cmd.Err, exec.ErrDot) { - * cmd.Err = nil - * } - * if err := cmd.Run(); err != nil { - * log.Fatal(err) - * } - * ``` - * - * Setting the environment variable GODEBUG=execerrdot=0 - * disables generation of ErrDot entirely, temporarily restoring the pre-Go 1.19 - * behavior for programs that are unable to apply more targeted fixes. - * A future version of Go may remove support for this variable. - * - * Before adding such overrides, make sure you understand the - * security implications of doing so. - * See https://go.dev/blog/path-security for more information. - */ -namespace exec { - /** - * Cmd represents an external command being prepared or run. + * A Context carries a deadline, a cancellation signal, and other values across + * API boundaries. * - * A Cmd cannot be reused after calling its Run, Output or CombinedOutput - * methods. + * Context's methods may be called by multiple goroutines simultaneously. */ - interface Cmd { - /** - * Path is the path of the command to run. - * - * This is the only field that must be set to a non-zero - * value. If Path is relative, it is evaluated relative - * to Dir. - */ - path: string - /** - * Args holds command line arguments, including the command as Args[0]. - * If the Args field is empty or nil, Run uses {Path}. - * - * In typical use, both Path and Args are set by calling Command. - */ - args: Array - /** - * Env specifies the environment of the process. - * Each entry is of the form "key=value". - * If Env is nil, the new process uses the current process's - * environment. - * If Env contains duplicate environment keys, only the last - * value in the slice for each duplicate key is used. - * As a special case on Windows, SYSTEMROOT is always added if - * missing and not explicitly set to the empty string. - */ - env: Array - /** - * Dir specifies the working directory of the command. - * If Dir is the empty string, Run runs the command in the - * calling process's current directory. - */ - dir: string - /** - * Stdin specifies the process's standard input. - * - * If Stdin is nil, the process reads from the null device (os.DevNull). - * - * If Stdin is an *os.File, the process's standard input is connected - * directly to that file. - * - * Otherwise, during the execution of the command a separate - * goroutine reads from Stdin and delivers that data to the command - * over a pipe. In this case, Wait does not complete until the goroutine - * stops copying, either because it has reached the end of Stdin - * (EOF or a read error), or because writing to the pipe returned an error, - * or because a nonzero WaitDelay was set and expired. - */ - stdin: io.Reader - /** - * Stdout and Stderr specify the process's standard output and error. - * - * If either is nil, Run connects the corresponding file descriptor - * to the null device (os.DevNull). - * - * If either is an *os.File, the corresponding output from the process - * is connected directly to that file. - * - * Otherwise, during the execution of the command a separate goroutine - * reads from the process over a pipe and delivers that data to the - * corresponding Writer. In this case, Wait does not complete until the - * goroutine reaches EOF or encounters an error or a nonzero WaitDelay - * expires. - * - * If Stdout and Stderr are the same writer, and have a type that can - * be compared with ==, at most one goroutine at a time will call Write. - */ - stdout: io.Writer - stderr: io.Writer - /** - * ExtraFiles specifies additional open files to be inherited by the - * new process. It does not include standard input, standard output, or - * standard error. If non-nil, entry i becomes file descriptor 3+i. - * - * ExtraFiles is not supported on Windows. - */ - extraFiles: Array<(os.File | undefined)> - /** - * SysProcAttr holds optional, operating system-specific attributes. - * Run passes it to os.StartProcess as the os.ProcAttr's Sys field. - */ - sysProcAttr?: syscall.SysProcAttr - /** - * Process is the underlying process, once started. - */ - process?: os.Process - /** - * ProcessState contains information about an exited process. - * If the process was started successfully, Wait or Run will - * populate its ProcessState when the command completes. - */ - processState?: os.ProcessState - err: Error // LookPath error, if any. - /** - * If Cancel is non-nil, the command must have been created with - * CommandContext and Cancel will be called when the command's - * Context is done. By default, CommandContext sets Cancel to - * call the Kill method on the command's Process. - * - * Typically a custom Cancel will send a signal to the command's - * Process, but it may instead take other actions to initiate cancellation, - * such as closing a stdin or stdout pipe or sending a shutdown request on a - * network socket. - * - * If the command exits with a success status after Cancel is - * called, and Cancel does not return an error equivalent to - * os.ErrProcessDone, then Wait and similar methods will return a non-nil - * error: either an error wrapping the one returned by Cancel, - * or the error from the Context. - * (If the command exits with a non-success status, or Cancel - * returns an error that wraps os.ErrProcessDone, Wait and similar methods - * continue to return the command's usual exit status.) - * - * If Cancel is set to nil, nothing will happen immediately when the command's - * Context is done, but a nonzero WaitDelay will still take effect. That may - * be useful, for example, to work around deadlocks in commands that do not - * support shutdown signals but are expected to always finish quickly. - * - * Cancel will not be called if Start returns a non-nil error. - */ - cancel: () => void - /** - * If WaitDelay is non-zero, it bounds the time spent waiting on two sources - * of unexpected delay in Wait: a child process that fails to exit after the - * associated Context is canceled, and a child process that exits but leaves - * its I/O pipes unclosed. - * - * The WaitDelay timer starts when either the associated Context is done or a - * call to Wait observes that the child process has exited, whichever occurs - * first. When the delay has elapsed, the command shuts down the child process - * and/or its I/O pipes. - * - * If the child process has failed to exit — perhaps because it ignored or - * failed to receive a shutdown signal from a Cancel function, or because no - * Cancel function was set — then it will be terminated using os.Process.Kill. - * - * Then, if the I/O pipes communicating with the child process are still open, - * those pipes are closed in order to unblock any goroutines currently blocked - * on Read or Write calls. - * - * If pipes are closed due to WaitDelay, no Cancel call has occurred, - * and the command has otherwise exited with a successful status, Wait and - * similar methods will return ErrWaitDelay instead of nil. - * - * If WaitDelay is zero (the default), I/O pipes will be read until EOF, - * which might not occur until orphaned subprocesses of the command have - * also closed their descriptors for the pipes. - */ - waitDelay: time.Duration - } - interface Cmd { - /** - * String returns a human-readable description of c. - * It is intended only for debugging. - * In particular, it is not suitable for use as input to a shell. - * The output of String may vary across Go releases. - */ - string(): string - } - interface Cmd { - /** - * Run starts the specified command and waits for it to complete. - * - * The returned error is nil if the command runs, has no problems - * copying stdin, stdout, and stderr, and exits with a zero exit - * status. - * - * If the command starts but does not complete successfully, the error is of - * type *ExitError. Other error types may be returned for other situations. - * - * If the calling goroutine has locked the operating system thread - * with runtime.LockOSThread and modified any inheritable OS-level - * thread state (for example, Linux or Plan 9 name spaces), the new - * process will inherit the caller's thread state. - */ - run(): void - } - interface Cmd { - /** - * Start starts the specified command but does not wait for it to complete. - * - * If Start returns successfully, the c.Process field will be set. - * - * After a successful call to Start the Wait method must be called in - * order to release associated system resources. - */ - start(): void - } - interface Cmd { - /** - * Wait waits for the command to exit and waits for any copying to - * stdin or copying from stdout or stderr to complete. - * - * The command must have been started by Start. - * - * The returned error is nil if the command runs, has no problems - * copying stdin, stdout, and stderr, and exits with a zero exit - * status. - * - * If the command fails to run or doesn't complete successfully, the - * error is of type *ExitError. Other error types may be - * returned for I/O problems. - * - * If any of c.Stdin, c.Stdout or c.Stderr are not an *os.File, Wait also waits - * for the respective I/O loop copying to or from the process to complete. - * - * Wait releases any resources associated with the Cmd. - */ - wait(): void - } - interface Cmd { - /** - * Output runs the command and returns its standard output. - * Any returned error will usually be of type *ExitError. - * If c.Stderr was nil, Output populates ExitError.Stderr. - */ - output(): string|Array - } - interface Cmd { - /** - * CombinedOutput runs the command and returns its combined standard - * output and standard error. - */ - combinedOutput(): string|Array - } - interface Cmd { - /** - * StdinPipe returns a pipe that will be connected to the command's - * standard input when the command starts. - * The pipe will be closed automatically after Wait sees the command exit. - * A caller need only call Close to force the pipe to close sooner. - * For example, if the command being run will not exit until standard input - * is closed, the caller must close the pipe. - */ - stdinPipe(): io.WriteCloser - } - interface Cmd { - /** - * StdoutPipe returns a pipe that will be connected to the command's - * standard output when the command starts. - * - * Wait will close the pipe after seeing the command exit, so most callers - * need not close the pipe themselves. It is thus incorrect to call Wait - * before all reads from the pipe have completed. - * For the same reason, it is incorrect to call Run when using StdoutPipe. - * See the example for idiomatic usage. - */ - stdoutPipe(): io.ReadCloser - } - interface Cmd { - /** - * StderrPipe returns a pipe that will be connected to the command's - * standard error when the command starts. - * - * Wait will close the pipe after seeing the command exit, so most callers - * need not close the pipe themselves. It is thus incorrect to call Wait - * before all reads from the pipe have completed. - * For the same reason, it is incorrect to use Run when using StderrPipe. - * See the StdoutPipe example for idiomatic usage. - */ - stderrPipe(): io.ReadCloser - } - interface Cmd { - /** - * Environ returns a copy of the environment in which the command would be run - * as it is currently configured. - */ - environ(): Array - } -} - -/** - * Package sql provides a generic interface around SQL (or SQL-like) - * databases. - * - * The sql package must be used in conjunction with a database driver. - * See https://golang.org/s/sqldrivers for a list of drivers. - * - * Drivers that do not support context cancellation will not return until - * after the query is completed. - * - * For usage examples, see the wiki page at - * https://golang.org/s/sqlwiki. - */ -namespace sql { - /** - * TxOptions holds the transaction options to be used in DB.BeginTx. - */ - interface TxOptions { - /** - * Isolation is the transaction isolation level. - * If zero, the driver or database's default level is used. - */ - isolation: IsolationLevel - readOnly: boolean - } - /** - * DB is a database handle representing a pool of zero or more - * underlying connections. It's safe for concurrent use by multiple - * goroutines. - * - * The sql package creates and frees connections automatically; it - * also maintains a free pool of idle connections. If the database has - * a concept of per-connection state, such state can be reliably observed - * within a transaction (Tx) or connection (Conn). Once DB.Begin is called, the - * returned Tx is bound to a single connection. Once Commit or - * Rollback is called on the transaction, that transaction's - * connection is returned to DB's idle connection pool. The pool size - * can be controlled with SetMaxIdleConns. - */ - interface DB { - } - interface DB { - /** - * PingContext verifies a connection to the database is still alive, - * establishing a connection if necessary. - */ - pingContext(ctx: context.Context): void - } - interface DB { - /** - * Ping verifies a connection to the database is still alive, - * establishing a connection if necessary. - * - * Ping uses context.Background internally; to specify the context, use - * PingContext. - */ - ping(): void - } - interface DB { - /** - * Close closes the database and prevents new queries from starting. - * Close then waits for all queries that have started processing on the server - * to finish. - * - * It is rare to Close a DB, as the DB handle is meant to be - * long-lived and shared between many goroutines. - */ - close(): void - } - interface DB { - /** - * SetMaxIdleConns sets the maximum number of connections in the idle - * connection pool. - * - * If MaxOpenConns is greater than 0 but less than the new MaxIdleConns, - * then the new MaxIdleConns will be reduced to match the MaxOpenConns limit. - * - * If n <= 0, no idle connections are retained. - * - * The default max idle connections is currently 2. This may change in - * a future release. - */ - setMaxIdleConns(n: number): void - } - interface DB { - /** - * SetMaxOpenConns sets the maximum number of open connections to the database. - * - * If MaxIdleConns is greater than 0 and the new MaxOpenConns is less than - * MaxIdleConns, then MaxIdleConns will be reduced to match the new - * MaxOpenConns limit. - * - * If n <= 0, then there is no limit on the number of open connections. - * The default is 0 (unlimited). - */ - setMaxOpenConns(n: number): void - } - interface DB { - /** - * SetConnMaxLifetime sets the maximum amount of time a connection may be reused. - * - * Expired connections may be closed lazily before reuse. - * - * If d <= 0, connections are not closed due to a connection's age. - */ - setConnMaxLifetime(d: time.Duration): void - } - interface DB { - /** - * SetConnMaxIdleTime sets the maximum amount of time a connection may be idle. - * - * Expired connections may be closed lazily before reuse. - * - * If d <= 0, connections are not closed due to a connection's idle time. - */ - setConnMaxIdleTime(d: time.Duration): void - } - interface DB { - /** - * Stats returns database statistics. - */ - stats(): DBStats - } - interface DB { - /** - * PrepareContext creates a prepared statement for later queries or executions. - * Multiple queries or executions may be run concurrently from the - * returned statement. - * The caller must call the statement's Close method - * when the statement is no longer needed. - * - * The provided context is used for the preparation of the statement, not for the - * execution of the statement. - */ - prepareContext(ctx: context.Context, query: string): (Stmt) - } - interface DB { - /** - * Prepare creates a prepared statement for later queries or executions. - * Multiple queries or executions may be run concurrently from the - * returned statement. - * The caller must call the statement's Close method - * when the statement is no longer needed. - * - * Prepare uses context.Background internally; to specify the context, use - * PrepareContext. - */ - prepare(query: string): (Stmt) - } - interface DB { - /** - * ExecContext executes a query without returning any rows. - * The args are for any placeholder parameters in the query. - */ - execContext(ctx: context.Context, query: string, ...args: any[]): Result - } - interface DB { - /** - * Exec executes a query without returning any rows. - * The args are for any placeholder parameters in the query. - * - * Exec uses context.Background internally; to specify the context, use - * ExecContext. - */ - exec(query: string, ...args: any[]): Result - } - interface DB { - /** - * QueryContext executes a query that returns rows, typically a SELECT. - * The args are for any placeholder parameters in the query. - */ - queryContext(ctx: context.Context, query: string, ...args: any[]): (Rows) - } - interface DB { - /** - * Query executes a query that returns rows, typically a SELECT. - * The args are for any placeholder parameters in the query. - * - * Query uses context.Background internally; to specify the context, use - * QueryContext. - */ - query(query: string, ...args: any[]): (Rows) - } - interface DB { - /** - * QueryRowContext executes a query that is expected to return at most one row. - * QueryRowContext always returns a non-nil value. Errors are deferred until - * Row's Scan method is called. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - */ - queryRowContext(ctx: context.Context, query: string, ...args: any[]): (Row) - } - interface DB { - /** - * QueryRow executes a query that is expected to return at most one row. - * QueryRow always returns a non-nil value. Errors are deferred until - * Row's Scan method is called. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - * - * QueryRow uses context.Background internally; to specify the context, use - * QueryRowContext. - */ - queryRow(query: string, ...args: any[]): (Row) - } - interface DB { - /** - * BeginTx starts a transaction. - * - * The provided context is used until the transaction is committed or rolled back. - * If the context is canceled, the sql package will roll back - * the transaction. Tx.Commit will return an error if the context provided to - * BeginTx is canceled. - * - * The provided TxOptions is optional and may be nil if defaults should be used. - * If a non-default isolation level is used that the driver doesn't support, - * an error will be returned. - */ - beginTx(ctx: context.Context, opts: TxOptions): (Tx) - } - interface DB { - /** - * Begin starts a transaction. The default isolation level is dependent on - * the driver. - * - * Begin uses context.Background internally; to specify the context, use - * BeginTx. - */ - begin(): (Tx) - } - interface DB { - /** - * Driver returns the database's underlying driver. - */ - driver(): any - } - interface DB { - /** - * Conn returns a single connection by either opening a new connection - * or returning an existing connection from the connection pool. Conn will - * block until either a connection is returned or ctx is canceled. - * Queries run on the same Conn will be run in the same database session. - * - * Every Conn must be returned to the database pool after use by - * calling Conn.Close. - */ - conn(ctx: context.Context): (Conn) - } - /** - * Tx is an in-progress database transaction. - * - * A transaction must end with a call to Commit or Rollback. - * - * After a call to Commit or Rollback, all operations on the - * transaction fail with ErrTxDone. - * - * The statements prepared for a transaction by calling - * the transaction's Prepare or Stmt methods are closed - * by the call to Commit or Rollback. - */ - interface Tx { - } - interface Tx { - /** - * Commit commits the transaction. - */ - commit(): void - } - interface Tx { - /** - * Rollback aborts the transaction. - */ - rollback(): void - } - interface Tx { - /** - * PrepareContext creates a prepared statement for use within a transaction. - * - * The returned statement operates within the transaction and will be closed - * when the transaction has been committed or rolled back. - * - * To use an existing prepared statement on this transaction, see Tx.Stmt. - * - * The provided context will be used for the preparation of the context, not - * for the execution of the returned statement. The returned statement - * will run in the transaction context. - */ - prepareContext(ctx: context.Context, query: string): (Stmt) - } - interface Tx { - /** - * Prepare creates a prepared statement for use within a transaction. - * - * The returned statement operates within the transaction and will be closed - * when the transaction has been committed or rolled back. - * - * To use an existing prepared statement on this transaction, see Tx.Stmt. - * - * Prepare uses context.Background internally; to specify the context, use - * PrepareContext. - */ - prepare(query: string): (Stmt) - } - interface Tx { - /** - * StmtContext returns a transaction-specific prepared statement from - * an existing statement. - * - * Example: - * - * ``` - * updateMoney, err := db.Prepare("UPDATE balance SET money=money+? WHERE id=?") - * ... - * tx, err := db.Begin() - * ... - * res, err := tx.StmtContext(ctx, updateMoney).Exec(123.45, 98293203) - * ``` - * - * The provided context is used for the preparation of the statement, not for the - * execution of the statement. - * - * The returned statement operates within the transaction and will be closed - * when the transaction has been committed or rolled back. - */ - stmtContext(ctx: context.Context, stmt: Stmt): (Stmt) - } - interface Tx { - /** - * Stmt returns a transaction-specific prepared statement from - * an existing statement. - * - * Example: - * - * ``` - * updateMoney, err := db.Prepare("UPDATE balance SET money=money+? WHERE id=?") - * ... - * tx, err := db.Begin() - * ... - * res, err := tx.Stmt(updateMoney).Exec(123.45, 98293203) - * ``` - * - * The returned statement operates within the transaction and will be closed - * when the transaction has been committed or rolled back. - * - * Stmt uses context.Background internally; to specify the context, use - * StmtContext. - */ - stmt(stmt: Stmt): (Stmt) - } - interface Tx { - /** - * ExecContext executes a query that doesn't return rows. - * For example: an INSERT and UPDATE. - */ - execContext(ctx: context.Context, query: string, ...args: any[]): Result - } - interface Tx { - /** - * Exec executes a query that doesn't return rows. - * For example: an INSERT and UPDATE. - * - * Exec uses context.Background internally; to specify the context, use - * ExecContext. - */ - exec(query: string, ...args: any[]): Result - } - interface Tx { - /** - * QueryContext executes a query that returns rows, typically a SELECT. - */ - queryContext(ctx: context.Context, query: string, ...args: any[]): (Rows) - } - interface Tx { - /** - * Query executes a query that returns rows, typically a SELECT. - * - * Query uses context.Background internally; to specify the context, use - * QueryContext. - */ - query(query: string, ...args: any[]): (Rows) - } - interface Tx { - /** - * QueryRowContext executes a query that is expected to return at most one row. - * QueryRowContext always returns a non-nil value. Errors are deferred until - * Row's Scan method is called. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - */ - queryRowContext(ctx: context.Context, query: string, ...args: any[]): (Row) - } - interface Tx { - /** - * QueryRow executes a query that is expected to return at most one row. - * QueryRow always returns a non-nil value. Errors are deferred until - * Row's Scan method is called. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - * - * QueryRow uses context.Background internally; to specify the context, use - * QueryRowContext. - */ - queryRow(query: string, ...args: any[]): (Row) - } - /** - * Stmt is a prepared statement. - * A Stmt is safe for concurrent use by multiple goroutines. - * - * If a Stmt is prepared on a Tx or Conn, it will be bound to a single - * underlying connection forever. If the Tx or Conn closes, the Stmt will - * become unusable and all operations will return an error. - * If a Stmt is prepared on a DB, it will remain usable for the lifetime of the - * DB. When the Stmt needs to execute on a new underlying connection, it will - * prepare itself on the new connection automatically. - */ - interface Stmt { - } - interface Stmt { - /** - * ExecContext executes a prepared statement with the given arguments and - * returns a Result summarizing the effect of the statement. - */ - execContext(ctx: context.Context, ...args: any[]): Result - } - interface Stmt { - /** - * Exec executes a prepared statement with the given arguments and - * returns a Result summarizing the effect of the statement. - * - * Exec uses context.Background internally; to specify the context, use - * ExecContext. - */ - exec(...args: any[]): Result - } - interface Stmt { - /** - * QueryContext executes a prepared query statement with the given arguments - * and returns the query results as a *Rows. - */ - queryContext(ctx: context.Context, ...args: any[]): (Rows) - } - interface Stmt { - /** - * Query executes a prepared query statement with the given arguments - * and returns the query results as a *Rows. - * - * Query uses context.Background internally; to specify the context, use - * QueryContext. - */ - query(...args: any[]): (Rows) - } - interface Stmt { - /** - * QueryRowContext executes a prepared query statement with the given arguments. - * If an error occurs during the execution of the statement, that error will - * be returned by a call to Scan on the returned *Row, which is always non-nil. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - */ - queryRowContext(ctx: context.Context, ...args: any[]): (Row) - } - interface Stmt { - /** - * QueryRow executes a prepared query statement with the given arguments. - * If an error occurs during the execution of the statement, that error will - * be returned by a call to Scan on the returned *Row, which is always non-nil. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - * - * Example usage: - * - * ``` - * var name string - * err := nameByUseridStmt.QueryRow(id).Scan(&name) - * ``` - * - * QueryRow uses context.Background internally; to specify the context, use - * QueryRowContext. - */ - queryRow(...args: any[]): (Row) - } - interface Stmt { - /** - * Close closes the statement. - */ - close(): void - } - /** - * Rows is the result of a query. Its cursor starts before the first row - * of the result set. Use Next to advance from row to row. - */ - interface Rows { - } - interface Rows { - /** - * Next prepares the next result row for reading with the Scan method. It - * returns true on success, or false if there is no next result row or an error - * happened while preparing it. Err should be consulted to distinguish between - * the two cases. - * - * Every call to Scan, even the first one, must be preceded by a call to Next. - */ - next(): boolean - } - interface Rows { - /** - * NextResultSet prepares the next result set for reading. It reports whether - * there is further result sets, or false if there is no further result set - * or if there is an error advancing to it. The Err method should be consulted - * to distinguish between the two cases. - * - * After calling NextResultSet, the Next method should always be called before - * scanning. If there are further result sets they may not have rows in the result - * set. - */ - nextResultSet(): boolean - } - interface Rows { - /** - * Err returns the error, if any, that was encountered during iteration. - * Err may be called after an explicit or implicit Close. - */ - err(): void - } - interface Rows { - /** - * Columns returns the column names. - * Columns returns an error if the rows are closed. - */ - columns(): Array - } - interface Rows { - /** - * ColumnTypes returns column information such as column type, length, - * and nullable. Some information may not be available from some drivers. - */ - columnTypes(): Array<(ColumnType | undefined)> - } - interface Rows { - /** - * Scan copies the columns in the current row into the values pointed - * at by dest. The number of values in dest must be the same as the - * number of columns in Rows. - * - * Scan converts columns read from the database into the following - * common Go types and special types provided by the sql package: - * - * ``` - * *string - * *[]byte - * *int, *int8, *int16, *int32, *int64 - * *uint, *uint8, *uint16, *uint32, *uint64 - * *bool - * *float32, *float64 - * *interface{} - * *RawBytes - * *Rows (cursor value) - * any type implementing Scanner (see Scanner docs) - * ``` - * - * In the most simple case, if the type of the value from the source - * column is an integer, bool or string type T and dest is of type *T, - * Scan simply assigns the value through the pointer. - * - * Scan also converts between string and numeric types, as long as no - * information would be lost. While Scan stringifies all numbers - * scanned from numeric database columns into *string, scans into - * numeric types are checked for overflow. For example, a float64 with - * value 300 or a string with value "300" can scan into a uint16, but - * not into a uint8, though float64(255) or "255" can scan into a - * uint8. One exception is that scans of some float64 numbers to - * strings may lose information when stringifying. In general, scan - * floating point columns into *float64. - * - * If a dest argument has type *[]byte, Scan saves in that argument a - * copy of the corresponding data. The copy is owned by the caller and - * can be modified and held indefinitely. The copy can be avoided by - * using an argument of type *RawBytes instead; see the documentation - * for RawBytes for restrictions on its use. - * - * If an argument has type *interface{}, Scan copies the value - * provided by the underlying driver without conversion. When scanning - * from a source value of type []byte to *interface{}, a copy of the - * slice is made and the caller owns the result. - * - * Source values of type time.Time may be scanned into values of type - * *time.Time, *interface{}, *string, or *[]byte. When converting to - * the latter two, time.RFC3339Nano is used. - * - * Source values of type bool may be scanned into types *bool, - * *interface{}, *string, *[]byte, or *RawBytes. - * - * For scanning into *bool, the source may be true, false, 1, 0, or - * string inputs parseable by strconv.ParseBool. - * - * Scan can also convert a cursor returned from a query, such as - * "select cursor(select * from my_table) from dual", into a - * *Rows value that can itself be scanned from. The parent - * select query will close any cursor *Rows if the parent *Rows is closed. - * - * If any of the first arguments implementing Scanner returns an error, - * that error will be wrapped in the returned error. - */ - scan(...dest: any[]): void - } - interface Rows { - /** - * Close closes the Rows, preventing further enumeration. If Next is called - * and returns false and there are no further result sets, - * the Rows are closed automatically and it will suffice to check the - * result of Err. Close is idempotent and does not affect the result of Err. - */ - close(): void - } - /** - * A Result summarizes an executed SQL command. - */ - interface Result { + interface Context { [key:string]: any; /** - * LastInsertId returns the integer generated by the database - * in response to a command. Typically this will be from an - * "auto increment" column when inserting a new row. Not all - * databases support this feature, and the syntax of such - * statements varies. + * Deadline returns the time when work done on behalf of this context + * should be canceled. Deadline returns ok==false when no deadline is + * set. Successive calls to Deadline return the same results. */ - lastInsertId(): number + deadline(): [time.Time, boolean] /** - * RowsAffected returns the number of rows affected by an - * update, insert, or delete. Not every database or database - * driver may support this. + * Done returns a channel that's closed when work done on behalf of this + * context should be canceled. Done may return nil if this context can + * never be canceled. Successive calls to Done return the same value. + * The close of the Done channel may happen asynchronously, + * after the cancel function returns. + * + * WithCancel arranges for Done to be closed when cancel is called; + * WithDeadline arranges for Done to be closed when the deadline + * expires; WithTimeout arranges for Done to be closed when the timeout + * elapses. + * + * Done is provided for use in select statements: + * + * // Stream generates values with DoSomething and sends them to out + * // until DoSomething returns an error or ctx.Done is closed. + * func Stream(ctx context.Context, out chan<- Value) error { + * for { + * v, err := DoSomething(ctx) + * if err != nil { + * return err + * } + * select { + * case <-ctx.Done(): + * return ctx.Err() + * case out <- v: + * } + * } + * } + * + * See https://blog.golang.org/pipelines for more examples of how to use + * a Done channel for cancellation. */ - rowsAffected(): number + done(): undefined + /** + * If Done is not yet closed, Err returns nil. + * If Done is closed, Err returns a non-nil error explaining why: + * Canceled if the context was canceled + * or DeadlineExceeded if the context's deadline passed. + * After Err returns a non-nil error, successive calls to Err return the same error. + */ + err(): void + /** + * Value returns the value associated with this context for key, or nil + * if no value is associated with key. Successive calls to Value with + * the same key returns the same result. + * + * Use context values only for request-scoped data that transits + * processes and API boundaries, not for passing optional parameters to + * functions. + * + * A key identifies a specific value in a Context. Functions that wish + * to store values in Context typically allocate a key in a global + * variable then use that key as the argument to context.WithValue and + * Context.Value. A key can be any type that supports equality; + * packages should define keys as an unexported type to avoid + * collisions. + * + * Packages that define a Context key should provide type-safe accessors + * for the values stored using that key: + * + * ``` + * // Package user defines a User type that's stored in Contexts. + * package user + * + * import "context" + * + * // User is the type of value stored in the Contexts. + * type User struct {...} + * + * // key is an unexported type for keys defined in this package. + * // This prevents collisions with keys defined in other packages. + * type key int + * + * // userKey is the key for user.User values in Contexts. It is + * // unexported; clients use user.NewContext and user.FromContext + * // instead of using this key directly. + * var userKey key + * + * // NewContext returns a new Context that carries value u. + * func NewContext(ctx context.Context, u *User) context.Context { + * return context.WithValue(ctx, userKey, u) + * } + * + * // FromContext returns the User value stored in ctx, if any. + * func FromContext(ctx context.Context) (*User, bool) { + * u, ok := ctx.Value(userKey).(*User) + * return u, ok + * } + * ``` + */ + value(key: any): any } } -namespace migrate { +/** + * Package multipart implements MIME multipart parsing, as defined in RFC + * 2046. + * + * The implementation is sufficient for HTTP (RFC 2388) and the multipart + * bodies generated by popular browsers. + * + * # Limits + * + * To protect against malicious inputs, this package sets limits on the size + * of the MIME data it processes. + * + * Reader.NextPart and Reader.NextRawPart limit the number of headers in a + * part to 10000 and Reader.ReadForm limits the total number of headers in all + * FileHeaders to 10000. + * These limits may be adjusted with the GODEBUG=multipartmaxheaders= + * setting. + * + * Reader.ReadForm further limits the number of parts in a form to 1000. + * This limit may be adjusted with the GODEBUG=multipartmaxparts= + * setting. + */ +/** + * Copyright 2023 The Go Authors. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ +namespace multipart { /** - * MigrationsList defines a list with migration definitions + * A FileHeader describes a file part of a multipart request. */ - interface MigrationsList { + interface FileHeader { + filename: string + header: textproto.MIMEHeader + size: number } - interface MigrationsList { + interface FileHeader { /** - * Item returns a single migration from the list by its index. + * Open opens and returns the FileHeader's associated File. */ - item(index: number): (Migration) - } - interface MigrationsList { - /** - * Items returns the internal migrations list slice. - */ - items(): Array<(Migration | undefined)> - } - interface MigrationsList { - /** - * Register adds new migration definition to the list. - * - * If `optFilename` is not provided, it will try to get the name from its .go file. - * - * The list will be sorted automatically based on the migrations file name. - */ - register(up: (db: dbx.Builder) => void, down: (db: dbx.Builder) => void, ...optFilename: string[]): void + open(): File } } @@ -9159,107 +8156,6 @@ namespace types { } } -/** - * Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html - * - * See README.md for more info. - */ -namespace jwt { - /** - * MapClaims is a claims type that uses the map[string]interface{} for JSON decoding. - * This is the default claims type if you don't supply one - */ - interface MapClaims extends _TygojaDict{} - interface MapClaims { - /** - * VerifyAudience Compares the aud claim against cmp. - * If required is false, this method will return true if the value matches or is unset - */ - verifyAudience(cmp: string, req: boolean): boolean - } - interface MapClaims { - /** - * VerifyExpiresAt compares the exp claim against cmp (cmp <= exp). - * If req is false, it will return true, if exp is unset. - */ - verifyExpiresAt(cmp: number, req: boolean): boolean - } - interface MapClaims { - /** - * VerifyIssuedAt compares the exp claim against cmp (cmp >= iat). - * If req is false, it will return true, if iat is unset. - */ - verifyIssuedAt(cmp: number, req: boolean): boolean - } - interface MapClaims { - /** - * VerifyNotBefore compares the nbf claim against cmp (cmp >= nbf). - * If req is false, it will return true, if nbf is unset. - */ - verifyNotBefore(cmp: number, req: boolean): boolean - } - interface MapClaims { - /** - * VerifyIssuer compares the iss claim against cmp. - * If required is false, this method will return true if the value matches or is unset - */ - verifyIssuer(cmp: string, req: boolean): boolean - } - interface MapClaims { - /** - * Valid validates time based claims "exp, iat, nbf". - * There is no accounting for clock skew. - * As well, if any of the above claims are not in the token, it will still - * be considered a valid claim. - */ - valid(): void - } -} - -/** - * Package multipart implements MIME multipart parsing, as defined in RFC - * 2046. - * - * The implementation is sufficient for HTTP (RFC 2388) and the multipart - * bodies generated by popular browsers. - * - * # Limits - * - * To protect against malicious inputs, this package sets limits on the size - * of the MIME data it processes. - * - * Reader.NextPart and Reader.NextRawPart limit the number of headers in a - * part to 10000 and Reader.ReadForm limits the total number of headers in all - * FileHeaders to 10000. - * These limits may be adjusted with the GODEBUG=multipartmaxheaders= - * setting. - * - * Reader.ReadForm further limits the number of parts in a form to 1000. - * This limit may be adjusted with the GODEBUG=multipartmaxparts= - * setting. - */ -/** - * Copyright 2023 The Go Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ -namespace multipart { - /** - * A FileHeader describes a file part of a multipart request. - */ - interface FileHeader { - filename: string - header: textproto.MIMEHeader - size: number - } - interface FileHeader { - /** - * Open opens and returns the FileHeader's associated File. - */ - open(): File - } -} - /** * Package http provides HTTP client and server implementations. * @@ -10172,6 +9068,1960 @@ namespace http { } } +/** + * Package exec runs external commands. It wraps os.StartProcess to make it + * easier to remap stdin and stdout, connect I/O with pipes, and do other + * adjustments. + * + * Unlike the "system" library call from C and other languages, the + * os/exec package intentionally does not invoke the system shell and + * does not expand any glob patterns or handle other expansions, + * pipelines, or redirections typically done by shells. The package + * behaves more like C's "exec" family of functions. To expand glob + * patterns, either call the shell directly, taking care to escape any + * dangerous input, or use the path/filepath package's Glob function. + * To expand environment variables, use package os's ExpandEnv. + * + * Note that the examples in this package assume a Unix system. + * They may not run on Windows, and they do not run in the Go Playground + * used by golang.org and godoc.org. + * + * # Executables in the current directory + * + * The functions Command and LookPath look for a program + * in the directories listed in the current path, following the + * conventions of the host operating system. + * Operating systems have for decades included the current + * directory in this search, sometimes implicitly and sometimes + * configured explicitly that way by default. + * Modern practice is that including the current directory + * is usually unexpected and often leads to security problems. + * + * To avoid those security problems, as of Go 1.19, this package will not resolve a program + * using an implicit or explicit path entry relative to the current directory. + * That is, if you run exec.LookPath("go"), it will not successfully return + * ./go on Unix nor .\go.exe on Windows, no matter how the path is configured. + * Instead, if the usual path algorithms would result in that answer, + * these functions return an error err satisfying errors.Is(err, ErrDot). + * + * For example, consider these two program snippets: + * + * ``` + * path, err := exec.LookPath("prog") + * if err != nil { + * log.Fatal(err) + * } + * use(path) + * ``` + * + * and + * + * ``` + * cmd := exec.Command("prog") + * if err := cmd.Run(); err != nil { + * log.Fatal(err) + * } + * ``` + * + * These will not find and run ./prog or .\prog.exe, + * no matter how the current path is configured. + * + * Code that always wants to run a program from the current directory + * can be rewritten to say "./prog" instead of "prog". + * + * Code that insists on including results from relative path entries + * can instead override the error using an errors.Is check: + * + * ``` + * path, err := exec.LookPath("prog") + * if errors.Is(err, exec.ErrDot) { + * err = nil + * } + * if err != nil { + * log.Fatal(err) + * } + * use(path) + * ``` + * + * and + * + * ``` + * cmd := exec.Command("prog") + * if errors.Is(cmd.Err, exec.ErrDot) { + * cmd.Err = nil + * } + * if err := cmd.Run(); err != nil { + * log.Fatal(err) + * } + * ``` + * + * Setting the environment variable GODEBUG=execerrdot=0 + * disables generation of ErrDot entirely, temporarily restoring the pre-Go 1.19 + * behavior for programs that are unable to apply more targeted fixes. + * A future version of Go may remove support for this variable. + * + * Before adding such overrides, make sure you understand the + * security implications of doing so. + * See https://go.dev/blog/path-security for more information. + */ +namespace exec { + /** + * Cmd represents an external command being prepared or run. + * + * A Cmd cannot be reused after calling its Run, Output or CombinedOutput + * methods. + */ + interface Cmd { + /** + * Path is the path of the command to run. + * + * This is the only field that must be set to a non-zero + * value. If Path is relative, it is evaluated relative + * to Dir. + */ + path: string + /** + * Args holds command line arguments, including the command as Args[0]. + * If the Args field is empty or nil, Run uses {Path}. + * + * In typical use, both Path and Args are set by calling Command. + */ + args: Array + /** + * Env specifies the environment of the process. + * Each entry is of the form "key=value". + * If Env is nil, the new process uses the current process's + * environment. + * If Env contains duplicate environment keys, only the last + * value in the slice for each duplicate key is used. + * As a special case on Windows, SYSTEMROOT is always added if + * missing and not explicitly set to the empty string. + */ + env: Array + /** + * Dir specifies the working directory of the command. + * If Dir is the empty string, Run runs the command in the + * calling process's current directory. + */ + dir: string + /** + * Stdin specifies the process's standard input. + * + * If Stdin is nil, the process reads from the null device (os.DevNull). + * + * If Stdin is an *os.File, the process's standard input is connected + * directly to that file. + * + * Otherwise, during the execution of the command a separate + * goroutine reads from Stdin and delivers that data to the command + * over a pipe. In this case, Wait does not complete until the goroutine + * stops copying, either because it has reached the end of Stdin + * (EOF or a read error), or because writing to the pipe returned an error, + * or because a nonzero WaitDelay was set and expired. + */ + stdin: io.Reader + /** + * Stdout and Stderr specify the process's standard output and error. + * + * If either is nil, Run connects the corresponding file descriptor + * to the null device (os.DevNull). + * + * If either is an *os.File, the corresponding output from the process + * is connected directly to that file. + * + * Otherwise, during the execution of the command a separate goroutine + * reads from the process over a pipe and delivers that data to the + * corresponding Writer. In this case, Wait does not complete until the + * goroutine reaches EOF or encounters an error or a nonzero WaitDelay + * expires. + * + * If Stdout and Stderr are the same writer, and have a type that can + * be compared with ==, at most one goroutine at a time will call Write. + */ + stdout: io.Writer + stderr: io.Writer + /** + * ExtraFiles specifies additional open files to be inherited by the + * new process. It does not include standard input, standard output, or + * standard error. If non-nil, entry i becomes file descriptor 3+i. + * + * ExtraFiles is not supported on Windows. + */ + extraFiles: Array<(os.File | undefined)> + /** + * SysProcAttr holds optional, operating system-specific attributes. + * Run passes it to os.StartProcess as the os.ProcAttr's Sys field. + */ + sysProcAttr?: syscall.SysProcAttr + /** + * Process is the underlying process, once started. + */ + process?: os.Process + /** + * ProcessState contains information about an exited process. + * If the process was started successfully, Wait or Run will + * populate its ProcessState when the command completes. + */ + processState?: os.ProcessState + err: Error // LookPath error, if any. + /** + * If Cancel is non-nil, the command must have been created with + * CommandContext and Cancel will be called when the command's + * Context is done. By default, CommandContext sets Cancel to + * call the Kill method on the command's Process. + * + * Typically a custom Cancel will send a signal to the command's + * Process, but it may instead take other actions to initiate cancellation, + * such as closing a stdin or stdout pipe or sending a shutdown request on a + * network socket. + * + * If the command exits with a success status after Cancel is + * called, and Cancel does not return an error equivalent to + * os.ErrProcessDone, then Wait and similar methods will return a non-nil + * error: either an error wrapping the one returned by Cancel, + * or the error from the Context. + * (If the command exits with a non-success status, or Cancel + * returns an error that wraps os.ErrProcessDone, Wait and similar methods + * continue to return the command's usual exit status.) + * + * If Cancel is set to nil, nothing will happen immediately when the command's + * Context is done, but a nonzero WaitDelay will still take effect. That may + * be useful, for example, to work around deadlocks in commands that do not + * support shutdown signals but are expected to always finish quickly. + * + * Cancel will not be called if Start returns a non-nil error. + */ + cancel: () => void + /** + * If WaitDelay is non-zero, it bounds the time spent waiting on two sources + * of unexpected delay in Wait: a child process that fails to exit after the + * associated Context is canceled, and a child process that exits but leaves + * its I/O pipes unclosed. + * + * The WaitDelay timer starts when either the associated Context is done or a + * call to Wait observes that the child process has exited, whichever occurs + * first. When the delay has elapsed, the command shuts down the child process + * and/or its I/O pipes. + * + * If the child process has failed to exit — perhaps because it ignored or + * failed to receive a shutdown signal from a Cancel function, or because no + * Cancel function was set — then it will be terminated using os.Process.Kill. + * + * Then, if the I/O pipes communicating with the child process are still open, + * those pipes are closed in order to unblock any goroutines currently blocked + * on Read or Write calls. + * + * If pipes are closed due to WaitDelay, no Cancel call has occurred, + * and the command has otherwise exited with a successful status, Wait and + * similar methods will return ErrWaitDelay instead of nil. + * + * If WaitDelay is zero (the default), I/O pipes will be read until EOF, + * which might not occur until orphaned subprocesses of the command have + * also closed their descriptors for the pipes. + */ + waitDelay: time.Duration + } + interface Cmd { + /** + * String returns a human-readable description of c. + * It is intended only for debugging. + * In particular, it is not suitable for use as input to a shell. + * The output of String may vary across Go releases. + */ + string(): string + } + interface Cmd { + /** + * Run starts the specified command and waits for it to complete. + * + * The returned error is nil if the command runs, has no problems + * copying stdin, stdout, and stderr, and exits with a zero exit + * status. + * + * If the command starts but does not complete successfully, the error is of + * type *ExitError. Other error types may be returned for other situations. + * + * If the calling goroutine has locked the operating system thread + * with runtime.LockOSThread and modified any inheritable OS-level + * thread state (for example, Linux or Plan 9 name spaces), the new + * process will inherit the caller's thread state. + */ + run(): void + } + interface Cmd { + /** + * Start starts the specified command but does not wait for it to complete. + * + * If Start returns successfully, the c.Process field will be set. + * + * After a successful call to Start the Wait method must be called in + * order to release associated system resources. + */ + start(): void + } + interface Cmd { + /** + * Wait waits for the command to exit and waits for any copying to + * stdin or copying from stdout or stderr to complete. + * + * The command must have been started by Start. + * + * The returned error is nil if the command runs, has no problems + * copying stdin, stdout, and stderr, and exits with a zero exit + * status. + * + * If the command fails to run or doesn't complete successfully, the + * error is of type *ExitError. Other error types may be + * returned for I/O problems. + * + * If any of c.Stdin, c.Stdout or c.Stderr are not an *os.File, Wait also waits + * for the respective I/O loop copying to or from the process to complete. + * + * Wait releases any resources associated with the Cmd. + */ + wait(): void + } + interface Cmd { + /** + * Output runs the command and returns its standard output. + * Any returned error will usually be of type *ExitError. + * If c.Stderr was nil, Output populates ExitError.Stderr. + */ + output(): string|Array + } + interface Cmd { + /** + * CombinedOutput runs the command and returns its combined standard + * output and standard error. + */ + combinedOutput(): string|Array + } + interface Cmd { + /** + * StdinPipe returns a pipe that will be connected to the command's + * standard input when the command starts. + * The pipe will be closed automatically after Wait sees the command exit. + * A caller need only call Close to force the pipe to close sooner. + * For example, if the command being run will not exit until standard input + * is closed, the caller must close the pipe. + */ + stdinPipe(): io.WriteCloser + } + interface Cmd { + /** + * StdoutPipe returns a pipe that will be connected to the command's + * standard output when the command starts. + * + * Wait will close the pipe after seeing the command exit, so most callers + * need not close the pipe themselves. It is thus incorrect to call Wait + * before all reads from the pipe have completed. + * For the same reason, it is incorrect to call Run when using StdoutPipe. + * See the example for idiomatic usage. + */ + stdoutPipe(): io.ReadCloser + } + interface Cmd { + /** + * StderrPipe returns a pipe that will be connected to the command's + * standard error when the command starts. + * + * Wait will close the pipe after seeing the command exit, so most callers + * need not close the pipe themselves. It is thus incorrect to call Wait + * before all reads from the pipe have completed. + * For the same reason, it is incorrect to use Run when using StderrPipe. + * See the StdoutPipe example for idiomatic usage. + */ + stderrPipe(): io.ReadCloser + } + interface Cmd { + /** + * Environ returns a copy of the environment in which the command would be run + * as it is currently configured. + */ + environ(): Array + } +} + +/** + * Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html + * + * See README.md for more info. + */ +namespace jwt { + /** + * MapClaims is a claims type that uses the map[string]interface{} for JSON decoding. + * This is the default claims type if you don't supply one + */ + interface MapClaims extends _TygojaDict{} + interface MapClaims { + /** + * VerifyAudience Compares the aud claim against cmp. + * If required is false, this method will return true if the value matches or is unset + */ + verifyAudience(cmp: string, req: boolean): boolean + } + interface MapClaims { + /** + * VerifyExpiresAt compares the exp claim against cmp (cmp <= exp). + * If req is false, it will return true, if exp is unset. + */ + verifyExpiresAt(cmp: number, req: boolean): boolean + } + interface MapClaims { + /** + * VerifyIssuedAt compares the exp claim against cmp (cmp >= iat). + * If req is false, it will return true, if iat is unset. + */ + verifyIssuedAt(cmp: number, req: boolean): boolean + } + interface MapClaims { + /** + * VerifyNotBefore compares the nbf claim against cmp (cmp >= nbf). + * If req is false, it will return true, if nbf is unset. + */ + verifyNotBefore(cmp: number, req: boolean): boolean + } + interface MapClaims { + /** + * VerifyIssuer compares the iss claim against cmp. + * If required is false, this method will return true if the value matches or is unset + */ + verifyIssuer(cmp: string, req: boolean): boolean + } + interface MapClaims { + /** + * Valid validates time based claims "exp, iat, nbf". + * There is no accounting for clock skew. + * As well, if any of the above claims are not in the token, it will still + * be considered a valid claim. + */ + valid(): void + } +} + +/** + * Package blob provides an easy and portable way to interact with blobs + * within a storage location. Subpackages contain driver implementations of + * blob for supported services. + * + * See https://gocloud.dev/howto/blob/ for a detailed how-to guide. + * + * *blob.Bucket implements io/fs.FS and io/fs.SubFS, so it can be used with + * functions in that package. + * + * # Errors + * + * The errors returned from this package can be inspected in several ways: + * + * The Code function from gocloud.dev/gcerrors will return an error code, also + * defined in that package, when invoked on an error. + * + * The Bucket.ErrorAs method can retrieve the driver error underlying the returned + * error. + * + * # OpenCensus Integration + * + * OpenCensus supports tracing and metric collection for multiple languages and + * backend providers. See https://opencensus.io. + * + * This API collects OpenCensus traces and metrics for the following methods: + * ``` + * - Attributes + * - Copy + * - Delete + * - ListPage + * - NewRangeReader, from creation until the call to Close. (NewReader and ReadAll + * are included because they call NewRangeReader.) + * - NewWriter, from creation until the call to Close. + * ``` + * + * All trace and metric names begin with the package import path. + * The traces add the method name. + * For example, "gocloud.dev/blob/Attributes". + * The metrics are "completed_calls", a count of completed method calls by driver, + * method and status (error code); and "latency", a distribution of method latency + * by driver and method. + * For example, "gocloud.dev/blob/latency". + * + * It also collects the following metrics: + * ``` + * - gocloud.dev/blob/bytes_read: the total number of bytes read, by driver. + * - gocloud.dev/blob/bytes_written: the total number of bytes written, by driver. + * ``` + * + * To enable trace collection in your application, see "Configure Exporter" at + * https://opencensus.io/quickstart/go/tracing. + * To enable metric collection in your application, see "Exporting stats" at + * https://opencensus.io/quickstart/go/metrics. + */ +namespace blob { + /** + * Reader reads bytes from a blob. + * It implements io.ReadSeekCloser, and must be closed after + * reads are finished. + */ + interface Reader { + } + interface Reader { + /** + * Read implements io.Reader (https://golang.org/pkg/io/#Reader). + */ + read(p: string|Array): number + } + interface Reader { + /** + * Seek implements io.Seeker (https://golang.org/pkg/io/#Seeker). + */ + seek(offset: number, whence: number): number + } + interface Reader { + /** + * Close implements io.Closer (https://golang.org/pkg/io/#Closer). + */ + close(): void + } + interface Reader { + /** + * ContentType returns the MIME type of the blob. + */ + contentType(): string + } + interface Reader { + /** + * ModTime returns the time the blob was last modified. + */ + modTime(): time.Time + } + interface Reader { + /** + * Size returns the size of the blob content in bytes. + */ + size(): number + } + interface Reader { + /** + * As converts i to driver-specific types. + * See https://gocloud.dev/concepts/as/ for background information, the "As" + * examples in this package for examples, and the driver package + * documentation for the specific types supported for that driver. + */ + as(i: { + }): boolean + } + interface Reader { + /** + * WriteTo reads from r and writes to w until there's no more data or + * an error occurs. + * The return value is the number of bytes written to w. + * + * It implements the io.WriterTo interface. + */ + writeTo(w: io.Writer): number + } + /** + * Attributes contains attributes about a blob. + */ + interface Attributes { + /** + * CacheControl specifies caching attributes that services may use + * when serving the blob. + * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control + */ + cacheControl: string + /** + * ContentDisposition specifies whether the blob content is expected to be + * displayed inline or as an attachment. + * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition + */ + contentDisposition: string + /** + * ContentEncoding specifies the encoding used for the blob's content, if any. + * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding + */ + contentEncoding: string + /** + * ContentLanguage specifies the language used in the blob's content, if any. + * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language + */ + contentLanguage: string + /** + * ContentType is the MIME type of the blob. It will not be empty. + * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type + */ + contentType: string + /** + * Metadata holds key/value pairs associated with the blob. + * Keys are guaranteed to be in lowercase, even if the backend service + * has case-sensitive keys (although note that Metadata written via + * this package will always be lowercased). If there are duplicate + * case-insensitive keys (e.g., "foo" and "FOO"), only one value + * will be kept, and it is undefined which one. + */ + metadata: _TygojaDict + /** + * CreateTime is the time the blob was created, if available. If not available, + * CreateTime will be the zero time. + */ + createTime: time.Time + /** + * ModTime is the time the blob was last modified. + */ + modTime: time.Time + /** + * Size is the size of the blob's content in bytes. + */ + size: number + /** + * MD5 is an MD5 hash of the blob contents or nil if not available. + */ + md5: string|Array + /** + * ETag for the blob; see https://en.wikipedia.org/wiki/HTTP_ETag. + */ + eTag: string + } + interface Attributes { + /** + * As converts i to driver-specific types. + * See https://gocloud.dev/concepts/as/ for background information, the "As" + * examples in this package for examples, and the driver package + * documentation for the specific types supported for that driver. + */ + as(i: { + }): boolean + } + /** + * ListObject represents a single blob returned from List. + */ + interface ListObject { + /** + * Key is the key for this blob. + */ + key: string + /** + * ModTime is the time the blob was last modified. + */ + modTime: time.Time + /** + * Size is the size of the blob's content in bytes. + */ + size: number + /** + * MD5 is an MD5 hash of the blob contents or nil if not available. + */ + md5: string|Array + /** + * IsDir indicates that this result represents a "directory" in the + * hierarchical namespace, ending in ListOptions.Delimiter. Key can be + * passed as ListOptions.Prefix to list items in the "directory". + * Fields other than Key and IsDir will not be set if IsDir is true. + */ + isDir: boolean + } + interface ListObject { + /** + * As converts i to driver-specific types. + * See https://gocloud.dev/concepts/as/ for background information, the "As" + * examples in this package for examples, and the driver package + * documentation for the specific types supported for that driver. + */ + as(i: { + }): boolean + } +} + +/** + * Package schema implements custom Schema and SchemaField datatypes + * for handling the Collection schema definitions. + */ +namespace schema { + // @ts-ignore + import validation = ozzo_validation + /** + * Schema defines a dynamic db schema as a slice of `SchemaField`s. + */ + interface Schema { + } + interface Schema { + /** + * Fields returns the registered schema fields. + */ + fields(): Array<(SchemaField | undefined)> + } + interface Schema { + /** + * InitFieldsOptions calls `InitOptions()` for all schema fields. + */ + initFieldsOptions(): void + } + interface Schema { + /** + * Clone creates a deep clone of the current schema. + */ + clone(): (Schema) + } + interface Schema { + /** + * AsMap returns a map with all registered schema field. + * The returned map is indexed with each field name. + */ + asMap(): _TygojaDict + } + interface Schema { + /** + * GetFieldById returns a single field by its id. + */ + getFieldById(id: string): (SchemaField) + } + interface Schema { + /** + * GetFieldByName returns a single field by its name. + */ + getFieldByName(name: string): (SchemaField) + } + interface Schema { + /** + * RemoveField removes a single schema field by its id. + * + * This method does nothing if field with `id` doesn't exist. + */ + removeField(id: string): void + } + interface Schema { + /** + * AddField registers the provided newField to the current schema. + * + * If field with `newField.Id` already exist, the existing field is + * replaced with the new one. + * + * Otherwise the new field is appended to the other schema fields. + */ + addField(newField: SchemaField): void + } + interface Schema { + /** + * Validate makes Schema validatable by implementing [validation.Validatable] interface. + * + * Internally calls each individual field's validator and additionally + * checks for invalid renamed fields and field name duplications. + */ + validate(): void + } + interface Schema { + /** + * MarshalJSON implements the [json.Marshaler] interface. + */ + marshalJSON(): string|Array + } + interface Schema { + /** + * UnmarshalJSON implements the [json.Unmarshaler] interface. + * + * On success, all schema field options are auto initialized. + */ + unmarshalJSON(data: string|Array): void + } + interface Schema { + /** + * Value implements the [driver.Valuer] interface. + */ + value(): any + } + interface Schema { + /** + * Scan implements [sql.Scanner] interface to scan the provided value + * into the current Schema instance. + */ + scan(value: any): void + } +} + +/** + * Package sql provides a generic interface around SQL (or SQL-like) + * databases. + * + * The sql package must be used in conjunction with a database driver. + * See https://golang.org/s/sqldrivers for a list of drivers. + * + * Drivers that do not support context cancellation will not return until + * after the query is completed. + * + * For usage examples, see the wiki page at + * https://golang.org/s/sqlwiki. + */ +namespace sql { + /** + * TxOptions holds the transaction options to be used in DB.BeginTx. + */ + interface TxOptions { + /** + * Isolation is the transaction isolation level. + * If zero, the driver or database's default level is used. + */ + isolation: IsolationLevel + readOnly: boolean + } + /** + * DB is a database handle representing a pool of zero or more + * underlying connections. It's safe for concurrent use by multiple + * goroutines. + * + * The sql package creates and frees connections automatically; it + * also maintains a free pool of idle connections. If the database has + * a concept of per-connection state, such state can be reliably observed + * within a transaction (Tx) or connection (Conn). Once DB.Begin is called, the + * returned Tx is bound to a single connection. Once Commit or + * Rollback is called on the transaction, that transaction's + * connection is returned to DB's idle connection pool. The pool size + * can be controlled with SetMaxIdleConns. + */ + interface DB { + } + interface DB { + /** + * PingContext verifies a connection to the database is still alive, + * establishing a connection if necessary. + */ + pingContext(ctx: context.Context): void + } + interface DB { + /** + * Ping verifies a connection to the database is still alive, + * establishing a connection if necessary. + * + * Ping uses context.Background internally; to specify the context, use + * PingContext. + */ + ping(): void + } + interface DB { + /** + * Close closes the database and prevents new queries from starting. + * Close then waits for all queries that have started processing on the server + * to finish. + * + * It is rare to Close a DB, as the DB handle is meant to be + * long-lived and shared between many goroutines. + */ + close(): void + } + interface DB { + /** + * SetMaxIdleConns sets the maximum number of connections in the idle + * connection pool. + * + * If MaxOpenConns is greater than 0 but less than the new MaxIdleConns, + * then the new MaxIdleConns will be reduced to match the MaxOpenConns limit. + * + * If n <= 0, no idle connections are retained. + * + * The default max idle connections is currently 2. This may change in + * a future release. + */ + setMaxIdleConns(n: number): void + } + interface DB { + /** + * SetMaxOpenConns sets the maximum number of open connections to the database. + * + * If MaxIdleConns is greater than 0 and the new MaxOpenConns is less than + * MaxIdleConns, then MaxIdleConns will be reduced to match the new + * MaxOpenConns limit. + * + * If n <= 0, then there is no limit on the number of open connections. + * The default is 0 (unlimited). + */ + setMaxOpenConns(n: number): void + } + interface DB { + /** + * SetConnMaxLifetime sets the maximum amount of time a connection may be reused. + * + * Expired connections may be closed lazily before reuse. + * + * If d <= 0, connections are not closed due to a connection's age. + */ + setConnMaxLifetime(d: time.Duration): void + } + interface DB { + /** + * SetConnMaxIdleTime sets the maximum amount of time a connection may be idle. + * + * Expired connections may be closed lazily before reuse. + * + * If d <= 0, connections are not closed due to a connection's idle time. + */ + setConnMaxIdleTime(d: time.Duration): void + } + interface DB { + /** + * Stats returns database statistics. + */ + stats(): DBStats + } + interface DB { + /** + * PrepareContext creates a prepared statement for later queries or executions. + * Multiple queries or executions may be run concurrently from the + * returned statement. + * The caller must call the statement's Close method + * when the statement is no longer needed. + * + * The provided context is used for the preparation of the statement, not for the + * execution of the statement. + */ + prepareContext(ctx: context.Context, query: string): (Stmt) + } + interface DB { + /** + * Prepare creates a prepared statement for later queries or executions. + * Multiple queries or executions may be run concurrently from the + * returned statement. + * The caller must call the statement's Close method + * when the statement is no longer needed. + * + * Prepare uses context.Background internally; to specify the context, use + * PrepareContext. + */ + prepare(query: string): (Stmt) + } + interface DB { + /** + * ExecContext executes a query without returning any rows. + * The args are for any placeholder parameters in the query. + */ + execContext(ctx: context.Context, query: string, ...args: any[]): Result + } + interface DB { + /** + * Exec executes a query without returning any rows. + * The args are for any placeholder parameters in the query. + * + * Exec uses context.Background internally; to specify the context, use + * ExecContext. + */ + exec(query: string, ...args: any[]): Result + } + interface DB { + /** + * QueryContext executes a query that returns rows, typically a SELECT. + * The args are for any placeholder parameters in the query. + */ + queryContext(ctx: context.Context, query: string, ...args: any[]): (Rows) + } + interface DB { + /** + * Query executes a query that returns rows, typically a SELECT. + * The args are for any placeholder parameters in the query. + * + * Query uses context.Background internally; to specify the context, use + * QueryContext. + */ + query(query: string, ...args: any[]): (Rows) + } + interface DB { + /** + * QueryRowContext executes a query that is expected to return at most one row. + * QueryRowContext always returns a non-nil value. Errors are deferred until + * Row's Scan method is called. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + */ + queryRowContext(ctx: context.Context, query: string, ...args: any[]): (Row) + } + interface DB { + /** + * QueryRow executes a query that is expected to return at most one row. + * QueryRow always returns a non-nil value. Errors are deferred until + * Row's Scan method is called. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + * + * QueryRow uses context.Background internally; to specify the context, use + * QueryRowContext. + */ + queryRow(query: string, ...args: any[]): (Row) + } + interface DB { + /** + * BeginTx starts a transaction. + * + * The provided context is used until the transaction is committed or rolled back. + * If the context is canceled, the sql package will roll back + * the transaction. Tx.Commit will return an error if the context provided to + * BeginTx is canceled. + * + * The provided TxOptions is optional and may be nil if defaults should be used. + * If a non-default isolation level is used that the driver doesn't support, + * an error will be returned. + */ + beginTx(ctx: context.Context, opts: TxOptions): (Tx) + } + interface DB { + /** + * Begin starts a transaction. The default isolation level is dependent on + * the driver. + * + * Begin uses context.Background internally; to specify the context, use + * BeginTx. + */ + begin(): (Tx) + } + interface DB { + /** + * Driver returns the database's underlying driver. + */ + driver(): any + } + interface DB { + /** + * Conn returns a single connection by either opening a new connection + * or returning an existing connection from the connection pool. Conn will + * block until either a connection is returned or ctx is canceled. + * Queries run on the same Conn will be run in the same database session. + * + * Every Conn must be returned to the database pool after use by + * calling Conn.Close. + */ + conn(ctx: context.Context): (Conn) + } + /** + * Tx is an in-progress database transaction. + * + * A transaction must end with a call to Commit or Rollback. + * + * After a call to Commit or Rollback, all operations on the + * transaction fail with ErrTxDone. + * + * The statements prepared for a transaction by calling + * the transaction's Prepare or Stmt methods are closed + * by the call to Commit or Rollback. + */ + interface Tx { + } + interface Tx { + /** + * Commit commits the transaction. + */ + commit(): void + } + interface Tx { + /** + * Rollback aborts the transaction. + */ + rollback(): void + } + interface Tx { + /** + * PrepareContext creates a prepared statement for use within a transaction. + * + * The returned statement operates within the transaction and will be closed + * when the transaction has been committed or rolled back. + * + * To use an existing prepared statement on this transaction, see Tx.Stmt. + * + * The provided context will be used for the preparation of the context, not + * for the execution of the returned statement. The returned statement + * will run in the transaction context. + */ + prepareContext(ctx: context.Context, query: string): (Stmt) + } + interface Tx { + /** + * Prepare creates a prepared statement for use within a transaction. + * + * The returned statement operates within the transaction and will be closed + * when the transaction has been committed or rolled back. + * + * To use an existing prepared statement on this transaction, see Tx.Stmt. + * + * Prepare uses context.Background internally; to specify the context, use + * PrepareContext. + */ + prepare(query: string): (Stmt) + } + interface Tx { + /** + * StmtContext returns a transaction-specific prepared statement from + * an existing statement. + * + * Example: + * + * ``` + * updateMoney, err := db.Prepare("UPDATE balance SET money=money+? WHERE id=?") + * ... + * tx, err := db.Begin() + * ... + * res, err := tx.StmtContext(ctx, updateMoney).Exec(123.45, 98293203) + * ``` + * + * The provided context is used for the preparation of the statement, not for the + * execution of the statement. + * + * The returned statement operates within the transaction and will be closed + * when the transaction has been committed or rolled back. + */ + stmtContext(ctx: context.Context, stmt: Stmt): (Stmt) + } + interface Tx { + /** + * Stmt returns a transaction-specific prepared statement from + * an existing statement. + * + * Example: + * + * ``` + * updateMoney, err := db.Prepare("UPDATE balance SET money=money+? WHERE id=?") + * ... + * tx, err := db.Begin() + * ... + * res, err := tx.Stmt(updateMoney).Exec(123.45, 98293203) + * ``` + * + * The returned statement operates within the transaction and will be closed + * when the transaction has been committed or rolled back. + * + * Stmt uses context.Background internally; to specify the context, use + * StmtContext. + */ + stmt(stmt: Stmt): (Stmt) + } + interface Tx { + /** + * ExecContext executes a query that doesn't return rows. + * For example: an INSERT and UPDATE. + */ + execContext(ctx: context.Context, query: string, ...args: any[]): Result + } + interface Tx { + /** + * Exec executes a query that doesn't return rows. + * For example: an INSERT and UPDATE. + * + * Exec uses context.Background internally; to specify the context, use + * ExecContext. + */ + exec(query: string, ...args: any[]): Result + } + interface Tx { + /** + * QueryContext executes a query that returns rows, typically a SELECT. + */ + queryContext(ctx: context.Context, query: string, ...args: any[]): (Rows) + } + interface Tx { + /** + * Query executes a query that returns rows, typically a SELECT. + * + * Query uses context.Background internally; to specify the context, use + * QueryContext. + */ + query(query: string, ...args: any[]): (Rows) + } + interface Tx { + /** + * QueryRowContext executes a query that is expected to return at most one row. + * QueryRowContext always returns a non-nil value. Errors are deferred until + * Row's Scan method is called. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + */ + queryRowContext(ctx: context.Context, query: string, ...args: any[]): (Row) + } + interface Tx { + /** + * QueryRow executes a query that is expected to return at most one row. + * QueryRow always returns a non-nil value. Errors are deferred until + * Row's Scan method is called. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + * + * QueryRow uses context.Background internally; to specify the context, use + * QueryRowContext. + */ + queryRow(query: string, ...args: any[]): (Row) + } + /** + * Stmt is a prepared statement. + * A Stmt is safe for concurrent use by multiple goroutines. + * + * If a Stmt is prepared on a Tx or Conn, it will be bound to a single + * underlying connection forever. If the Tx or Conn closes, the Stmt will + * become unusable and all operations will return an error. + * If a Stmt is prepared on a DB, it will remain usable for the lifetime of the + * DB. When the Stmt needs to execute on a new underlying connection, it will + * prepare itself on the new connection automatically. + */ + interface Stmt { + } + interface Stmt { + /** + * ExecContext executes a prepared statement with the given arguments and + * returns a Result summarizing the effect of the statement. + */ + execContext(ctx: context.Context, ...args: any[]): Result + } + interface Stmt { + /** + * Exec executes a prepared statement with the given arguments and + * returns a Result summarizing the effect of the statement. + * + * Exec uses context.Background internally; to specify the context, use + * ExecContext. + */ + exec(...args: any[]): Result + } + interface Stmt { + /** + * QueryContext executes a prepared query statement with the given arguments + * and returns the query results as a *Rows. + */ + queryContext(ctx: context.Context, ...args: any[]): (Rows) + } + interface Stmt { + /** + * Query executes a prepared query statement with the given arguments + * and returns the query results as a *Rows. + * + * Query uses context.Background internally; to specify the context, use + * QueryContext. + */ + query(...args: any[]): (Rows) + } + interface Stmt { + /** + * QueryRowContext executes a prepared query statement with the given arguments. + * If an error occurs during the execution of the statement, that error will + * be returned by a call to Scan on the returned *Row, which is always non-nil. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + */ + queryRowContext(ctx: context.Context, ...args: any[]): (Row) + } + interface Stmt { + /** + * QueryRow executes a prepared query statement with the given arguments. + * If an error occurs during the execution of the statement, that error will + * be returned by a call to Scan on the returned *Row, which is always non-nil. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + * + * Example usage: + * + * ``` + * var name string + * err := nameByUseridStmt.QueryRow(id).Scan(&name) + * ``` + * + * QueryRow uses context.Background internally; to specify the context, use + * QueryRowContext. + */ + queryRow(...args: any[]): (Row) + } + interface Stmt { + /** + * Close closes the statement. + */ + close(): void + } + /** + * Rows is the result of a query. Its cursor starts before the first row + * of the result set. Use Next to advance from row to row. + */ + interface Rows { + } + interface Rows { + /** + * Next prepares the next result row for reading with the Scan method. It + * returns true on success, or false if there is no next result row or an error + * happened while preparing it. Err should be consulted to distinguish between + * the two cases. + * + * Every call to Scan, even the first one, must be preceded by a call to Next. + */ + next(): boolean + } + interface Rows { + /** + * NextResultSet prepares the next result set for reading. It reports whether + * there is further result sets, or false if there is no further result set + * or if there is an error advancing to it. The Err method should be consulted + * to distinguish between the two cases. + * + * After calling NextResultSet, the Next method should always be called before + * scanning. If there are further result sets they may not have rows in the result + * set. + */ + nextResultSet(): boolean + } + interface Rows { + /** + * Err returns the error, if any, that was encountered during iteration. + * Err may be called after an explicit or implicit Close. + */ + err(): void + } + interface Rows { + /** + * Columns returns the column names. + * Columns returns an error if the rows are closed. + */ + columns(): Array + } + interface Rows { + /** + * ColumnTypes returns column information such as column type, length, + * and nullable. Some information may not be available from some drivers. + */ + columnTypes(): Array<(ColumnType | undefined)> + } + interface Rows { + /** + * Scan copies the columns in the current row into the values pointed + * at by dest. The number of values in dest must be the same as the + * number of columns in Rows. + * + * Scan converts columns read from the database into the following + * common Go types and special types provided by the sql package: + * + * ``` + * *string + * *[]byte + * *int, *int8, *int16, *int32, *int64 + * *uint, *uint8, *uint16, *uint32, *uint64 + * *bool + * *float32, *float64 + * *interface{} + * *RawBytes + * *Rows (cursor value) + * any type implementing Scanner (see Scanner docs) + * ``` + * + * In the most simple case, if the type of the value from the source + * column is an integer, bool or string type T and dest is of type *T, + * Scan simply assigns the value through the pointer. + * + * Scan also converts between string and numeric types, as long as no + * information would be lost. While Scan stringifies all numbers + * scanned from numeric database columns into *string, scans into + * numeric types are checked for overflow. For example, a float64 with + * value 300 or a string with value "300" can scan into a uint16, but + * not into a uint8, though float64(255) or "255" can scan into a + * uint8. One exception is that scans of some float64 numbers to + * strings may lose information when stringifying. In general, scan + * floating point columns into *float64. + * + * If a dest argument has type *[]byte, Scan saves in that argument a + * copy of the corresponding data. The copy is owned by the caller and + * can be modified and held indefinitely. The copy can be avoided by + * using an argument of type *RawBytes instead; see the documentation + * for RawBytes for restrictions on its use. + * + * If an argument has type *interface{}, Scan copies the value + * provided by the underlying driver without conversion. When scanning + * from a source value of type []byte to *interface{}, a copy of the + * slice is made and the caller owns the result. + * + * Source values of type time.Time may be scanned into values of type + * *time.Time, *interface{}, *string, or *[]byte. When converting to + * the latter two, time.RFC3339Nano is used. + * + * Source values of type bool may be scanned into types *bool, + * *interface{}, *string, *[]byte, or *RawBytes. + * + * For scanning into *bool, the source may be true, false, 1, 0, or + * string inputs parseable by strconv.ParseBool. + * + * Scan can also convert a cursor returned from a query, such as + * "select cursor(select * from my_table) from dual", into a + * *Rows value that can itself be scanned from. The parent + * select query will close any cursor *Rows if the parent *Rows is closed. + * + * If any of the first arguments implementing Scanner returns an error, + * that error will be wrapped in the returned error. + */ + scan(...dest: any[]): void + } + interface Rows { + /** + * Close closes the Rows, preventing further enumeration. If Next is called + * and returns false and there are no further result sets, + * the Rows are closed automatically and it will suffice to check the + * result of Err. Close is idempotent and does not affect the result of Err. + */ + close(): void + } + /** + * A Result summarizes an executed SQL command. + */ + interface Result { + [key:string]: any; + /** + * LastInsertId returns the integer generated by the database + * in response to a command. Typically this will be from an + * "auto increment" column when inserting a new row. Not all + * databases support this feature, and the syntax of such + * statements varies. + */ + lastInsertId(): number + /** + * RowsAffected returns the number of rows affected by an + * update, insert, or delete. Not every database or database + * driver may support this. + */ + rowsAffected(): number + } +} + +/** + * Package models implements all PocketBase DB models and DTOs. + */ +namespace models { + type _subkfcjm = BaseModel + interface Admin extends _subkfcjm { + avatar: number + email: string + tokenKey: string + passwordHash: string + lastResetSentAt: types.DateTime + } + interface Admin { + /** + * TableName returns the Admin model SQL table name. + */ + tableName(): string + } + interface Admin { + /** + * ValidatePassword validates a plain password against the model's password. + */ + validatePassword(password: string): boolean + } + interface Admin { + /** + * SetPassword sets cryptographically secure string to `model.Password`. + * + * Additionally this method also resets the LastResetSentAt and the TokenKey fields. + */ + setPassword(password: string): void + } + interface Admin { + /** + * RefreshTokenKey generates and sets new random token key. + */ + refreshTokenKey(): void + } + // @ts-ignore + import validation = ozzo_validation + type _subAPkTn = BaseModel + interface Collection extends _subAPkTn { + name: string + type: string + system: boolean + schema: schema.Schema + indexes: types.JsonArray + /** + * rules + */ + listRule?: string + viewRule?: string + createRule?: string + updateRule?: string + deleteRule?: string + options: types.JsonMap + } + interface Collection { + /** + * TableName returns the Collection model SQL table name. + */ + tableName(): string + } + interface Collection { + /** + * BaseFilesPath returns the storage dir path used by the collection. + */ + baseFilesPath(): string + } + interface Collection { + /** + * IsBase checks if the current collection has "base" type. + */ + isBase(): boolean + } + interface Collection { + /** + * IsAuth checks if the current collection has "auth" type. + */ + isAuth(): boolean + } + interface Collection { + /** + * IsView checks if the current collection has "view" type. + */ + isView(): boolean + } + interface Collection { + /** + * MarshalJSON implements the [json.Marshaler] interface. + */ + marshalJSON(): string|Array + } + interface Collection { + /** + * BaseOptions decodes the current collection options and returns them + * as new [CollectionBaseOptions] instance. + */ + baseOptions(): CollectionBaseOptions + } + interface Collection { + /** + * AuthOptions decodes the current collection options and returns them + * as new [CollectionAuthOptions] instance. + */ + authOptions(): CollectionAuthOptions + } + interface Collection { + /** + * ViewOptions decodes the current collection options and returns them + * as new [CollectionViewOptions] instance. + */ + viewOptions(): CollectionViewOptions + } + interface Collection { + /** + * NormalizeOptions updates the current collection options with a + * new normalized state based on the collection type. + */ + normalizeOptions(): void + } + interface Collection { + /** + * DecodeOptions decodes the current collection options into the + * provided "result" (must be a pointer). + */ + decodeOptions(result: any): void + } + interface Collection { + /** + * SetOptions normalizes and unmarshals the specified options into m.Options. + */ + setOptions(typedOptions: any): void + } + type _subKBies = BaseModel + interface ExternalAuth extends _subKBies { + collectionId: string + recordId: string + provider: string + providerId: string + } + interface ExternalAuth { + tableName(): string + } + type _subOPBty = BaseModel + interface Record extends _subOPBty { + } + interface Record { + /** + * TableName returns the table name associated to the current Record model. + */ + tableName(): string + } + interface Record { + /** + * Collection returns the Collection model associated to the current Record model. + */ + collection(): (Collection) + } + interface Record { + /** + * OriginalCopy returns a copy of the current record model populated + * with its ORIGINAL data state (aka. the initially loaded) and + * everything else reset to the defaults. + */ + originalCopy(): (Record) + } + interface Record { + /** + * CleanCopy returns a copy of the current record model populated only + * with its LATEST data state and everything else reset to the defaults. + */ + cleanCopy(): (Record) + } + interface Record { + /** + * Expand returns a shallow copy of the current Record model expand data. + */ + expand(): _TygojaDict + } + interface Record { + /** + * SetExpand shallow copies the provided data to the current Record model's expand. + */ + setExpand(expand: _TygojaDict): void + } + interface Record { + /** + * MergeExpand merges recursively the provided expand data into + * the current model's expand (if any). + * + * Note that if an expanded prop with the same key is a slice (old or new expand) + * then both old and new records will be merged into a new slice (aka. a :merge: [b,c] => [a,b,c]). + * Otherwise the "old" expanded record will be replace with the "new" one (aka. a :merge: aNew => aNew). + */ + mergeExpand(expand: _TygojaDict): void + } + interface Record { + /** + * SchemaData returns a shallow copy ONLY of the defined record schema fields data. + */ + schemaData(): _TygojaDict + } + interface Record { + /** + * UnknownData returns a shallow copy ONLY of the unknown record fields data, + * aka. fields that are neither one of the base and special system ones, + * nor defined by the collection schema. + */ + unknownData(): _TygojaDict + } + interface Record { + /** + * IgnoreEmailVisibility toggles the flag to ignore the auth record email visibility check. + */ + ignoreEmailVisibility(state: boolean): void + } + interface Record { + /** + * WithUnknownData toggles the export/serialization of unknown data fields + * (false by default). + */ + withUnknownData(state: boolean): void + } + interface Record { + /** + * Set sets the provided key-value data pair for the current Record model. + * + * If the record collection has field with name matching the provided "key", + * the value will be further normalized according to the field rules. + */ + set(key: string, value: any): void + } + interface Record { + /** + * Get returns a normalized single record model data value for "key". + */ + get(key: string): any + } + interface Record { + /** + * GetBool returns the data value for "key" as a bool. + */ + getBool(key: string): boolean + } + interface Record { + /** + * GetString returns the data value for "key" as a string. + */ + getString(key: string): string + } + interface Record { + /** + * GetInt returns the data value for "key" as an int. + */ + getInt(key: string): number + } + interface Record { + /** + * GetFloat returns the data value for "key" as a float64. + */ + getFloat(key: string): number + } + interface Record { + /** + * GetTime returns the data value for "key" as a [time.Time] instance. + */ + getTime(key: string): time.Time + } + interface Record { + /** + * GetDateTime returns the data value for "key" as a DateTime instance. + */ + getDateTime(key: string): types.DateTime + } + interface Record { + /** + * GetStringSlice returns the data value for "key" as a slice of unique strings. + */ + getStringSlice(key: string): Array + } + interface Record { + /** + * ExpandedOne retrieves a single relation Record from the already + * loaded expand data of the current model. + * + * If the requested expand relation is multiple, this method returns + * only first available Record from the expanded relation. + * + * Returns nil if there is no such expand relation loaded. + */ + expandedOne(relField: string): (Record) + } + interface Record { + /** + * ExpandedAll retrieves a slice of relation Records from the already + * loaded expand data of the current model. + * + * If the requested expand relation is single, this method normalizes + * the return result and will wrap the single model as a slice. + * + * Returns nil slice if there is no such expand relation loaded. + */ + expandedAll(relField: string): Array<(Record | undefined)> + } + interface Record { + /** + * Retrieves the "key" json field value and unmarshals it into "result". + * + * Example + * + * ``` + * result := struct { + * FirstName string `json:"first_name"` + * }{} + * err := m.UnmarshalJSONField("my_field_name", &result) + * ``` + */ + unmarshalJSONField(key: string, result: any): void + } + interface Record { + /** + * BaseFilesPath returns the storage dir path used by the record. + */ + baseFilesPath(): string + } + interface Record { + /** + * FindFileFieldByFile returns the first file type field for which + * any of the record's data contains the provided filename. + */ + findFileFieldByFile(filename: string): (schema.SchemaField) + } + interface Record { + /** + * Load bulk loads the provided data into the current Record model. + */ + load(data: _TygojaDict): void + } + interface Record { + /** + * ColumnValueMap implements [ColumnValueMapper] interface. + */ + columnValueMap(): _TygojaDict + } + interface Record { + /** + * PublicExport exports only the record fields that are safe to be public. + * + * For auth records, to force the export of the email field you need to set + * `m.IgnoreEmailVisibility(true)`. + */ + publicExport(): _TygojaDict + } + interface Record { + /** + * MarshalJSON implements the [json.Marshaler] interface. + * + * Only the data exported by `PublicExport()` will be serialized. + */ + marshalJSON(): string|Array + } + interface Record { + /** + * UnmarshalJSON implements the [json.Unmarshaler] interface. + */ + unmarshalJSON(data: string|Array): void + } + interface Record { + /** + * ReplaceModifers returns a new map with applied modifier + * values based on the current record and the specified data. + * + * The resolved modifier keys will be removed. + * + * Multiple modifiers will be applied one after another, + * while reusing the previous base key value result (eg. 1; -5; +2 => -2). + * + * Example usage: + * + * ``` + * newData := record.ReplaceModifers(data) + * // record: {"field": 10} + * // data: {"field+": 5} + * // newData: {"field": 15} + * ``` + */ + replaceModifers(data: _TygojaDict): _TygojaDict + } + interface Record { + /** + * Username returns the "username" auth record data value. + */ + username(): string + } + interface Record { + /** + * SetUsername sets the "username" auth record data value. + * + * This method doesn't check whether the provided value is a valid username. + * + * Returns an error if the record is not from an auth collection. + */ + setUsername(username: string): void + } + interface Record { + /** + * Email returns the "email" auth record data value. + */ + email(): string + } + interface Record { + /** + * SetEmail sets the "email" auth record data value. + * + * This method doesn't check whether the provided value is a valid email. + * + * Returns an error if the record is not from an auth collection. + */ + setEmail(email: string): void + } + interface Record { + /** + * Verified returns the "emailVisibility" auth record data value. + */ + emailVisibility(): boolean + } + interface Record { + /** + * SetEmailVisibility sets the "emailVisibility" auth record data value. + * + * Returns an error if the record is not from an auth collection. + */ + setEmailVisibility(visible: boolean): void + } + interface Record { + /** + * Verified returns the "verified" auth record data value. + */ + verified(): boolean + } + interface Record { + /** + * SetVerified sets the "verified" auth record data value. + * + * Returns an error if the record is not from an auth collection. + */ + setVerified(verified: boolean): void + } + interface Record { + /** + * TokenKey returns the "tokenKey" auth record data value. + */ + tokenKey(): string + } + interface Record { + /** + * SetTokenKey sets the "tokenKey" auth record data value. + * + * Returns an error if the record is not from an auth collection. + */ + setTokenKey(key: string): void + } + interface Record { + /** + * RefreshTokenKey generates and sets new random auth record "tokenKey". + * + * Returns an error if the record is not from an auth collection. + */ + refreshTokenKey(): void + } + interface Record { + /** + * LastResetSentAt returns the "lastResentSentAt" auth record data value. + */ + lastResetSentAt(): types.DateTime + } + interface Record { + /** + * SetLastResetSentAt sets the "lastResentSentAt" auth record data value. + * + * Returns an error if the record is not from an auth collection. + */ + setLastResetSentAt(dateTime: types.DateTime): void + } + interface Record { + /** + * LastVerificationSentAt returns the "lastVerificationSentAt" auth record data value. + */ + lastVerificationSentAt(): types.DateTime + } + interface Record { + /** + * SetLastVerificationSentAt sets an "lastVerificationSentAt" auth record data value. + * + * Returns an error if the record is not from an auth collection. + */ + setLastVerificationSentAt(dateTime: types.DateTime): void + } + interface Record { + /** + * PasswordHash returns the "passwordHash" auth record data value. + */ + passwordHash(): string + } + interface Record { + /** + * ValidatePassword validates a plain password against the auth record password. + * + * Returns false if the password is incorrect or record is not from an auth collection. + */ + validatePassword(password: string): boolean + } + interface Record { + /** + * SetPassword sets cryptographically secure string to the auth record "password" field. + * This method also resets the "lastResetSentAt" and the "tokenKey" fields. + * + * Returns an error if the record is not from an auth collection or + * an empty password is provided. + */ + setPassword(password: string): void + } + /** + * RequestInfo defines a HTTP request data struct, usually used + * as part of the `@request.*` filter resolver. + */ + interface RequestInfo { + query: _TygojaDict + data: _TygojaDict + headers: _TygojaDict + authRecord?: Record + admin?: Admin + method: string + } + interface RequestInfo { + /** + * HasModifierDataKeys loosely checks if the current struct has any modifier Data keys. + */ + hasModifierDataKeys(): boolean + } +} + namespace auth { /** * AuthUser defines a standardized oauth2 user data structure. @@ -10876,237 +11726,6 @@ namespace echo { } } -/** - * Package blob provides an easy and portable way to interact with blobs - * within a storage location. Subpackages contain driver implementations of - * blob for supported services. - * - * See https://gocloud.dev/howto/blob/ for a detailed how-to guide. - * - * *blob.Bucket implements io/fs.FS and io/fs.SubFS, so it can be used with - * functions in that package. - * - * # Errors - * - * The errors returned from this package can be inspected in several ways: - * - * The Code function from gocloud.dev/gcerrors will return an error code, also - * defined in that package, when invoked on an error. - * - * The Bucket.ErrorAs method can retrieve the driver error underlying the returned - * error. - * - * # OpenCensus Integration - * - * OpenCensus supports tracing and metric collection for multiple languages and - * backend providers. See https://opencensus.io. - * - * This API collects OpenCensus traces and metrics for the following methods: - * ``` - * - Attributes - * - Copy - * - Delete - * - ListPage - * - NewRangeReader, from creation until the call to Close. (NewReader and ReadAll - * are included because they call NewRangeReader.) - * - NewWriter, from creation until the call to Close. - * ``` - * - * All trace and metric names begin with the package import path. - * The traces add the method name. - * For example, "gocloud.dev/blob/Attributes". - * The metrics are "completed_calls", a count of completed method calls by driver, - * method and status (error code); and "latency", a distribution of method latency - * by driver and method. - * For example, "gocloud.dev/blob/latency". - * - * It also collects the following metrics: - * ``` - * - gocloud.dev/blob/bytes_read: the total number of bytes read, by driver. - * - gocloud.dev/blob/bytes_written: the total number of bytes written, by driver. - * ``` - * - * To enable trace collection in your application, see "Configure Exporter" at - * https://opencensus.io/quickstart/go/tracing. - * To enable metric collection in your application, see "Exporting stats" at - * https://opencensus.io/quickstart/go/metrics. - */ -namespace blob { - /** - * Reader reads bytes from a blob. - * It implements io.ReadSeekCloser, and must be closed after - * reads are finished. - */ - interface Reader { - } - interface Reader { - /** - * Read implements io.Reader (https://golang.org/pkg/io/#Reader). - */ - read(p: string|Array): number - } - interface Reader { - /** - * Seek implements io.Seeker (https://golang.org/pkg/io/#Seeker). - */ - seek(offset: number, whence: number): number - } - interface Reader { - /** - * Close implements io.Closer (https://golang.org/pkg/io/#Closer). - */ - close(): void - } - interface Reader { - /** - * ContentType returns the MIME type of the blob. - */ - contentType(): string - } - interface Reader { - /** - * ModTime returns the time the blob was last modified. - */ - modTime(): time.Time - } - interface Reader { - /** - * Size returns the size of the blob content in bytes. - */ - size(): number - } - interface Reader { - /** - * As converts i to driver-specific types. - * See https://gocloud.dev/concepts/as/ for background information, the "As" - * examples in this package for examples, and the driver package - * documentation for the specific types supported for that driver. - */ - as(i: { - }): boolean - } - interface Reader { - /** - * WriteTo reads from r and writes to w until there's no more data or - * an error occurs. - * The return value is the number of bytes written to w. - * - * It implements the io.WriterTo interface. - */ - writeTo(w: io.Writer): number - } - /** - * Attributes contains attributes about a blob. - */ - interface Attributes { - /** - * CacheControl specifies caching attributes that services may use - * when serving the blob. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control - */ - cacheControl: string - /** - * ContentDisposition specifies whether the blob content is expected to be - * displayed inline or as an attachment. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition - */ - contentDisposition: string - /** - * ContentEncoding specifies the encoding used for the blob's content, if any. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding - */ - contentEncoding: string - /** - * ContentLanguage specifies the language used in the blob's content, if any. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language - */ - contentLanguage: string - /** - * ContentType is the MIME type of the blob. It will not be empty. - * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type - */ - contentType: string - /** - * Metadata holds key/value pairs associated with the blob. - * Keys are guaranteed to be in lowercase, even if the backend service - * has case-sensitive keys (although note that Metadata written via - * this package will always be lowercased). If there are duplicate - * case-insensitive keys (e.g., "foo" and "FOO"), only one value - * will be kept, and it is undefined which one. - */ - metadata: _TygojaDict - /** - * CreateTime is the time the blob was created, if available. If not available, - * CreateTime will be the zero time. - */ - createTime: time.Time - /** - * ModTime is the time the blob was last modified. - */ - modTime: time.Time - /** - * Size is the size of the blob's content in bytes. - */ - size: number - /** - * MD5 is an MD5 hash of the blob contents or nil if not available. - */ - md5: string|Array - /** - * ETag for the blob; see https://en.wikipedia.org/wiki/HTTP_ETag. - */ - eTag: string - } - interface Attributes { - /** - * As converts i to driver-specific types. - * See https://gocloud.dev/concepts/as/ for background information, the "As" - * examples in this package for examples, and the driver package - * documentation for the specific types supported for that driver. - */ - as(i: { - }): boolean - } - /** - * ListObject represents a single blob returned from List. - */ - interface ListObject { - /** - * Key is the key for this blob. - */ - key: string - /** - * ModTime is the time the blob was last modified. - */ - modTime: time.Time - /** - * Size is the size of the blob's content in bytes. - */ - size: number - /** - * MD5 is an MD5 hash of the blob contents or nil if not available. - */ - md5: string|Array - /** - * IsDir indicates that this result represents a "directory" in the - * hierarchical namespace, ending in ListOptions.Delimiter. Key can be - * passed as ListOptions.Prefix to list items in the "directory". - * Fields other than Key and IsDir will not be set if IsDir is true. - */ - isDir: boolean - } - interface ListObject { - /** - * As converts i to driver-specific types. - * See https://gocloud.dev/concepts/as/ for background information, the "As" - * examples in this package for examples, and the driver package - * documentation for the specific types supported for that driver. - */ - as(i: { - }): boolean - } -} - namespace settings { // @ts-ignore import validation = ozzo_validation @@ -11190,1720 +11809,6 @@ namespace settings { } } -/** - * Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. - * In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. - */ -namespace cobra { - interface Command { - /** - * GenBashCompletion generates bash completion file and writes to the passed writer. - */ - genBashCompletion(w: io.Writer): void - } - interface Command { - /** - * GenBashCompletionFile generates bash completion file. - */ - genBashCompletionFile(filename: string): void - } - interface Command { - /** - * GenBashCompletionFileV2 generates Bash completion version 2. - */ - genBashCompletionFileV2(filename: string, includeDesc: boolean): void - } - interface Command { - /** - * GenBashCompletionV2 generates Bash completion file version 2 - * and writes it to the passed writer. - */ - genBashCompletionV2(w: io.Writer, includeDesc: boolean): void - } - // @ts-ignore - import flag = pflag - /** - * Command is just that, a command for your application. - * E.g. 'go run ...' - 'run' is the command. Cobra requires - * you to define the usage and description as part of your command - * definition to ensure usability. - */ - interface Command { - /** - * Use is the one-line usage message. - * Recommended syntax is as follows: - * ``` - * [ ] identifies an optional argument. Arguments that are not enclosed in brackets are required. - * ... indicates that you can specify multiple values for the previous argument. - * | indicates mutually exclusive information. You can use the argument to the left of the separator or the - * argument to the right of the separator. You cannot use both arguments in a single use of the command. - * { } delimits a set of mutually exclusive arguments when one of the arguments is required. If the arguments are - * optional, they are enclosed in brackets ([ ]). - * ``` - * Example: add [-F file | -D dir]... [-f format] profile - */ - use: string - /** - * Aliases is an array of aliases that can be used instead of the first word in Use. - */ - aliases: Array - /** - * SuggestFor is an array of command names for which this command will be suggested - - * similar to aliases but only suggests. - */ - suggestFor: Array - /** - * Short is the short description shown in the 'help' output. - */ - short: string - /** - * The group id under which this subcommand is grouped in the 'help' output of its parent. - */ - groupID: string - /** - * Long is the long message shown in the 'help ' output. - */ - long: string - /** - * Example is examples of how to use the command. - */ - example: string - /** - * ValidArgs is list of all valid non-flag arguments that are accepted in shell completions - */ - validArgs: Array - /** - * ValidArgsFunction is an optional function that provides valid non-flag arguments for shell completion. - * It is a dynamic version of using ValidArgs. - * Only one of ValidArgs and ValidArgsFunction can be used for a command. - */ - validArgsFunction: (cmd: Command, args: Array, toComplete: string) => [Array, ShellCompDirective] - /** - * Expected arguments - */ - args: PositionalArgs - /** - * ArgAliases is List of aliases for ValidArgs. - * These are not suggested to the user in the shell completion, - * but accepted if entered manually. - */ - argAliases: Array - /** - * BashCompletionFunction is custom bash functions used by the legacy bash autocompletion generator. - * For portability with other shells, it is recommended to instead use ValidArgsFunction - */ - bashCompletionFunction: string - /** - * Deprecated defines, if this command is deprecated and should print this string when used. - */ - deprecated: string - /** - * Annotations are key/value pairs that can be used by applications to identify or - * group commands or set special options. - */ - annotations: _TygojaDict - /** - * Version defines the version for this command. If this value is non-empty and the command does not - * define a "version" flag, a "version" boolean flag will be added to the command and, if specified, - * will print content of the "Version" variable. A shorthand "v" flag will also be added if the - * command does not define one. - */ - version: string - /** - * The *Run functions are executed in the following order: - * ``` - * * PersistentPreRun() - * * PreRun() - * * Run() - * * PostRun() - * * PersistentPostRun() - * ``` - * All functions get the same args, the arguments after the command name. - * The *PreRun and *PostRun functions will only be executed if the Run function of the current - * command has been declared. - * - * PersistentPreRun: children of this command will inherit and execute. - */ - persistentPreRun: (cmd: Command, args: Array) => void - /** - * PersistentPreRunE: PersistentPreRun but returns an error. - */ - persistentPreRunE: (cmd: Command, args: Array) => void - /** - * PreRun: children of this command will not inherit. - */ - preRun: (cmd: Command, args: Array) => void - /** - * PreRunE: PreRun but returns an error. - */ - preRunE: (cmd: Command, args: Array) => void - /** - * Run: Typically the actual work function. Most commands will only implement this. - */ - run: (cmd: Command, args: Array) => void - /** - * RunE: Run but returns an error. - */ - runE: (cmd: Command, args: Array) => void - /** - * PostRun: run after the Run command. - */ - postRun: (cmd: Command, args: Array) => void - /** - * PostRunE: PostRun but returns an error. - */ - postRunE: (cmd: Command, args: Array) => void - /** - * PersistentPostRun: children of this command will inherit and execute after PostRun. - */ - persistentPostRun: (cmd: Command, args: Array) => void - /** - * PersistentPostRunE: PersistentPostRun but returns an error. - */ - persistentPostRunE: (cmd: Command, args: Array) => void - /** - * FParseErrWhitelist flag parse errors to be ignored - */ - fParseErrWhitelist: FParseErrWhitelist - /** - * CompletionOptions is a set of options to control the handling of shell completion - */ - completionOptions: CompletionOptions - /** - * TraverseChildren parses flags on all parents before executing child command. - */ - traverseChildren: boolean - /** - * Hidden defines, if this command is hidden and should NOT show up in the list of available commands. - */ - hidden: boolean - /** - * SilenceErrors is an option to quiet errors down stream. - */ - silenceErrors: boolean - /** - * SilenceUsage is an option to silence usage when an error occurs. - */ - silenceUsage: boolean - /** - * DisableFlagParsing disables the flag parsing. - * If this is true all flags will be passed to the command as arguments. - */ - disableFlagParsing: boolean - /** - * DisableAutoGenTag defines, if gen tag ("Auto generated by spf13/cobra...") - * will be printed by generating docs for this command. - */ - disableAutoGenTag: boolean - /** - * DisableFlagsInUseLine will disable the addition of [flags] to the usage - * line of a command when printing help or generating docs - */ - disableFlagsInUseLine: boolean - /** - * DisableSuggestions disables the suggestions based on Levenshtein distance - * that go along with 'unknown command' messages. - */ - disableSuggestions: boolean - /** - * SuggestionsMinimumDistance defines minimum levenshtein distance to display suggestions. - * Must be > 0. - */ - suggestionsMinimumDistance: number - } - interface Command { - /** - * Context returns underlying command context. If command was executed - * with ExecuteContext or the context was set with SetContext, the - * previously set context will be returned. Otherwise, nil is returned. - * - * Notice that a call to Execute and ExecuteC will replace a nil context of - * a command with a context.Background, so a background context will be - * returned by Context after one of these functions has been called. - */ - context(): context.Context - } - interface Command { - /** - * SetContext sets context for the command. This context will be overwritten by - * Command.ExecuteContext or Command.ExecuteContextC. - */ - setContext(ctx: context.Context): void - } - interface Command { - /** - * SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden - * particularly useful when testing. - */ - setArgs(a: Array): void - } - interface Command { - /** - * SetOutput sets the destination for usage and error messages. - * If output is nil, os.Stderr is used. - * Deprecated: Use SetOut and/or SetErr instead - */ - setOutput(output: io.Writer): void - } - interface Command { - /** - * SetOut sets the destination for usage messages. - * If newOut is nil, os.Stdout is used. - */ - setOut(newOut: io.Writer): void - } - interface Command { - /** - * SetErr sets the destination for error messages. - * If newErr is nil, os.Stderr is used. - */ - setErr(newErr: io.Writer): void - } - interface Command { - /** - * SetIn sets the source for input data - * If newIn is nil, os.Stdin is used. - */ - setIn(newIn: io.Reader): void - } - interface Command { - /** - * SetUsageFunc sets usage function. Usage can be defined by application. - */ - setUsageFunc(f: (_arg0: Command) => void): void - } - interface Command { - /** - * SetUsageTemplate sets usage template. Can be defined by Application. - */ - setUsageTemplate(s: string): void - } - interface Command { - /** - * SetFlagErrorFunc sets a function to generate an error when flag parsing - * fails. - */ - setFlagErrorFunc(f: (_arg0: Command, _arg1: Error) => void): void - } - interface Command { - /** - * SetHelpFunc sets help function. Can be defined by Application. - */ - setHelpFunc(f: (_arg0: Command, _arg1: Array) => void): void - } - interface Command { - /** - * SetHelpCommand sets help command. - */ - setHelpCommand(cmd: Command): void - } - interface Command { - /** - * SetHelpCommandGroupID sets the group id of the help command. - */ - setHelpCommandGroupID(groupID: string): void - } - interface Command { - /** - * SetCompletionCommandGroupID sets the group id of the completion command. - */ - setCompletionCommandGroupID(groupID: string): void - } - interface Command { - /** - * SetHelpTemplate sets help template to be used. Application can use it to set custom template. - */ - setHelpTemplate(s: string): void - } - interface Command { - /** - * SetVersionTemplate sets version template to be used. Application can use it to set custom template. - */ - setVersionTemplate(s: string): void - } - interface Command { - /** - * SetErrPrefix sets error message prefix to be used. Application can use it to set custom prefix. - */ - setErrPrefix(s: string): void - } - interface Command { - /** - * SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands. - * The user should not have a cyclic dependency on commands. - */ - setGlobalNormalizationFunc(n: (f: any, name: string) => any): void - } - interface Command { - /** - * OutOrStdout returns output to stdout. - */ - outOrStdout(): io.Writer - } - interface Command { - /** - * OutOrStderr returns output to stderr - */ - outOrStderr(): io.Writer - } - interface Command { - /** - * ErrOrStderr returns output to stderr - */ - errOrStderr(): io.Writer - } - interface Command { - /** - * InOrStdin returns input to stdin - */ - inOrStdin(): io.Reader - } - interface Command { - /** - * UsageFunc returns either the function set by SetUsageFunc for this command - * or a parent, or it returns a default usage function. - */ - usageFunc(): (_arg0: Command) => void - } - interface Command { - /** - * Usage puts out the usage for the command. - * Used when a user provides invalid input. - * Can be defined by user by overriding UsageFunc. - */ - usage(): void - } - interface Command { - /** - * HelpFunc returns either the function set by SetHelpFunc for this command - * or a parent, or it returns a function with default help behavior. - */ - helpFunc(): (_arg0: Command, _arg1: Array) => void - } - interface Command { - /** - * Help puts out the help for the command. - * Used when a user calls help [command]. - * Can be defined by user by overriding HelpFunc. - */ - help(): void - } - interface Command { - /** - * UsageString returns usage string. - */ - usageString(): string - } - interface Command { - /** - * FlagErrorFunc returns either the function set by SetFlagErrorFunc for this - * command or a parent, or it returns a function which returns the original - * error. - */ - flagErrorFunc(): (_arg0: Command, _arg1: Error) => void - } - interface Command { - /** - * UsagePadding return padding for the usage. - */ - usagePadding(): number - } - interface Command { - /** - * CommandPathPadding return padding for the command path. - */ - commandPathPadding(): number - } - interface Command { - /** - * NamePadding returns padding for the name. - */ - namePadding(): number - } - interface Command { - /** - * UsageTemplate returns usage template for the command. - */ - usageTemplate(): string - } - interface Command { - /** - * HelpTemplate return help template for the command. - */ - helpTemplate(): string - } - interface Command { - /** - * VersionTemplate return version template for the command. - */ - versionTemplate(): string - } - interface Command { - /** - * ErrPrefix return error message prefix for the command - */ - errPrefix(): string - } - interface Command { - /** - * Find the target command given the args and command tree - * Meant to be run on the highest node. Only searches down. - */ - find(args: Array): [(Command), Array] - } - interface Command { - /** - * Traverse the command tree to find the command, and parse args for - * each parent. - */ - traverse(args: Array): [(Command), Array] - } - interface Command { - /** - * SuggestionsFor provides suggestions for the typedName. - */ - suggestionsFor(typedName: string): Array - } - interface Command { - /** - * VisitParents visits all parents of the command and invokes fn on each parent. - */ - visitParents(fn: (_arg0: Command) => void): void - } - interface Command { - /** - * Root finds root command. - */ - root(): (Command) - } - interface Command { - /** - * ArgsLenAtDash will return the length of c.Flags().Args at the moment - * when a -- was found during args parsing. - */ - argsLenAtDash(): number - } - interface Command { - /** - * ExecuteContext is the same as Execute(), but sets the ctx on the command. - * Retrieve ctx by calling cmd.Context() inside your *Run lifecycle or ValidArgs - * functions. - */ - executeContext(ctx: context.Context): void - } - interface Command { - /** - * Execute uses the args (os.Args[1:] by default) - * and run through the command tree finding appropriate matches - * for commands and then corresponding flags. - */ - execute(): void - } - interface Command { - /** - * ExecuteContextC is the same as ExecuteC(), but sets the ctx on the command. - * Retrieve ctx by calling cmd.Context() inside your *Run lifecycle or ValidArgs - * functions. - */ - executeContextC(ctx: context.Context): (Command) - } - interface Command { - /** - * ExecuteC executes the command. - */ - executeC(): (Command) - } - interface Command { - validateArgs(args: Array): void - } - interface Command { - /** - * ValidateRequiredFlags validates all required flags are present and returns an error otherwise - */ - validateRequiredFlags(): void - } - interface Command { - /** - * InitDefaultHelpFlag adds default help flag to c. - * It is called automatically by executing the c or by calling help and usage. - * If c already has help flag, it will do nothing. - */ - initDefaultHelpFlag(): void - } - interface Command { - /** - * InitDefaultVersionFlag adds default version flag to c. - * It is called automatically by executing the c. - * If c already has a version flag, it will do nothing. - * If c.Version is empty, it will do nothing. - */ - initDefaultVersionFlag(): void - } - interface Command { - /** - * InitDefaultHelpCmd adds default help command to c. - * It is called automatically by executing the c or by calling help and usage. - * If c already has help command or c has no subcommands, it will do nothing. - */ - initDefaultHelpCmd(): void - } - interface Command { - /** - * ResetCommands delete parent, subcommand and help command from c. - */ - resetCommands(): void - } - interface Command { - /** - * Commands returns a sorted slice of child commands. - */ - commands(): Array<(Command | undefined)> - } - interface Command { - /** - * AddCommand adds one or more commands to this parent command. - */ - addCommand(...cmds: (Command | undefined)[]): void - } - interface Command { - /** - * Groups returns a slice of child command groups. - */ - groups(): Array<(Group | undefined)> - } - interface Command { - /** - * AllChildCommandsHaveGroup returns if all subcommands are assigned to a group - */ - allChildCommandsHaveGroup(): boolean - } - interface Command { - /** - * ContainsGroup return if groupID exists in the list of command groups. - */ - containsGroup(groupID: string): boolean - } - interface Command { - /** - * AddGroup adds one or more command groups to this parent command. - */ - addGroup(...groups: (Group | undefined)[]): void - } - interface Command { - /** - * RemoveCommand removes one or more commands from a parent command. - */ - removeCommand(...cmds: (Command | undefined)[]): void - } - interface Command { - /** - * Print is a convenience method to Print to the defined output, fallback to Stderr if not set. - */ - print(...i: { - }[]): void - } - interface Command { - /** - * Println is a convenience method to Println to the defined output, fallback to Stderr if not set. - */ - println(...i: { - }[]): void - } - interface Command { - /** - * Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set. - */ - printf(format: string, ...i: { - }[]): void - } - interface Command { - /** - * PrintErr is a convenience method to Print to the defined Err output, fallback to Stderr if not set. - */ - printErr(...i: { - }[]): void - } - interface Command { - /** - * PrintErrln is a convenience method to Println to the defined Err output, fallback to Stderr if not set. - */ - printErrln(...i: { - }[]): void - } - interface Command { - /** - * PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set. - */ - printErrf(format: string, ...i: { - }[]): void - } - interface Command { - /** - * CommandPath returns the full path to this command. - */ - commandPath(): string - } - interface Command { - /** - * UseLine puts out the full usage for a given command (including parents). - */ - useLine(): string - } - interface Command { - /** - * DebugFlags used to determine which flags have been assigned to which commands - * and which persist. - * nolint:goconst - */ - debugFlags(): void - } - interface Command { - /** - * Name returns the command's name: the first word in the use line. - */ - name(): string - } - interface Command { - /** - * HasAlias determines if a given string is an alias of the command. - */ - hasAlias(s: string): boolean - } - interface Command { - /** - * CalledAs returns the command name or alias that was used to invoke - * this command or an empty string if the command has not been called. - */ - calledAs(): string - } - interface Command { - /** - * NameAndAliases returns a list of the command name and all aliases - */ - nameAndAliases(): string - } - interface Command { - /** - * HasExample determines if the command has example. - */ - hasExample(): boolean - } - interface Command { - /** - * Runnable determines if the command is itself runnable. - */ - runnable(): boolean - } - interface Command { - /** - * HasSubCommands determines if the command has children commands. - */ - hasSubCommands(): boolean - } - interface Command { - /** - * IsAvailableCommand determines if a command is available as a non-help command - * (this includes all non deprecated/hidden commands). - */ - isAvailableCommand(): boolean - } - interface Command { - /** - * IsAdditionalHelpTopicCommand determines if a command is an additional - * help topic command; additional help topic command is determined by the - * fact that it is NOT runnable/hidden/deprecated, and has no sub commands that - * are runnable/hidden/deprecated. - * Concrete example: https://github.com/spf13/cobra/issues/393#issuecomment-282741924. - */ - isAdditionalHelpTopicCommand(): boolean - } - interface Command { - /** - * HasHelpSubCommands determines if a command has any available 'help' sub commands - * that need to be shown in the usage/help default template under 'additional help - * topics'. - */ - hasHelpSubCommands(): boolean - } - interface Command { - /** - * HasAvailableSubCommands determines if a command has available sub commands that - * need to be shown in the usage/help default template under 'available commands'. - */ - hasAvailableSubCommands(): boolean - } - interface Command { - /** - * HasParent determines if the command is a child command. - */ - hasParent(): boolean - } - interface Command { - /** - * GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist. - */ - globalNormalizationFunc(): (f: any, name: string) => any - } - interface Command { - /** - * Flags returns the complete FlagSet that applies - * to this command (local and persistent declared here and by all parents). - */ - flags(): (any) - } - interface Command { - /** - * LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands. - */ - localNonPersistentFlags(): (any) - } - interface Command { - /** - * LocalFlags returns the local FlagSet specifically set in the current command. - */ - localFlags(): (any) - } - interface Command { - /** - * InheritedFlags returns all flags which were inherited from parent commands. - */ - inheritedFlags(): (any) - } - interface Command { - /** - * NonInheritedFlags returns all flags which were not inherited from parent commands. - */ - nonInheritedFlags(): (any) - } - interface Command { - /** - * PersistentFlags returns the persistent FlagSet specifically set in the current command. - */ - persistentFlags(): (any) - } - interface Command { - /** - * ResetFlags deletes all flags from command. - */ - resetFlags(): void - } - interface Command { - /** - * HasFlags checks if the command contains any flags (local plus persistent from the entire structure). - */ - hasFlags(): boolean - } - interface Command { - /** - * HasPersistentFlags checks if the command contains persistent flags. - */ - hasPersistentFlags(): boolean - } - interface Command { - /** - * HasLocalFlags checks if the command has flags specifically declared locally. - */ - hasLocalFlags(): boolean - } - interface Command { - /** - * HasInheritedFlags checks if the command has flags inherited from its parent command. - */ - hasInheritedFlags(): boolean - } - interface Command { - /** - * HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire - * structure) which are not hidden or deprecated. - */ - hasAvailableFlags(): boolean - } - interface Command { - /** - * HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated. - */ - hasAvailablePersistentFlags(): boolean - } - interface Command { - /** - * HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden - * or deprecated. - */ - hasAvailableLocalFlags(): boolean - } - interface Command { - /** - * HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are - * not hidden or deprecated. - */ - hasAvailableInheritedFlags(): boolean - } - interface Command { - /** - * Flag climbs up the command tree looking for matching flag. - */ - flag(name: string): (any) - } - interface Command { - /** - * ParseFlags parses persistent flag tree and local flags. - */ - parseFlags(args: Array): void - } - interface Command { - /** - * Parent returns a commands parent command. - */ - parent(): (Command) - } - interface Command { - /** - * RegisterFlagCompletionFunc should be called to register a function to provide completion for a flag. - */ - registerFlagCompletionFunc(flagName: string, f: (cmd: Command, args: Array, toComplete: string) => [Array, ShellCompDirective]): void - } - interface Command { - /** - * GetFlagCompletionFunc returns the completion function for the given flag of the command, if available. - */ - getFlagCompletionFunc(flagName: string): [(_arg0: Command, _arg1: Array, _arg2: string) => [Array, ShellCompDirective], boolean] - } - interface Command { - /** - * InitDefaultCompletionCmd adds a default 'completion' command to c. - * This function will do nothing if any of the following is true: - * 1- the feature has been explicitly disabled by the program, - * 2- c has no subcommands (to avoid creating one), - * 3- c already has a 'completion' command provided by the program. - */ - initDefaultCompletionCmd(): void - } - interface Command { - /** - * GenFishCompletion generates fish completion file and writes to the passed writer. - */ - genFishCompletion(w: io.Writer, includeDesc: boolean): void - } - interface Command { - /** - * GenFishCompletionFile generates fish completion file. - */ - genFishCompletionFile(filename: string, includeDesc: boolean): void - } - interface Command { - /** - * MarkFlagsRequiredTogether marks the given flags with annotations so that Cobra errors - * if the command is invoked with a subset (but not all) of the given flags. - */ - markFlagsRequiredTogether(...flagNames: string[]): void - } - interface Command { - /** - * MarkFlagsOneRequired marks the given flags with annotations so that Cobra errors - * if the command is invoked without at least one flag from the given set of flags. - */ - markFlagsOneRequired(...flagNames: string[]): void - } - interface Command { - /** - * MarkFlagsMutuallyExclusive marks the given flags with annotations so that Cobra errors - * if the command is invoked with more than one flag from the given set of flags. - */ - markFlagsMutuallyExclusive(...flagNames: string[]): void - } - interface Command { - /** - * ValidateFlagGroups validates the mutuallyExclusive/oneRequired/requiredAsGroup logic and returns the - * first error encountered. - */ - validateFlagGroups(): void - } - interface Command { - /** - * GenPowerShellCompletionFile generates powershell completion file without descriptions. - */ - genPowerShellCompletionFile(filename: string): void - } - interface Command { - /** - * GenPowerShellCompletion generates powershell completion file without descriptions - * and writes it to the passed writer. - */ - genPowerShellCompletion(w: io.Writer): void - } - interface Command { - /** - * GenPowerShellCompletionFileWithDesc generates powershell completion file with descriptions. - */ - genPowerShellCompletionFileWithDesc(filename: string): void - } - interface Command { - /** - * GenPowerShellCompletionWithDesc generates powershell completion file with descriptions - * and writes it to the passed writer. - */ - genPowerShellCompletionWithDesc(w: io.Writer): void - } - interface Command { - /** - * MarkFlagRequired instructs the various shell completion implementations to - * prioritize the named flag when performing completion, - * and causes your command to report an error if invoked without the flag. - */ - markFlagRequired(name: string): void - } - interface Command { - /** - * MarkPersistentFlagRequired instructs the various shell completion implementations to - * prioritize the named persistent flag when performing completion, - * and causes your command to report an error if invoked without the flag. - */ - markPersistentFlagRequired(name: string): void - } - interface Command { - /** - * MarkFlagFilename instructs the various shell completion implementations to - * limit completions for the named flag to the specified file extensions. - */ - markFlagFilename(name: string, ...extensions: string[]): void - } - interface Command { - /** - * MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. - * The bash completion script will call the bash function f for the flag. - * - * This will only work for bash completion. - * It is recommended to instead use c.RegisterFlagCompletionFunc(...) which allows - * to register a Go function which will work across all shells. - */ - markFlagCustom(name: string, f: string): void - } - interface Command { - /** - * MarkPersistentFlagFilename instructs the various shell completion - * implementations to limit completions for the named persistent flag to the - * specified file extensions. - */ - markPersistentFlagFilename(name: string, ...extensions: string[]): void - } - interface Command { - /** - * MarkFlagDirname instructs the various shell completion implementations to - * limit completions for the named flag to directory names. - */ - markFlagDirname(name: string): void - } - interface Command { - /** - * MarkPersistentFlagDirname instructs the various shell completion - * implementations to limit completions for the named persistent flag to - * directory names. - */ - markPersistentFlagDirname(name: string): void - } - interface Command { - /** - * GenZshCompletionFile generates zsh completion file including descriptions. - */ - genZshCompletionFile(filename: string): void - } - interface Command { - /** - * GenZshCompletion generates zsh completion file including descriptions - * and writes it to the passed writer. - */ - genZshCompletion(w: io.Writer): void - } - interface Command { - /** - * GenZshCompletionFileNoDesc generates zsh completion file without descriptions. - */ - genZshCompletionFileNoDesc(filename: string): void - } - interface Command { - /** - * GenZshCompletionNoDesc generates zsh completion file without descriptions - * and writes it to the passed writer. - */ - genZshCompletionNoDesc(w: io.Writer): void - } - interface Command { - /** - * MarkZshCompPositionalArgumentFile only worked for zsh and its behavior was - * not consistent with Bash completion. It has therefore been disabled. - * Instead, when no other completion is specified, file completion is done by - * default for every argument. One can disable file completion on a per-argument - * basis by using ValidArgsFunction and ShellCompDirectiveNoFileComp. - * To achieve file extension filtering, one can use ValidArgsFunction and - * ShellCompDirectiveFilterFileExt. - * - * Deprecated - */ - markZshCompPositionalArgumentFile(argPosition: number, ...patterns: string[]): void - } - interface Command { - /** - * MarkZshCompPositionalArgumentWords only worked for zsh. It has therefore - * been disabled. - * To achieve the same behavior across all shells, one can use - * ValidArgs (for the first argument only) or ValidArgsFunction for - * any argument (can include the first one also). - * - * Deprecated - */ - markZshCompPositionalArgumentWords(argPosition: number, ...words: string[]): void - } -} - -/** - * Package schema implements custom Schema and SchemaField datatypes - * for handling the Collection schema definitions. - */ -namespace schema { - // @ts-ignore - import validation = ozzo_validation - /** - * Schema defines a dynamic db schema as a slice of `SchemaField`s. - */ - interface Schema { - } - interface Schema { - /** - * Fields returns the registered schema fields. - */ - fields(): Array<(SchemaField | undefined)> - } - interface Schema { - /** - * InitFieldsOptions calls `InitOptions()` for all schema fields. - */ - initFieldsOptions(): void - } - interface Schema { - /** - * Clone creates a deep clone of the current schema. - */ - clone(): (Schema) - } - interface Schema { - /** - * AsMap returns a map with all registered schema field. - * The returned map is indexed with each field name. - */ - asMap(): _TygojaDict - } - interface Schema { - /** - * GetFieldById returns a single field by its id. - */ - getFieldById(id: string): (SchemaField) - } - interface Schema { - /** - * GetFieldByName returns a single field by its name. - */ - getFieldByName(name: string): (SchemaField) - } - interface Schema { - /** - * RemoveField removes a single schema field by its id. - * - * This method does nothing if field with `id` doesn't exist. - */ - removeField(id: string): void - } - interface Schema { - /** - * AddField registers the provided newField to the current schema. - * - * If field with `newField.Id` already exist, the existing field is - * replaced with the new one. - * - * Otherwise the new field is appended to the other schema fields. - */ - addField(newField: SchemaField): void - } - interface Schema { - /** - * Validate makes Schema validatable by implementing [validation.Validatable] interface. - * - * Internally calls each individual field's validator and additionally - * checks for invalid renamed fields and field name duplications. - */ - validate(): void - } - interface Schema { - /** - * MarshalJSON implements the [json.Marshaler] interface. - */ - marshalJSON(): string|Array - } - interface Schema { - /** - * UnmarshalJSON implements the [json.Unmarshaler] interface. - * - * On success, all schema field options are auto initialized. - */ - unmarshalJSON(data: string|Array): void - } - interface Schema { - /** - * Value implements the [driver.Valuer] interface. - */ - value(): any - } - interface Schema { - /** - * Scan implements [sql.Scanner] interface to scan the provided value - * into the current Schema instance. - */ - scan(value: any): void - } -} - -/** - * Package models implements all PocketBase DB models and DTOs. - */ -namespace models { - type _subFtypC = BaseModel - interface Admin extends _subFtypC { - avatar: number - email: string - tokenKey: string - passwordHash: string - lastResetSentAt: types.DateTime - } - interface Admin { - /** - * TableName returns the Admin model SQL table name. - */ - tableName(): string - } - interface Admin { - /** - * ValidatePassword validates a plain password against the model's password. - */ - validatePassword(password: string): boolean - } - interface Admin { - /** - * SetPassword sets cryptographically secure string to `model.Password`. - * - * Additionally this method also resets the LastResetSentAt and the TokenKey fields. - */ - setPassword(password: string): void - } - interface Admin { - /** - * RefreshTokenKey generates and sets new random token key. - */ - refreshTokenKey(): void - } - // @ts-ignore - import validation = ozzo_validation - type _subPjtDn = BaseModel - interface Collection extends _subPjtDn { - name: string - type: string - system: boolean - schema: schema.Schema - indexes: types.JsonArray - /** - * rules - */ - listRule?: string - viewRule?: string - createRule?: string - updateRule?: string - deleteRule?: string - options: types.JsonMap - } - interface Collection { - /** - * TableName returns the Collection model SQL table name. - */ - tableName(): string - } - interface Collection { - /** - * BaseFilesPath returns the storage dir path used by the collection. - */ - baseFilesPath(): string - } - interface Collection { - /** - * IsBase checks if the current collection has "base" type. - */ - isBase(): boolean - } - interface Collection { - /** - * IsAuth checks if the current collection has "auth" type. - */ - isAuth(): boolean - } - interface Collection { - /** - * IsView checks if the current collection has "view" type. - */ - isView(): boolean - } - interface Collection { - /** - * MarshalJSON implements the [json.Marshaler] interface. - */ - marshalJSON(): string|Array - } - interface Collection { - /** - * BaseOptions decodes the current collection options and returns them - * as new [CollectionBaseOptions] instance. - */ - baseOptions(): CollectionBaseOptions - } - interface Collection { - /** - * AuthOptions decodes the current collection options and returns them - * as new [CollectionAuthOptions] instance. - */ - authOptions(): CollectionAuthOptions - } - interface Collection { - /** - * ViewOptions decodes the current collection options and returns them - * as new [CollectionViewOptions] instance. - */ - viewOptions(): CollectionViewOptions - } - interface Collection { - /** - * NormalizeOptions updates the current collection options with a - * new normalized state based on the collection type. - */ - normalizeOptions(): void - } - interface Collection { - /** - * DecodeOptions decodes the current collection options into the - * provided "result" (must be a pointer). - */ - decodeOptions(result: any): void - } - interface Collection { - /** - * SetOptions normalizes and unmarshals the specified options into m.Options. - */ - setOptions(typedOptions: any): void - } - type _subgEDYJ = BaseModel - interface ExternalAuth extends _subgEDYJ { - collectionId: string - recordId: string - provider: string - providerId: string - } - interface ExternalAuth { - tableName(): string - } - type _subRGmvk = BaseModel - interface Record extends _subRGmvk { - } - interface Record { - /** - * TableName returns the table name associated to the current Record model. - */ - tableName(): string - } - interface Record { - /** - * Collection returns the Collection model associated to the current Record model. - */ - collection(): (Collection) - } - interface Record { - /** - * OriginalCopy returns a copy of the current record model populated - * with its ORIGINAL data state (aka. the initially loaded) and - * everything else reset to the defaults. - */ - originalCopy(): (Record) - } - interface Record { - /** - * CleanCopy returns a copy of the current record model populated only - * with its LATEST data state and everything else reset to the defaults. - */ - cleanCopy(): (Record) - } - interface Record { - /** - * Expand returns a shallow copy of the current Record model expand data. - */ - expand(): _TygojaDict - } - interface Record { - /** - * SetExpand shallow copies the provided data to the current Record model's expand. - */ - setExpand(expand: _TygojaDict): void - } - interface Record { - /** - * MergeExpand merges recursively the provided expand data into - * the current model's expand (if any). - * - * Note that if an expanded prop with the same key is a slice (old or new expand) - * then both old and new records will be merged into a new slice (aka. a :merge: [b,c] => [a,b,c]). - * Otherwise the "old" expanded record will be replace with the "new" one (aka. a :merge: aNew => aNew). - */ - mergeExpand(expand: _TygojaDict): void - } - interface Record { - /** - * SchemaData returns a shallow copy ONLY of the defined record schema fields data. - */ - schemaData(): _TygojaDict - } - interface Record { - /** - * UnknownData returns a shallow copy ONLY of the unknown record fields data, - * aka. fields that are neither one of the base and special system ones, - * nor defined by the collection schema. - */ - unknownData(): _TygojaDict - } - interface Record { - /** - * IgnoreEmailVisibility toggles the flag to ignore the auth record email visibility check. - */ - ignoreEmailVisibility(state: boolean): void - } - interface Record { - /** - * WithUnknownData toggles the export/serialization of unknown data fields - * (false by default). - */ - withUnknownData(state: boolean): void - } - interface Record { - /** - * Set sets the provided key-value data pair for the current Record model. - * - * If the record collection has field with name matching the provided "key", - * the value will be further normalized according to the field rules. - */ - set(key: string, value: any): void - } - interface Record { - /** - * Get returns a normalized single record model data value for "key". - */ - get(key: string): any - } - interface Record { - /** - * GetBool returns the data value for "key" as a bool. - */ - getBool(key: string): boolean - } - interface Record { - /** - * GetString returns the data value for "key" as a string. - */ - getString(key: string): string - } - interface Record { - /** - * GetInt returns the data value for "key" as an int. - */ - getInt(key: string): number - } - interface Record { - /** - * GetFloat returns the data value for "key" as a float64. - */ - getFloat(key: string): number - } - interface Record { - /** - * GetTime returns the data value for "key" as a [time.Time] instance. - */ - getTime(key: string): time.Time - } - interface Record { - /** - * GetDateTime returns the data value for "key" as a DateTime instance. - */ - getDateTime(key: string): types.DateTime - } - interface Record { - /** - * GetStringSlice returns the data value for "key" as a slice of unique strings. - */ - getStringSlice(key: string): Array - } - interface Record { - /** - * ExpandedOne retrieves a single relation Record from the already - * loaded expand data of the current model. - * - * If the requested expand relation is multiple, this method returns - * only first available Record from the expanded relation. - * - * Returns nil if there is no such expand relation loaded. - */ - expandedOne(relField: string): (Record) - } - interface Record { - /** - * ExpandedAll retrieves a slice of relation Records from the already - * loaded expand data of the current model. - * - * If the requested expand relation is single, this method normalizes - * the return result and will wrap the single model as a slice. - * - * Returns nil slice if there is no such expand relation loaded. - */ - expandedAll(relField: string): Array<(Record | undefined)> - } - interface Record { - /** - * Retrieves the "key" json field value and unmarshals it into "result". - * - * Example - * - * ``` - * result := struct { - * FirstName string `json:"first_name"` - * }{} - * err := m.UnmarshalJSONField("my_field_name", &result) - * ``` - */ - unmarshalJSONField(key: string, result: any): void - } - interface Record { - /** - * BaseFilesPath returns the storage dir path used by the record. - */ - baseFilesPath(): string - } - interface Record { - /** - * FindFileFieldByFile returns the first file type field for which - * any of the record's data contains the provided filename. - */ - findFileFieldByFile(filename: string): (schema.SchemaField) - } - interface Record { - /** - * Load bulk loads the provided data into the current Record model. - */ - load(data: _TygojaDict): void - } - interface Record { - /** - * ColumnValueMap implements [ColumnValueMapper] interface. - */ - columnValueMap(): _TygojaDict - } - interface Record { - /** - * PublicExport exports only the record fields that are safe to be public. - * - * For auth records, to force the export of the email field you need to set - * `m.IgnoreEmailVisibility(true)`. - */ - publicExport(): _TygojaDict - } - interface Record { - /** - * MarshalJSON implements the [json.Marshaler] interface. - * - * Only the data exported by `PublicExport()` will be serialized. - */ - marshalJSON(): string|Array - } - interface Record { - /** - * UnmarshalJSON implements the [json.Unmarshaler] interface. - */ - unmarshalJSON(data: string|Array): void - } - interface Record { - /** - * ReplaceModifers returns a new map with applied modifier - * values based on the current record and the specified data. - * - * The resolved modifier keys will be removed. - * - * Multiple modifiers will be applied one after another, - * while reusing the previous base key value result (eg. 1; -5; +2 => -2). - * - * Example usage: - * - * ``` - * newData := record.ReplaceModifers(data) - * // record: {"field": 10} - * // data: {"field+": 5} - * // newData: {"field": 15} - * ``` - */ - replaceModifers(data: _TygojaDict): _TygojaDict - } - interface Record { - /** - * Username returns the "username" auth record data value. - */ - username(): string - } - interface Record { - /** - * SetUsername sets the "username" auth record data value. - * - * This method doesn't check whether the provided value is a valid username. - * - * Returns an error if the record is not from an auth collection. - */ - setUsername(username: string): void - } - interface Record { - /** - * Email returns the "email" auth record data value. - */ - email(): string - } - interface Record { - /** - * SetEmail sets the "email" auth record data value. - * - * This method doesn't check whether the provided value is a valid email. - * - * Returns an error if the record is not from an auth collection. - */ - setEmail(email: string): void - } - interface Record { - /** - * Verified returns the "emailVisibility" auth record data value. - */ - emailVisibility(): boolean - } - interface Record { - /** - * SetEmailVisibility sets the "emailVisibility" auth record data value. - * - * Returns an error if the record is not from an auth collection. - */ - setEmailVisibility(visible: boolean): void - } - interface Record { - /** - * Verified returns the "verified" auth record data value. - */ - verified(): boolean - } - interface Record { - /** - * SetVerified sets the "verified" auth record data value. - * - * Returns an error if the record is not from an auth collection. - */ - setVerified(verified: boolean): void - } - interface Record { - /** - * TokenKey returns the "tokenKey" auth record data value. - */ - tokenKey(): string - } - interface Record { - /** - * SetTokenKey sets the "tokenKey" auth record data value. - * - * Returns an error if the record is not from an auth collection. - */ - setTokenKey(key: string): void - } - interface Record { - /** - * RefreshTokenKey generates and sets new random auth record "tokenKey". - * - * Returns an error if the record is not from an auth collection. - */ - refreshTokenKey(): void - } - interface Record { - /** - * LastResetSentAt returns the "lastResentSentAt" auth record data value. - */ - lastResetSentAt(): types.DateTime - } - interface Record { - /** - * SetLastResetSentAt sets the "lastResentSentAt" auth record data value. - * - * Returns an error if the record is not from an auth collection. - */ - setLastResetSentAt(dateTime: types.DateTime): void - } - interface Record { - /** - * LastVerificationSentAt returns the "lastVerificationSentAt" auth record data value. - */ - lastVerificationSentAt(): types.DateTime - } - interface Record { - /** - * SetLastVerificationSentAt sets an "lastVerificationSentAt" auth record data value. - * - * Returns an error if the record is not from an auth collection. - */ - setLastVerificationSentAt(dateTime: types.DateTime): void - } - interface Record { - /** - * PasswordHash returns the "passwordHash" auth record data value. - */ - passwordHash(): string - } - interface Record { - /** - * ValidatePassword validates a plain password against the auth record password. - * - * Returns false if the password is incorrect or record is not from an auth collection. - */ - validatePassword(password: string): boolean - } - interface Record { - /** - * SetPassword sets cryptographically secure string to the auth record "password" field. - * This method also resets the "lastResetSentAt" and the "tokenKey" fields. - * - * Returns an error if the record is not from an auth collection or - * an empty password is provided. - */ - setPassword(password: string): void - } - /** - * RequestInfo defines a HTTP request data struct, usually used - * as part of the `@request.*` filter resolver. - */ - interface RequestInfo { - query: _TygojaDict - data: _TygojaDict - headers: _TygojaDict - authRecord?: Record - admin?: Admin - method: string - } - interface RequestInfo { - /** - * HasModifierDataKeys loosely checks if the current struct has any modifier Data keys. - */ - hasModifierDataKeys(): boolean - } -} - /** * Package daos handles common PocketBase DB model manipulations. * @@ -14434,6 +13339,1101 @@ namespace core { } } +/** + * Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. + * In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. + */ +namespace cobra { + interface Command { + /** + * GenBashCompletion generates bash completion file and writes to the passed writer. + */ + genBashCompletion(w: io.Writer): void + } + interface Command { + /** + * GenBashCompletionFile generates bash completion file. + */ + genBashCompletionFile(filename: string): void + } + interface Command { + /** + * GenBashCompletionFileV2 generates Bash completion version 2. + */ + genBashCompletionFileV2(filename: string, includeDesc: boolean): void + } + interface Command { + /** + * GenBashCompletionV2 generates Bash completion file version 2 + * and writes it to the passed writer. + */ + genBashCompletionV2(w: io.Writer, includeDesc: boolean): void + } + // @ts-ignore + import flag = pflag + /** + * Command is just that, a command for your application. + * E.g. 'go run ...' - 'run' is the command. Cobra requires + * you to define the usage and description as part of your command + * definition to ensure usability. + */ + interface Command { + /** + * Use is the one-line usage message. + * Recommended syntax is as follows: + * ``` + * [ ] identifies an optional argument. Arguments that are not enclosed in brackets are required. + * ... indicates that you can specify multiple values for the previous argument. + * | indicates mutually exclusive information. You can use the argument to the left of the separator or the + * argument to the right of the separator. You cannot use both arguments in a single use of the command. + * { } delimits a set of mutually exclusive arguments when one of the arguments is required. If the arguments are + * optional, they are enclosed in brackets ([ ]). + * ``` + * Example: add [-F file | -D dir]... [-f format] profile + */ + use: string + /** + * Aliases is an array of aliases that can be used instead of the first word in Use. + */ + aliases: Array + /** + * SuggestFor is an array of command names for which this command will be suggested - + * similar to aliases but only suggests. + */ + suggestFor: Array + /** + * Short is the short description shown in the 'help' output. + */ + short: string + /** + * The group id under which this subcommand is grouped in the 'help' output of its parent. + */ + groupID: string + /** + * Long is the long message shown in the 'help ' output. + */ + long: string + /** + * Example is examples of how to use the command. + */ + example: string + /** + * ValidArgs is list of all valid non-flag arguments that are accepted in shell completions + */ + validArgs: Array + /** + * ValidArgsFunction is an optional function that provides valid non-flag arguments for shell completion. + * It is a dynamic version of using ValidArgs. + * Only one of ValidArgs and ValidArgsFunction can be used for a command. + */ + validArgsFunction: (cmd: Command, args: Array, toComplete: string) => [Array, ShellCompDirective] + /** + * Expected arguments + */ + args: PositionalArgs + /** + * ArgAliases is List of aliases for ValidArgs. + * These are not suggested to the user in the shell completion, + * but accepted if entered manually. + */ + argAliases: Array + /** + * BashCompletionFunction is custom bash functions used by the legacy bash autocompletion generator. + * For portability with other shells, it is recommended to instead use ValidArgsFunction + */ + bashCompletionFunction: string + /** + * Deprecated defines, if this command is deprecated and should print this string when used. + */ + deprecated: string + /** + * Annotations are key/value pairs that can be used by applications to identify or + * group commands or set special options. + */ + annotations: _TygojaDict + /** + * Version defines the version for this command. If this value is non-empty and the command does not + * define a "version" flag, a "version" boolean flag will be added to the command and, if specified, + * will print content of the "Version" variable. A shorthand "v" flag will also be added if the + * command does not define one. + */ + version: string + /** + * The *Run functions are executed in the following order: + * ``` + * * PersistentPreRun() + * * PreRun() + * * Run() + * * PostRun() + * * PersistentPostRun() + * ``` + * All functions get the same args, the arguments after the command name. + * The *PreRun and *PostRun functions will only be executed if the Run function of the current + * command has been declared. + * + * PersistentPreRun: children of this command will inherit and execute. + */ + persistentPreRun: (cmd: Command, args: Array) => void + /** + * PersistentPreRunE: PersistentPreRun but returns an error. + */ + persistentPreRunE: (cmd: Command, args: Array) => void + /** + * PreRun: children of this command will not inherit. + */ + preRun: (cmd: Command, args: Array) => void + /** + * PreRunE: PreRun but returns an error. + */ + preRunE: (cmd: Command, args: Array) => void + /** + * Run: Typically the actual work function. Most commands will only implement this. + */ + run: (cmd: Command, args: Array) => void + /** + * RunE: Run but returns an error. + */ + runE: (cmd: Command, args: Array) => void + /** + * PostRun: run after the Run command. + */ + postRun: (cmd: Command, args: Array) => void + /** + * PostRunE: PostRun but returns an error. + */ + postRunE: (cmd: Command, args: Array) => void + /** + * PersistentPostRun: children of this command will inherit and execute after PostRun. + */ + persistentPostRun: (cmd: Command, args: Array) => void + /** + * PersistentPostRunE: PersistentPostRun but returns an error. + */ + persistentPostRunE: (cmd: Command, args: Array) => void + /** + * FParseErrWhitelist flag parse errors to be ignored + */ + fParseErrWhitelist: FParseErrWhitelist + /** + * CompletionOptions is a set of options to control the handling of shell completion + */ + completionOptions: CompletionOptions + /** + * TraverseChildren parses flags on all parents before executing child command. + */ + traverseChildren: boolean + /** + * Hidden defines, if this command is hidden and should NOT show up in the list of available commands. + */ + hidden: boolean + /** + * SilenceErrors is an option to quiet errors down stream. + */ + silenceErrors: boolean + /** + * SilenceUsage is an option to silence usage when an error occurs. + */ + silenceUsage: boolean + /** + * DisableFlagParsing disables the flag parsing. + * If this is true all flags will be passed to the command as arguments. + */ + disableFlagParsing: boolean + /** + * DisableAutoGenTag defines, if gen tag ("Auto generated by spf13/cobra...") + * will be printed by generating docs for this command. + */ + disableAutoGenTag: boolean + /** + * DisableFlagsInUseLine will disable the addition of [flags] to the usage + * line of a command when printing help or generating docs + */ + disableFlagsInUseLine: boolean + /** + * DisableSuggestions disables the suggestions based on Levenshtein distance + * that go along with 'unknown command' messages. + */ + disableSuggestions: boolean + /** + * SuggestionsMinimumDistance defines minimum levenshtein distance to display suggestions. + * Must be > 0. + */ + suggestionsMinimumDistance: number + } + interface Command { + /** + * Context returns underlying command context. If command was executed + * with ExecuteContext or the context was set with SetContext, the + * previously set context will be returned. Otherwise, nil is returned. + * + * Notice that a call to Execute and ExecuteC will replace a nil context of + * a command with a context.Background, so a background context will be + * returned by Context after one of these functions has been called. + */ + context(): context.Context + } + interface Command { + /** + * SetContext sets context for the command. This context will be overwritten by + * Command.ExecuteContext or Command.ExecuteContextC. + */ + setContext(ctx: context.Context): void + } + interface Command { + /** + * SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden + * particularly useful when testing. + */ + setArgs(a: Array): void + } + interface Command { + /** + * SetOutput sets the destination for usage and error messages. + * If output is nil, os.Stderr is used. + * Deprecated: Use SetOut and/or SetErr instead + */ + setOutput(output: io.Writer): void + } + interface Command { + /** + * SetOut sets the destination for usage messages. + * If newOut is nil, os.Stdout is used. + */ + setOut(newOut: io.Writer): void + } + interface Command { + /** + * SetErr sets the destination for error messages. + * If newErr is nil, os.Stderr is used. + */ + setErr(newErr: io.Writer): void + } + interface Command { + /** + * SetIn sets the source for input data + * If newIn is nil, os.Stdin is used. + */ + setIn(newIn: io.Reader): void + } + interface Command { + /** + * SetUsageFunc sets usage function. Usage can be defined by application. + */ + setUsageFunc(f: (_arg0: Command) => void): void + } + interface Command { + /** + * SetUsageTemplate sets usage template. Can be defined by Application. + */ + setUsageTemplate(s: string): void + } + interface Command { + /** + * SetFlagErrorFunc sets a function to generate an error when flag parsing + * fails. + */ + setFlagErrorFunc(f: (_arg0: Command, _arg1: Error) => void): void + } + interface Command { + /** + * SetHelpFunc sets help function. Can be defined by Application. + */ + setHelpFunc(f: (_arg0: Command, _arg1: Array) => void): void + } + interface Command { + /** + * SetHelpCommand sets help command. + */ + setHelpCommand(cmd: Command): void + } + interface Command { + /** + * SetHelpCommandGroupID sets the group id of the help command. + */ + setHelpCommandGroupID(groupID: string): void + } + interface Command { + /** + * SetCompletionCommandGroupID sets the group id of the completion command. + */ + setCompletionCommandGroupID(groupID: string): void + } + interface Command { + /** + * SetHelpTemplate sets help template to be used. Application can use it to set custom template. + */ + setHelpTemplate(s: string): void + } + interface Command { + /** + * SetVersionTemplate sets version template to be used. Application can use it to set custom template. + */ + setVersionTemplate(s: string): void + } + interface Command { + /** + * SetErrPrefix sets error message prefix to be used. Application can use it to set custom prefix. + */ + setErrPrefix(s: string): void + } + interface Command { + /** + * SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands. + * The user should not have a cyclic dependency on commands. + */ + setGlobalNormalizationFunc(n: (f: any, name: string) => any): void + } + interface Command { + /** + * OutOrStdout returns output to stdout. + */ + outOrStdout(): io.Writer + } + interface Command { + /** + * OutOrStderr returns output to stderr + */ + outOrStderr(): io.Writer + } + interface Command { + /** + * ErrOrStderr returns output to stderr + */ + errOrStderr(): io.Writer + } + interface Command { + /** + * InOrStdin returns input to stdin + */ + inOrStdin(): io.Reader + } + interface Command { + /** + * UsageFunc returns either the function set by SetUsageFunc for this command + * or a parent, or it returns a default usage function. + */ + usageFunc(): (_arg0: Command) => void + } + interface Command { + /** + * Usage puts out the usage for the command. + * Used when a user provides invalid input. + * Can be defined by user by overriding UsageFunc. + */ + usage(): void + } + interface Command { + /** + * HelpFunc returns either the function set by SetHelpFunc for this command + * or a parent, or it returns a function with default help behavior. + */ + helpFunc(): (_arg0: Command, _arg1: Array) => void + } + interface Command { + /** + * Help puts out the help for the command. + * Used when a user calls help [command]. + * Can be defined by user by overriding HelpFunc. + */ + help(): void + } + interface Command { + /** + * UsageString returns usage string. + */ + usageString(): string + } + interface Command { + /** + * FlagErrorFunc returns either the function set by SetFlagErrorFunc for this + * command or a parent, or it returns a function which returns the original + * error. + */ + flagErrorFunc(): (_arg0: Command, _arg1: Error) => void + } + interface Command { + /** + * UsagePadding return padding for the usage. + */ + usagePadding(): number + } + interface Command { + /** + * CommandPathPadding return padding for the command path. + */ + commandPathPadding(): number + } + interface Command { + /** + * NamePadding returns padding for the name. + */ + namePadding(): number + } + interface Command { + /** + * UsageTemplate returns usage template for the command. + */ + usageTemplate(): string + } + interface Command { + /** + * HelpTemplate return help template for the command. + */ + helpTemplate(): string + } + interface Command { + /** + * VersionTemplate return version template for the command. + */ + versionTemplate(): string + } + interface Command { + /** + * ErrPrefix return error message prefix for the command + */ + errPrefix(): string + } + interface Command { + /** + * Find the target command given the args and command tree + * Meant to be run on the highest node. Only searches down. + */ + find(args: Array): [(Command), Array] + } + interface Command { + /** + * Traverse the command tree to find the command, and parse args for + * each parent. + */ + traverse(args: Array): [(Command), Array] + } + interface Command { + /** + * SuggestionsFor provides suggestions for the typedName. + */ + suggestionsFor(typedName: string): Array + } + interface Command { + /** + * VisitParents visits all parents of the command and invokes fn on each parent. + */ + visitParents(fn: (_arg0: Command) => void): void + } + interface Command { + /** + * Root finds root command. + */ + root(): (Command) + } + interface Command { + /** + * ArgsLenAtDash will return the length of c.Flags().Args at the moment + * when a -- was found during args parsing. + */ + argsLenAtDash(): number + } + interface Command { + /** + * ExecuteContext is the same as Execute(), but sets the ctx on the command. + * Retrieve ctx by calling cmd.Context() inside your *Run lifecycle or ValidArgs + * functions. + */ + executeContext(ctx: context.Context): void + } + interface Command { + /** + * Execute uses the args (os.Args[1:] by default) + * and run through the command tree finding appropriate matches + * for commands and then corresponding flags. + */ + execute(): void + } + interface Command { + /** + * ExecuteContextC is the same as ExecuteC(), but sets the ctx on the command. + * Retrieve ctx by calling cmd.Context() inside your *Run lifecycle or ValidArgs + * functions. + */ + executeContextC(ctx: context.Context): (Command) + } + interface Command { + /** + * ExecuteC executes the command. + */ + executeC(): (Command) + } + interface Command { + validateArgs(args: Array): void + } + interface Command { + /** + * ValidateRequiredFlags validates all required flags are present and returns an error otherwise + */ + validateRequiredFlags(): void + } + interface Command { + /** + * InitDefaultHelpFlag adds default help flag to c. + * It is called automatically by executing the c or by calling help and usage. + * If c already has help flag, it will do nothing. + */ + initDefaultHelpFlag(): void + } + interface Command { + /** + * InitDefaultVersionFlag adds default version flag to c. + * It is called automatically by executing the c. + * If c already has a version flag, it will do nothing. + * If c.Version is empty, it will do nothing. + */ + initDefaultVersionFlag(): void + } + interface Command { + /** + * InitDefaultHelpCmd adds default help command to c. + * It is called automatically by executing the c or by calling help and usage. + * If c already has help command or c has no subcommands, it will do nothing. + */ + initDefaultHelpCmd(): void + } + interface Command { + /** + * ResetCommands delete parent, subcommand and help command from c. + */ + resetCommands(): void + } + interface Command { + /** + * Commands returns a sorted slice of child commands. + */ + commands(): Array<(Command | undefined)> + } + interface Command { + /** + * AddCommand adds one or more commands to this parent command. + */ + addCommand(...cmds: (Command | undefined)[]): void + } + interface Command { + /** + * Groups returns a slice of child command groups. + */ + groups(): Array<(Group | undefined)> + } + interface Command { + /** + * AllChildCommandsHaveGroup returns if all subcommands are assigned to a group + */ + allChildCommandsHaveGroup(): boolean + } + interface Command { + /** + * ContainsGroup return if groupID exists in the list of command groups. + */ + containsGroup(groupID: string): boolean + } + interface Command { + /** + * AddGroup adds one or more command groups to this parent command. + */ + addGroup(...groups: (Group | undefined)[]): void + } + interface Command { + /** + * RemoveCommand removes one or more commands from a parent command. + */ + removeCommand(...cmds: (Command | undefined)[]): void + } + interface Command { + /** + * Print is a convenience method to Print to the defined output, fallback to Stderr if not set. + */ + print(...i: { + }[]): void + } + interface Command { + /** + * Println is a convenience method to Println to the defined output, fallback to Stderr if not set. + */ + println(...i: { + }[]): void + } + interface Command { + /** + * Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set. + */ + printf(format: string, ...i: { + }[]): void + } + interface Command { + /** + * PrintErr is a convenience method to Print to the defined Err output, fallback to Stderr if not set. + */ + printErr(...i: { + }[]): void + } + interface Command { + /** + * PrintErrln is a convenience method to Println to the defined Err output, fallback to Stderr if not set. + */ + printErrln(...i: { + }[]): void + } + interface Command { + /** + * PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set. + */ + printErrf(format: string, ...i: { + }[]): void + } + interface Command { + /** + * CommandPath returns the full path to this command. + */ + commandPath(): string + } + interface Command { + /** + * UseLine puts out the full usage for a given command (including parents). + */ + useLine(): string + } + interface Command { + /** + * DebugFlags used to determine which flags have been assigned to which commands + * and which persist. + * nolint:goconst + */ + debugFlags(): void + } + interface Command { + /** + * Name returns the command's name: the first word in the use line. + */ + name(): string + } + interface Command { + /** + * HasAlias determines if a given string is an alias of the command. + */ + hasAlias(s: string): boolean + } + interface Command { + /** + * CalledAs returns the command name or alias that was used to invoke + * this command or an empty string if the command has not been called. + */ + calledAs(): string + } + interface Command { + /** + * NameAndAliases returns a list of the command name and all aliases + */ + nameAndAliases(): string + } + interface Command { + /** + * HasExample determines if the command has example. + */ + hasExample(): boolean + } + interface Command { + /** + * Runnable determines if the command is itself runnable. + */ + runnable(): boolean + } + interface Command { + /** + * HasSubCommands determines if the command has children commands. + */ + hasSubCommands(): boolean + } + interface Command { + /** + * IsAvailableCommand determines if a command is available as a non-help command + * (this includes all non deprecated/hidden commands). + */ + isAvailableCommand(): boolean + } + interface Command { + /** + * IsAdditionalHelpTopicCommand determines if a command is an additional + * help topic command; additional help topic command is determined by the + * fact that it is NOT runnable/hidden/deprecated, and has no sub commands that + * are runnable/hidden/deprecated. + * Concrete example: https://github.com/spf13/cobra/issues/393#issuecomment-282741924. + */ + isAdditionalHelpTopicCommand(): boolean + } + interface Command { + /** + * HasHelpSubCommands determines if a command has any available 'help' sub commands + * that need to be shown in the usage/help default template under 'additional help + * topics'. + */ + hasHelpSubCommands(): boolean + } + interface Command { + /** + * HasAvailableSubCommands determines if a command has available sub commands that + * need to be shown in the usage/help default template under 'available commands'. + */ + hasAvailableSubCommands(): boolean + } + interface Command { + /** + * HasParent determines if the command is a child command. + */ + hasParent(): boolean + } + interface Command { + /** + * GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist. + */ + globalNormalizationFunc(): (f: any, name: string) => any + } + interface Command { + /** + * Flags returns the complete FlagSet that applies + * to this command (local and persistent declared here and by all parents). + */ + flags(): (any) + } + interface Command { + /** + * LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands. + */ + localNonPersistentFlags(): (any) + } + interface Command { + /** + * LocalFlags returns the local FlagSet specifically set in the current command. + */ + localFlags(): (any) + } + interface Command { + /** + * InheritedFlags returns all flags which were inherited from parent commands. + */ + inheritedFlags(): (any) + } + interface Command { + /** + * NonInheritedFlags returns all flags which were not inherited from parent commands. + */ + nonInheritedFlags(): (any) + } + interface Command { + /** + * PersistentFlags returns the persistent FlagSet specifically set in the current command. + */ + persistentFlags(): (any) + } + interface Command { + /** + * ResetFlags deletes all flags from command. + */ + resetFlags(): void + } + interface Command { + /** + * HasFlags checks if the command contains any flags (local plus persistent from the entire structure). + */ + hasFlags(): boolean + } + interface Command { + /** + * HasPersistentFlags checks if the command contains persistent flags. + */ + hasPersistentFlags(): boolean + } + interface Command { + /** + * HasLocalFlags checks if the command has flags specifically declared locally. + */ + hasLocalFlags(): boolean + } + interface Command { + /** + * HasInheritedFlags checks if the command has flags inherited from its parent command. + */ + hasInheritedFlags(): boolean + } + interface Command { + /** + * HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire + * structure) which are not hidden or deprecated. + */ + hasAvailableFlags(): boolean + } + interface Command { + /** + * HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated. + */ + hasAvailablePersistentFlags(): boolean + } + interface Command { + /** + * HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden + * or deprecated. + */ + hasAvailableLocalFlags(): boolean + } + interface Command { + /** + * HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are + * not hidden or deprecated. + */ + hasAvailableInheritedFlags(): boolean + } + interface Command { + /** + * Flag climbs up the command tree looking for matching flag. + */ + flag(name: string): (any) + } + interface Command { + /** + * ParseFlags parses persistent flag tree and local flags. + */ + parseFlags(args: Array): void + } + interface Command { + /** + * Parent returns a commands parent command. + */ + parent(): (Command) + } + interface Command { + /** + * RegisterFlagCompletionFunc should be called to register a function to provide completion for a flag. + */ + registerFlagCompletionFunc(flagName: string, f: (cmd: Command, args: Array, toComplete: string) => [Array, ShellCompDirective]): void + } + interface Command { + /** + * GetFlagCompletionFunc returns the completion function for the given flag of the command, if available. + */ + getFlagCompletionFunc(flagName: string): [(_arg0: Command, _arg1: Array, _arg2: string) => [Array, ShellCompDirective], boolean] + } + interface Command { + /** + * InitDefaultCompletionCmd adds a default 'completion' command to c. + * This function will do nothing if any of the following is true: + * 1- the feature has been explicitly disabled by the program, + * 2- c has no subcommands (to avoid creating one), + * 3- c already has a 'completion' command provided by the program. + */ + initDefaultCompletionCmd(): void + } + interface Command { + /** + * GenFishCompletion generates fish completion file and writes to the passed writer. + */ + genFishCompletion(w: io.Writer, includeDesc: boolean): void + } + interface Command { + /** + * GenFishCompletionFile generates fish completion file. + */ + genFishCompletionFile(filename: string, includeDesc: boolean): void + } + interface Command { + /** + * MarkFlagsRequiredTogether marks the given flags with annotations so that Cobra errors + * if the command is invoked with a subset (but not all) of the given flags. + */ + markFlagsRequiredTogether(...flagNames: string[]): void + } + interface Command { + /** + * MarkFlagsOneRequired marks the given flags with annotations so that Cobra errors + * if the command is invoked without at least one flag from the given set of flags. + */ + markFlagsOneRequired(...flagNames: string[]): void + } + interface Command { + /** + * MarkFlagsMutuallyExclusive marks the given flags with annotations so that Cobra errors + * if the command is invoked with more than one flag from the given set of flags. + */ + markFlagsMutuallyExclusive(...flagNames: string[]): void + } + interface Command { + /** + * ValidateFlagGroups validates the mutuallyExclusive/oneRequired/requiredAsGroup logic and returns the + * first error encountered. + */ + validateFlagGroups(): void + } + interface Command { + /** + * GenPowerShellCompletionFile generates powershell completion file without descriptions. + */ + genPowerShellCompletionFile(filename: string): void + } + interface Command { + /** + * GenPowerShellCompletion generates powershell completion file without descriptions + * and writes it to the passed writer. + */ + genPowerShellCompletion(w: io.Writer): void + } + interface Command { + /** + * GenPowerShellCompletionFileWithDesc generates powershell completion file with descriptions. + */ + genPowerShellCompletionFileWithDesc(filename: string): void + } + interface Command { + /** + * GenPowerShellCompletionWithDesc generates powershell completion file with descriptions + * and writes it to the passed writer. + */ + genPowerShellCompletionWithDesc(w: io.Writer): void + } + interface Command { + /** + * MarkFlagRequired instructs the various shell completion implementations to + * prioritize the named flag when performing completion, + * and causes your command to report an error if invoked without the flag. + */ + markFlagRequired(name: string): void + } + interface Command { + /** + * MarkPersistentFlagRequired instructs the various shell completion implementations to + * prioritize the named persistent flag when performing completion, + * and causes your command to report an error if invoked without the flag. + */ + markPersistentFlagRequired(name: string): void + } + interface Command { + /** + * MarkFlagFilename instructs the various shell completion implementations to + * limit completions for the named flag to the specified file extensions. + */ + markFlagFilename(name: string, ...extensions: string[]): void + } + interface Command { + /** + * MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. + * The bash completion script will call the bash function f for the flag. + * + * This will only work for bash completion. + * It is recommended to instead use c.RegisterFlagCompletionFunc(...) which allows + * to register a Go function which will work across all shells. + */ + markFlagCustom(name: string, f: string): void + } + interface Command { + /** + * MarkPersistentFlagFilename instructs the various shell completion + * implementations to limit completions for the named persistent flag to the + * specified file extensions. + */ + markPersistentFlagFilename(name: string, ...extensions: string[]): void + } + interface Command { + /** + * MarkFlagDirname instructs the various shell completion implementations to + * limit completions for the named flag to directory names. + */ + markFlagDirname(name: string): void + } + interface Command { + /** + * MarkPersistentFlagDirname instructs the various shell completion + * implementations to limit completions for the named persistent flag to + * directory names. + */ + markPersistentFlagDirname(name: string): void + } + interface Command { + /** + * GenZshCompletionFile generates zsh completion file including descriptions. + */ + genZshCompletionFile(filename: string): void + } + interface Command { + /** + * GenZshCompletion generates zsh completion file including descriptions + * and writes it to the passed writer. + */ + genZshCompletion(w: io.Writer): void + } + interface Command { + /** + * GenZshCompletionFileNoDesc generates zsh completion file without descriptions. + */ + genZshCompletionFileNoDesc(filename: string): void + } + interface Command { + /** + * GenZshCompletionNoDesc generates zsh completion file without descriptions + * and writes it to the passed writer. + */ + genZshCompletionNoDesc(w: io.Writer): void + } + interface Command { + /** + * MarkZshCompPositionalArgumentFile only worked for zsh and its behavior was + * not consistent with Bash completion. It has therefore been disabled. + * Instead, when no other completion is specified, file completion is done by + * default for every argument. One can disable file completion on a per-argument + * basis by using ValidArgsFunction and ShellCompDirectiveNoFileComp. + * To achieve file extension filtering, one can use ValidArgsFunction and + * ShellCompDirectiveFilterFileExt. + * + * Deprecated + */ + markZshCompPositionalArgumentFile(argPosition: number, ...patterns: string[]): void + } + interface Command { + /** + * MarkZshCompPositionalArgumentWords only worked for zsh. It has therefore + * been disabled. + * To achieve the same behavior across all shells, one can use + * ValidArgs (for the first argument only) or ValidArgsFunction for + * any argument (can include the first one also). + * + * Deprecated + */ + markZshCompPositionalArgumentWords(argPosition: number, ...words: string[]): void + } +} + +namespace migrate { + /** + * MigrationsList defines a list with migration definitions + */ + interface MigrationsList { + } + interface MigrationsList { + /** + * Item returns a single migration from the list by its index. + */ + item(index: number): (Migration) + } + interface MigrationsList { + /** + * Items returns the internal migrations list slice. + */ + items(): Array<(Migration | undefined)> + } + interface MigrationsList { + /** + * Register adds new migration definition to the list. + * + * If `optFilename` is not provided, it will try to get the name from its .go file. + * + * The list will be sorted automatically based on the migrations file name. + */ + register(up: (db: dbx.Builder) => void, down: (db: dbx.Builder) => void, ...optFilename: string[]): void + } +} + /** * Package io provides basic interfaces to I/O primitives. * Its primary job is to wrap existing implementations of such primitives, @@ -14943,6 +14943,230 @@ namespace url { namespace context { } +/** + * Package sql provides a generic interface around SQL (or SQL-like) + * databases. + * + * The sql package must be used in conjunction with a database driver. + * See https://golang.org/s/sqldrivers for a list of drivers. + * + * Drivers that do not support context cancellation will not return until + * after the query is completed. + * + * For usage examples, see the wiki page at + * https://golang.org/s/sqlwiki. + */ +namespace sql { + /** + * IsolationLevel is the transaction isolation level used in TxOptions. + */ + interface IsolationLevel extends Number{} + interface IsolationLevel { + /** + * String returns the name of the transaction isolation level. + */ + string(): string + } + /** + * DBStats contains database statistics. + */ + interface DBStats { + maxOpenConnections: number // Maximum number of open connections to the database. + /** + * Pool Status + */ + openConnections: number // The number of established connections both in use and idle. + inUse: number // The number of connections currently in use. + idle: number // The number of idle connections. + /** + * Counters + */ + waitCount: number // The total number of connections waited for. + waitDuration: time.Duration // The total time blocked waiting for a new connection. + maxIdleClosed: number // The total number of connections closed due to SetMaxIdleConns. + maxIdleTimeClosed: number // The total number of connections closed due to SetConnMaxIdleTime. + maxLifetimeClosed: number // The total number of connections closed due to SetConnMaxLifetime. + } + /** + * Conn represents a single database connection rather than a pool of database + * connections. Prefer running queries from DB unless there is a specific + * need for a continuous single database connection. + * + * A Conn must call Close to return the connection to the database pool + * and may do so concurrently with a running query. + * + * After a call to Close, all operations on the + * connection fail with ErrConnDone. + */ + interface Conn { + } + interface Conn { + /** + * PingContext verifies the connection to the database is still alive. + */ + pingContext(ctx: context.Context): void + } + interface Conn { + /** + * ExecContext executes a query without returning any rows. + * The args are for any placeholder parameters in the query. + */ + execContext(ctx: context.Context, query: string, ...args: any[]): Result + } + interface Conn { + /** + * QueryContext executes a query that returns rows, typically a SELECT. + * The args are for any placeholder parameters in the query. + */ + queryContext(ctx: context.Context, query: string, ...args: any[]): (Rows) + } + interface Conn { + /** + * QueryRowContext executes a query that is expected to return at most one row. + * QueryRowContext always returns a non-nil value. Errors are deferred until + * Row's Scan method is called. + * If the query selects no rows, the *Row's Scan will return ErrNoRows. + * Otherwise, the *Row's Scan scans the first selected row and discards + * the rest. + */ + queryRowContext(ctx: context.Context, query: string, ...args: any[]): (Row) + } + interface Conn { + /** + * PrepareContext creates a prepared statement for later queries or executions. + * Multiple queries or executions may be run concurrently from the + * returned statement. + * The caller must call the statement's Close method + * when the statement is no longer needed. + * + * The provided context is used for the preparation of the statement, not for the + * execution of the statement. + */ + prepareContext(ctx: context.Context, query: string): (Stmt) + } + interface Conn { + /** + * Raw executes f exposing the underlying driver connection for the + * duration of f. The driverConn must not be used outside of f. + * + * Once f returns and err is not driver.ErrBadConn, the Conn will continue to be usable + * until Conn.Close is called. + */ + raw(f: (driverConn: any) => void): void + } + interface Conn { + /** + * BeginTx starts a transaction. + * + * The provided context is used until the transaction is committed or rolled back. + * If the context is canceled, the sql package will roll back + * the transaction. Tx.Commit will return an error if the context provided to + * BeginTx is canceled. + * + * The provided TxOptions is optional and may be nil if defaults should be used. + * If a non-default isolation level is used that the driver doesn't support, + * an error will be returned. + */ + beginTx(ctx: context.Context, opts: TxOptions): (Tx) + } + interface Conn { + /** + * Close returns the connection to the connection pool. + * All operations after a Close will return with ErrConnDone. + * Close is safe to call concurrently with other operations and will + * block until all other operations finish. It may be useful to first + * cancel any used context and then call close directly after. + */ + close(): void + } + /** + * ColumnType contains the name and type of a column. + */ + interface ColumnType { + } + interface ColumnType { + /** + * Name returns the name or alias of the column. + */ + name(): string + } + interface ColumnType { + /** + * Length returns the column type length for variable length column types such + * as text and binary field types. If the type length is unbounded the value will + * be math.MaxInt64 (any database limits will still apply). + * If the column type is not variable length, such as an int, or if not supported + * by the driver ok is false. + */ + length(): [number, boolean] + } + interface ColumnType { + /** + * DecimalSize returns the scale and precision of a decimal type. + * If not applicable or if not supported ok is false. + */ + decimalSize(): [number, boolean] + } + interface ColumnType { + /** + * ScanType returns a Go type suitable for scanning into using Rows.Scan. + * If a driver does not support this property ScanType will return + * the type of an empty interface. + */ + scanType(): any + } + interface ColumnType { + /** + * Nullable reports whether the column may be null. + * If a driver does not support this property ok will be false. + */ + nullable(): boolean + } + interface ColumnType { + /** + * DatabaseTypeName returns the database system name of the column type. If an empty + * string is returned, then the driver type name is not supported. + * Consult your driver documentation for a list of driver data types. Length specifiers + * are not included. + * Common type names include "VARCHAR", "TEXT", "NVARCHAR", "DECIMAL", "BOOL", + * "INT", and "BIGINT". + */ + databaseTypeName(): string + } + /** + * Row is the result of calling QueryRow to select a single row. + */ + interface Row { + } + interface Row { + /** + * Scan copies the columns from the matched row into the values + * pointed at by dest. See the documentation on Rows.Scan for details. + * If more than one row matches the query, + * Scan uses the first row and discards the rest. If no row matches + * the query, Scan returns ErrNoRows. + */ + scan(...dest: any[]): void + } + interface Row { + /** + * Err provides a way for wrapping packages to check for + * query errors without calling Scan. + * Err returns the error, if any, that was encountered while running the query. + * If this error is not nil, this error will also be returned from Scan. + */ + err(): void + } +} + +namespace migrate { + interface Migration { + file: string + up: (db: dbx.Builder) => void + down: (db: dbx.Builder) => void + } +} + /** * Package net provides a portable interface for network I/O, including * TCP/IP, UDP, domain name resolution, and Unix domain sockets. @@ -15122,123 +15346,155 @@ namespace net { } } -/** - * Package textproto implements generic support for text-based request/response - * protocols in the style of HTTP, NNTP, and SMTP. - * - * The package provides: - * - * Error, which represents a numeric error response from - * a server. - * - * Pipeline, to manage pipelined requests and responses - * in a client. - * - * Reader, to read numeric response code lines, - * key: value headers, lines wrapped with leading spaces - * on continuation lines, and whole text blocks ending - * with a dot on a line by itself. - * - * Writer, to write dot-encoded text blocks. - * - * Conn, a convenient packaging of Reader, Writer, and Pipeline for use - * with a single network connection. - */ -namespace textproto { +namespace store { /** - * A MIMEHeader represents a MIME-style header mapping - * keys to sets of values. + * Store defines a concurrent safe in memory key-value data store. */ - interface MIMEHeader extends _TygojaDict{} - interface MIMEHeader { - /** - * Add adds the key, value pair to the header. - * It appends to any existing values associated with key. - */ - add(key: string): void + interface Store { } - interface MIMEHeader { + interface Store { /** - * Set sets the header entries associated with key to - * the single element value. It replaces any existing - * values associated with key. + * Reset clears the store and replaces the store data with a + * shallow copy of the provided newData. */ - set(key: string): void + reset(newData: _TygojaDict): void } - interface MIMEHeader { + interface Store { /** - * Get gets the first value associated with the given key. - * It is case insensitive; CanonicalMIMEHeaderKey is used - * to canonicalize the provided key. - * If there are no values associated with the key, Get returns "". - * To use non-canonical keys, access the map directly. + * Length returns the current number of elements in the store. */ - get(key: string): string + length(): number } - interface MIMEHeader { + interface Store { /** - * Values returns all values associated with the given key. - * It is case insensitive; CanonicalMIMEHeaderKey is - * used to canonicalize the provided key. To use non-canonical - * keys, access the map directly. - * The returned slice is not a copy. + * RemoveAll removes all the existing store entries. */ - values(key: string): Array + removeAll(): void } - interface MIMEHeader { + interface Store { /** - * Del deletes the values associated with key. + * Remove removes a single entry from the store. + * + * Remove does nothing if key doesn't exist in the store. */ - del(key: string): void + remove(key: string): void + } + interface Store { + /** + * Has checks if element with the specified key exist or not. + */ + has(key: string): boolean + } + interface Store { + /** + * Get returns a single element value from the store. + * + * If key is not set, the zero T value is returned. + */ + get(key: string): T + } + interface Store { + /** + * GetAll returns a shallow copy of the current store data. + */ + getAll(): _TygojaDict + } + interface Store { + /** + * Set sets (or overwrite if already exist) a new value for key. + */ + set(key: string, value: T): void + } + interface Store { + /** + * SetIfLessThanLimit sets (or overwrite if already exist) a new value for key. + * + * This method is similar to Set() but **it will skip adding new elements** + * to the store if the store length has reached the specified limit. + * false is returned if maxAllowedElements limit is reached. + */ + setIfLessThanLimit(key: string, value: T, maxAllowedElements: number): boolean } } -/** - * Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. - * In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. - */ -namespace cobra { - interface PositionalArgs {(cmd: Command, args: Array): void } - // @ts-ignore - import flag = pflag +namespace hook { /** - * FParseErrWhitelist configures Flag parse errors to be ignored + * Hook defines a concurrent safe structure for handling event hooks + * (aka. callbacks propagation). */ - interface FParseErrWhitelist extends _TygojaAny{} - /** - * Group Structure to manage groups for commands - */ - interface Group { - id: string - title: string + interface Hook { + } + interface Hook { + /** + * PreAdd registers a new handler to the hook by prepending it to the existing queue. + * + * Returns an autogenerated hook id that could be used later to remove the hook with Hook.Remove(id). + */ + preAdd(fn: Handler): string + } + interface Hook { + /** + * Add registers a new handler to the hook by appending it to the existing queue. + * + * Returns an autogenerated hook id that could be used later to remove the hook with Hook.Remove(id). + */ + add(fn: Handler): string + } + interface Hook { + /** + * Remove removes a single hook handler by its id. + */ + remove(id: string): void + } + interface Hook { + /** + * RemoveAll removes all registered handlers. + */ + removeAll(): void + } + interface Hook { + /** + * Trigger executes all registered hook handlers one by one + * with the specified `data` as an argument. + * + * Optionally, this method allows also to register additional one off + * handlers that will be temporary appended to the handlers queue. + * + * The execution stops when: + * - hook.StopPropagation is returned in one of the handlers + * - any non-nil error is returned in one of the handlers + */ + trigger(data: T, ...oneOffHandlers: Handler[]): void } /** - * ShellCompDirective is a bit map representing the different behaviors the shell - * can be instructed to have once completions have been provided. + * TaggedHook defines a proxy hook which register handlers that are triggered only + * if the TaggedHook.tags are empty or includes at least one of the event data tag(s). */ - interface ShellCompDirective extends Number{} - /** - * CompletionOptions are the options to control shell completion - */ - interface CompletionOptions { + type _subdIctE = mainHook + interface TaggedHook extends _subdIctE { + } + interface TaggedHook { /** - * DisableDefaultCmd prevents Cobra from creating a default 'completion' command + * CanTriggerOn checks if the current TaggedHook can be triggered with + * the provided event data tags. */ - disableDefaultCmd: boolean + canTriggerOn(tags: Array): boolean + } + interface TaggedHook { /** - * DisableNoDescFlag prevents Cobra from creating the '--no-descriptions' flag - * for shells that support completion descriptions + * PreAdd registers a new handler to the hook by prepending it to the existing queue. + * + * The fn handler will be called only if the event data tags satisfy h.CanTriggerOn. */ - disableNoDescFlag: boolean + preAdd(fn: Handler): string + } + interface TaggedHook { /** - * DisableDescriptions turns off all completion descriptions for shells - * that support them + * Add registers a new handler to the hook by appending it to the existing queue. + * + * The fn handler will be called only if the event data tags satisfy h.CanTriggerOn. */ - disableDescriptions: boolean - /** - * HiddenDefaultCmd makes the default 'completion' command hidden - */ - hiddenDefaultCmd: boolean + add(fn: Handler): string } } @@ -15730,6 +15986,77 @@ namespace slog { } } +/** + * Package textproto implements generic support for text-based request/response + * protocols in the style of HTTP, NNTP, and SMTP. + * + * The package provides: + * + * Error, which represents a numeric error response from + * a server. + * + * Pipeline, to manage pipelined requests and responses + * in a client. + * + * Reader, to read numeric response code lines, + * key: value headers, lines wrapped with leading spaces + * on continuation lines, and whole text blocks ending + * with a dot on a line by itself. + * + * Writer, to write dot-encoded text blocks. + * + * Conn, a convenient packaging of Reader, Writer, and Pipeline for use + * with a single network connection. + */ +namespace textproto { + /** + * A MIMEHeader represents a MIME-style header mapping + * keys to sets of values. + */ + interface MIMEHeader extends _TygojaDict{} + interface MIMEHeader { + /** + * Add adds the key, value pair to the header. + * It appends to any existing values associated with key. + */ + add(key: string): void + } + interface MIMEHeader { + /** + * Set sets the header entries associated with key to + * the single element value. It replaces any existing + * values associated with key. + */ + set(key: string): void + } + interface MIMEHeader { + /** + * Get gets the first value associated with the given key. + * It is case insensitive; CanonicalMIMEHeaderKey is used + * to canonicalize the provided key. + * If there are no values associated with the key, Get returns "". + * To use non-canonical keys, access the map directly. + */ + get(key: string): string + } + interface MIMEHeader { + /** + * Values returns all values associated with the given key. + * It is case insensitive; CanonicalMIMEHeaderKey is + * used to canonicalize the provided key. To use non-canonical + * keys, access the map directly. + * The returned slice is not a copy. + */ + values(key: string): Array + } + interface MIMEHeader { + /** + * Del deletes the values associated with key. + */ + del(key: string): void + } +} + /** * Package multipart implements MIME multipart parsing, as defined in RFC * 2046. @@ -16348,626 +16675,6 @@ namespace oauth2 { } } -/** - * Package sql provides a generic interface around SQL (or SQL-like) - * databases. - * - * The sql package must be used in conjunction with a database driver. - * See https://golang.org/s/sqldrivers for a list of drivers. - * - * Drivers that do not support context cancellation will not return until - * after the query is completed. - * - * For usage examples, see the wiki page at - * https://golang.org/s/sqlwiki. - */ -namespace sql { - /** - * IsolationLevel is the transaction isolation level used in TxOptions. - */ - interface IsolationLevel extends Number{} - interface IsolationLevel { - /** - * String returns the name of the transaction isolation level. - */ - string(): string - } - /** - * DBStats contains database statistics. - */ - interface DBStats { - maxOpenConnections: number // Maximum number of open connections to the database. - /** - * Pool Status - */ - openConnections: number // The number of established connections both in use and idle. - inUse: number // The number of connections currently in use. - idle: number // The number of idle connections. - /** - * Counters - */ - waitCount: number // The total number of connections waited for. - waitDuration: time.Duration // The total time blocked waiting for a new connection. - maxIdleClosed: number // The total number of connections closed due to SetMaxIdleConns. - maxIdleTimeClosed: number // The total number of connections closed due to SetConnMaxIdleTime. - maxLifetimeClosed: number // The total number of connections closed due to SetConnMaxLifetime. - } - /** - * Conn represents a single database connection rather than a pool of database - * connections. Prefer running queries from DB unless there is a specific - * need for a continuous single database connection. - * - * A Conn must call Close to return the connection to the database pool - * and may do so concurrently with a running query. - * - * After a call to Close, all operations on the - * connection fail with ErrConnDone. - */ - interface Conn { - } - interface Conn { - /** - * PingContext verifies the connection to the database is still alive. - */ - pingContext(ctx: context.Context): void - } - interface Conn { - /** - * ExecContext executes a query without returning any rows. - * The args are for any placeholder parameters in the query. - */ - execContext(ctx: context.Context, query: string, ...args: any[]): Result - } - interface Conn { - /** - * QueryContext executes a query that returns rows, typically a SELECT. - * The args are for any placeholder parameters in the query. - */ - queryContext(ctx: context.Context, query: string, ...args: any[]): (Rows) - } - interface Conn { - /** - * QueryRowContext executes a query that is expected to return at most one row. - * QueryRowContext always returns a non-nil value. Errors are deferred until - * Row's Scan method is called. - * If the query selects no rows, the *Row's Scan will return ErrNoRows. - * Otherwise, the *Row's Scan scans the first selected row and discards - * the rest. - */ - queryRowContext(ctx: context.Context, query: string, ...args: any[]): (Row) - } - interface Conn { - /** - * PrepareContext creates a prepared statement for later queries or executions. - * Multiple queries or executions may be run concurrently from the - * returned statement. - * The caller must call the statement's Close method - * when the statement is no longer needed. - * - * The provided context is used for the preparation of the statement, not for the - * execution of the statement. - */ - prepareContext(ctx: context.Context, query: string): (Stmt) - } - interface Conn { - /** - * Raw executes f exposing the underlying driver connection for the - * duration of f. The driverConn must not be used outside of f. - * - * Once f returns and err is not driver.ErrBadConn, the Conn will continue to be usable - * until Conn.Close is called. - */ - raw(f: (driverConn: any) => void): void - } - interface Conn { - /** - * BeginTx starts a transaction. - * - * The provided context is used until the transaction is committed or rolled back. - * If the context is canceled, the sql package will roll back - * the transaction. Tx.Commit will return an error if the context provided to - * BeginTx is canceled. - * - * The provided TxOptions is optional and may be nil if defaults should be used. - * If a non-default isolation level is used that the driver doesn't support, - * an error will be returned. - */ - beginTx(ctx: context.Context, opts: TxOptions): (Tx) - } - interface Conn { - /** - * Close returns the connection to the connection pool. - * All operations after a Close will return with ErrConnDone. - * Close is safe to call concurrently with other operations and will - * block until all other operations finish. It may be useful to first - * cancel any used context and then call close directly after. - */ - close(): void - } - /** - * ColumnType contains the name and type of a column. - */ - interface ColumnType { - } - interface ColumnType { - /** - * Name returns the name or alias of the column. - */ - name(): string - } - interface ColumnType { - /** - * Length returns the column type length for variable length column types such - * as text and binary field types. If the type length is unbounded the value will - * be math.MaxInt64 (any database limits will still apply). - * If the column type is not variable length, such as an int, or if not supported - * by the driver ok is false. - */ - length(): [number, boolean] - } - interface ColumnType { - /** - * DecimalSize returns the scale and precision of a decimal type. - * If not applicable or if not supported ok is false. - */ - decimalSize(): [number, boolean] - } - interface ColumnType { - /** - * ScanType returns a Go type suitable for scanning into using Rows.Scan. - * If a driver does not support this property ScanType will return - * the type of an empty interface. - */ - scanType(): any - } - interface ColumnType { - /** - * Nullable reports whether the column may be null. - * If a driver does not support this property ok will be false. - */ - nullable(): boolean - } - interface ColumnType { - /** - * DatabaseTypeName returns the database system name of the column type. If an empty - * string is returned, then the driver type name is not supported. - * Consult your driver documentation for a list of driver data types. Length specifiers - * are not included. - * Common type names include "VARCHAR", "TEXT", "NVARCHAR", "DECIMAL", "BOOL", - * "INT", and "BIGINT". - */ - databaseTypeName(): string - } - /** - * Row is the result of calling QueryRow to select a single row. - */ - interface Row { - } - interface Row { - /** - * Scan copies the columns from the matched row into the values - * pointed at by dest. See the documentation on Rows.Scan for details. - * If more than one row matches the query, - * Scan uses the first row and discards the rest. If no row matches - * the query, Scan returns ErrNoRows. - */ - scan(...dest: any[]): void - } - interface Row { - /** - * Err provides a way for wrapping packages to check for - * query errors without calling Scan. - * Err returns the error, if any, that was encountered while running the query. - * If this error is not nil, this error will also be returned from Scan. - */ - err(): void - } -} - -namespace store { - /** - * Store defines a concurrent safe in memory key-value data store. - */ - interface Store { - } - interface Store { - /** - * Reset clears the store and replaces the store data with a - * shallow copy of the provided newData. - */ - reset(newData: _TygojaDict): void - } - interface Store { - /** - * Length returns the current number of elements in the store. - */ - length(): number - } - interface Store { - /** - * RemoveAll removes all the existing store entries. - */ - removeAll(): void - } - interface Store { - /** - * Remove removes a single entry from the store. - * - * Remove does nothing if key doesn't exist in the store. - */ - remove(key: string): void - } - interface Store { - /** - * Has checks if element with the specified key exist or not. - */ - has(key: string): boolean - } - interface Store { - /** - * Get returns a single element value from the store. - * - * If key is not set, the zero T value is returned. - */ - get(key: string): T - } - interface Store { - /** - * GetAll returns a shallow copy of the current store data. - */ - getAll(): _TygojaDict - } - interface Store { - /** - * Set sets (or overwrite if already exist) a new value for key. - */ - set(key: string, value: T): void - } - interface Store { - /** - * SetIfLessThanLimit sets (or overwrite if already exist) a new value for key. - * - * This method is similar to Set() but **it will skip adding new elements** - * to the store if the store length has reached the specified limit. - * false is returned if maxAllowedElements limit is reached. - */ - setIfLessThanLimit(key: string, value: T, maxAllowedElements: number): boolean - } -} - -/** - * Package types implements some commonly used db serializable types - * like datetime, json, etc. - */ -namespace types { - /** - * DateTime represents a [time.Time] instance in UTC that is wrapped - * and serialized using the app default date layout. - */ - interface DateTime { - } - interface DateTime { - /** - * Time returns the internal [time.Time] instance. - */ - time(): time.Time - } - interface DateTime { - /** - * IsZero checks whether the current DateTime instance has zero time value. - */ - isZero(): boolean - } - interface DateTime { - /** - * String serializes the current DateTime instance into a formatted - * UTC date string. - * - * The zero value is serialized to an empty string. - */ - string(): string - } - interface DateTime { - /** - * MarshalJSON implements the [json.Marshaler] interface. - */ - marshalJSON(): string|Array - } - interface DateTime { - /** - * UnmarshalJSON implements the [json.Unmarshaler] interface. - */ - unmarshalJSON(b: string|Array): void - } - interface DateTime { - /** - * Value implements the [driver.Valuer] interface. - */ - value(): any - } - interface DateTime { - /** - * Scan implements [sql.Scanner] interface to scan the provided value - * into the current DateTime instance. - */ - scan(value: any): void - } -} - -/** - * Package schema implements custom Schema and SchemaField datatypes - * for handling the Collection schema definitions. - */ -namespace schema { - // @ts-ignore - import validation = ozzo_validation - /** - * SchemaField defines a single schema field structure. - */ - interface SchemaField { - system: boolean - id: string - name: string - type: string - required: boolean - /** - * Presentable indicates whether the field is suitable for - * visualization purposes (eg. in the Admin UI relation views). - */ - presentable: boolean - /** - * Deprecated: This field is no-op and will be removed in future versions. - * Please use the collection.Indexes field to define a unique constraint. - */ - unique: boolean - options: any - } - interface SchemaField { - /** - * ColDefinition returns the field db column type definition as string. - */ - colDefinition(): string - } - interface SchemaField { - /** - * String serializes and returns the current field as string. - */ - string(): string - } - interface SchemaField { - /** - * MarshalJSON implements the [json.Marshaler] interface. - */ - marshalJSON(): string|Array - } - interface SchemaField { - /** - * UnmarshalJSON implements the [json.Unmarshaler] interface. - * - * The schema field options are auto initialized on success. - */ - unmarshalJSON(data: string|Array): void - } - interface SchemaField { - /** - * Validate makes `SchemaField` validatable by implementing [validation.Validatable] interface. - */ - validate(): void - } - interface SchemaField { - /** - * InitOptions initializes the current field options based on its type. - * - * Returns error on unknown field type. - */ - initOptions(): void - } - interface SchemaField { - /** - * PrepareValue returns normalized and properly formatted field value. - */ - prepareValue(value: any): any - } - interface SchemaField { - /** - * PrepareValueWithModifier returns normalized and properly formatted field value - * by "merging" baseValue with the modifierValue based on the specified modifier (+ or -). - */ - prepareValueWithModifier(baseValue: any, modifier: string, modifierValue: any): any - } -} - -/** - * Package models implements all PocketBase DB models and DTOs. - */ -namespace models { - /** - * Model defines an interface with common methods that all db models should have. - */ - interface Model { - [key:string]: any; - tableName(): string - isNew(): boolean - markAsNew(): void - markAsNotNew(): void - hasId(): boolean - getId(): string - setId(id: string): void - getCreated(): types.DateTime - getUpdated(): types.DateTime - refreshId(): void - refreshCreated(): void - refreshUpdated(): void - } - /** - * BaseModel defines common fields and methods used by all other models. - */ - interface BaseModel { - id: string - created: types.DateTime - updated: types.DateTime - } - interface BaseModel { - /** - * HasId returns whether the model has a nonzero id. - */ - hasId(): boolean - } - interface BaseModel { - /** - * GetId returns the model id. - */ - getId(): string - } - interface BaseModel { - /** - * SetId sets the model id to the provided string value. - */ - setId(id: string): void - } - interface BaseModel { - /** - * MarkAsNew marks the model as "new" (aka. enforces m.IsNew() to be true). - */ - markAsNew(): void - } - interface BaseModel { - /** - * MarkAsNotNew marks the model as "not new" (aka. enforces m.IsNew() to be false) - */ - markAsNotNew(): void - } - interface BaseModel { - /** - * IsNew indicates what type of db query (insert or update) - * should be used with the model instance. - */ - isNew(): boolean - } - interface BaseModel { - /** - * GetCreated returns the model Created datetime. - */ - getCreated(): types.DateTime - } - interface BaseModel { - /** - * GetUpdated returns the model Updated datetime. - */ - getUpdated(): types.DateTime - } - interface BaseModel { - /** - * RefreshId generates and sets a new model id. - * - * The generated id is a cryptographically random 15 characters length string. - */ - refreshId(): void - } - interface BaseModel { - /** - * RefreshCreated updates the model Created field with the current datetime. - */ - refreshCreated(): void - } - interface BaseModel { - /** - * RefreshUpdated updates the model Updated field with the current datetime. - */ - refreshUpdated(): void - } - interface BaseModel { - /** - * PostScan implements the [dbx.PostScanner] interface. - * - * It is executed right after the model was populated with the db row values. - */ - postScan(): void - } - // @ts-ignore - import validation = ozzo_validation - /** - * CollectionBaseOptions defines the "base" Collection.Options fields. - */ - interface CollectionBaseOptions { - } - interface CollectionBaseOptions { - /** - * Validate implements [validation.Validatable] interface. - */ - validate(): void - } - /** - * CollectionAuthOptions defines the "auth" Collection.Options fields. - */ - interface CollectionAuthOptions { - manageRule?: string - allowOAuth2Auth: boolean - allowUsernameAuth: boolean - allowEmailAuth: boolean - requireEmail: boolean - exceptEmailDomains: Array - onlyVerified: boolean - onlyEmailDomains: Array - minPasswordLength: number - } - interface CollectionAuthOptions { - /** - * Validate implements [validation.Validatable] interface. - */ - validate(): void - } - /** - * CollectionViewOptions defines the "view" Collection.Options fields. - */ - interface CollectionViewOptions { - query: string - } - interface CollectionViewOptions { - /** - * Validate implements [validation.Validatable] interface. - */ - validate(): void - } - type _subBBcuC = BaseModel - interface Log extends _subBBcuC { - data: types.JsonMap - message: string - level: number - } - interface Log { - tableName(): string - } - type _subxlGod = BaseModel - interface Param extends _subxlGod { - key: string - value: types.JsonRaw - } - interface Param { - tableName(): string - } - interface TableInfoRow { - /** - * the `db:"pk"` tag has special semantic so we cannot rename - * the original field without specifying a custom mapper - */ - pk: number - index: number - name: string - type: string - notNull: boolean - defaultValue: types.JsonRaw - } -} - -namespace migrate { - interface Migration { - file: string - up: (db: dbx.Builder) => void - down: (db: dbx.Builder) => void - } -} - /** * Package echo implements high performance, minimalist Go web framework. * @@ -17424,6 +17131,331 @@ namespace echo { } } +/** + * Package types implements some commonly used db serializable types + * like datetime, json, etc. + */ +namespace types { + /** + * DateTime represents a [time.Time] instance in UTC that is wrapped + * and serialized using the app default date layout. + */ + interface DateTime { + } + interface DateTime { + /** + * Time returns the internal [time.Time] instance. + */ + time(): time.Time + } + interface DateTime { + /** + * IsZero checks whether the current DateTime instance has zero time value. + */ + isZero(): boolean + } + interface DateTime { + /** + * String serializes the current DateTime instance into a formatted + * UTC date string. + * + * The zero value is serialized to an empty string. + */ + string(): string + } + interface DateTime { + /** + * MarshalJSON implements the [json.Marshaler] interface. + */ + marshalJSON(): string|Array + } + interface DateTime { + /** + * UnmarshalJSON implements the [json.Unmarshaler] interface. + */ + unmarshalJSON(b: string|Array): void + } + interface DateTime { + /** + * Value implements the [driver.Valuer] interface. + */ + value(): any + } + interface DateTime { + /** + * Scan implements [sql.Scanner] interface to scan the provided value + * into the current DateTime instance. + */ + scan(value: any): void + } +} + +/** + * Package schema implements custom Schema and SchemaField datatypes + * for handling the Collection schema definitions. + */ +namespace schema { + // @ts-ignore + import validation = ozzo_validation + /** + * SchemaField defines a single schema field structure. + */ + interface SchemaField { + system: boolean + id: string + name: string + type: string + required: boolean + /** + * Presentable indicates whether the field is suitable for + * visualization purposes (eg. in the Admin UI relation views). + */ + presentable: boolean + /** + * Deprecated: This field is no-op and will be removed in future versions. + * Please use the collection.Indexes field to define a unique constraint. + */ + unique: boolean + options: any + } + interface SchemaField { + /** + * ColDefinition returns the field db column type definition as string. + */ + colDefinition(): string + } + interface SchemaField { + /** + * String serializes and returns the current field as string. + */ + string(): string + } + interface SchemaField { + /** + * MarshalJSON implements the [json.Marshaler] interface. + */ + marshalJSON(): string|Array + } + interface SchemaField { + /** + * UnmarshalJSON implements the [json.Unmarshaler] interface. + * + * The schema field options are auto initialized on success. + */ + unmarshalJSON(data: string|Array): void + } + interface SchemaField { + /** + * Validate makes `SchemaField` validatable by implementing [validation.Validatable] interface. + */ + validate(): void + } + interface SchemaField { + /** + * InitOptions initializes the current field options based on its type. + * + * Returns error on unknown field type. + */ + initOptions(): void + } + interface SchemaField { + /** + * PrepareValue returns normalized and properly formatted field value. + */ + prepareValue(value: any): any + } + interface SchemaField { + /** + * PrepareValueWithModifier returns normalized and properly formatted field value + * by "merging" baseValue with the modifierValue based on the specified modifier (+ or -). + */ + prepareValueWithModifier(baseValue: any, modifier: string, modifierValue: any): any + } +} + +/** + * Package models implements all PocketBase DB models and DTOs. + */ +namespace models { + /** + * Model defines an interface with common methods that all db models should have. + */ + interface Model { + [key:string]: any; + tableName(): string + isNew(): boolean + markAsNew(): void + markAsNotNew(): void + hasId(): boolean + getId(): string + setId(id: string): void + getCreated(): types.DateTime + getUpdated(): types.DateTime + refreshId(): void + refreshCreated(): void + refreshUpdated(): void + } + /** + * BaseModel defines common fields and methods used by all other models. + */ + interface BaseModel { + id: string + created: types.DateTime + updated: types.DateTime + } + interface BaseModel { + /** + * HasId returns whether the model has a nonzero id. + */ + hasId(): boolean + } + interface BaseModel { + /** + * GetId returns the model id. + */ + getId(): string + } + interface BaseModel { + /** + * SetId sets the model id to the provided string value. + */ + setId(id: string): void + } + interface BaseModel { + /** + * MarkAsNew marks the model as "new" (aka. enforces m.IsNew() to be true). + */ + markAsNew(): void + } + interface BaseModel { + /** + * MarkAsNotNew marks the model as "not new" (aka. enforces m.IsNew() to be false) + */ + markAsNotNew(): void + } + interface BaseModel { + /** + * IsNew indicates what type of db query (insert or update) + * should be used with the model instance. + */ + isNew(): boolean + } + interface BaseModel { + /** + * GetCreated returns the model Created datetime. + */ + getCreated(): types.DateTime + } + interface BaseModel { + /** + * GetUpdated returns the model Updated datetime. + */ + getUpdated(): types.DateTime + } + interface BaseModel { + /** + * RefreshId generates and sets a new model id. + * + * The generated id is a cryptographically random 15 characters length string. + */ + refreshId(): void + } + interface BaseModel { + /** + * RefreshCreated updates the model Created field with the current datetime. + */ + refreshCreated(): void + } + interface BaseModel { + /** + * RefreshUpdated updates the model Updated field with the current datetime. + */ + refreshUpdated(): void + } + interface BaseModel { + /** + * PostScan implements the [dbx.PostScanner] interface. + * + * It is executed right after the model was populated with the db row values. + */ + postScan(): void + } + // @ts-ignore + import validation = ozzo_validation + /** + * CollectionBaseOptions defines the "base" Collection.Options fields. + */ + interface CollectionBaseOptions { + } + interface CollectionBaseOptions { + /** + * Validate implements [validation.Validatable] interface. + */ + validate(): void + } + /** + * CollectionAuthOptions defines the "auth" Collection.Options fields. + */ + interface CollectionAuthOptions { + manageRule?: string + allowOAuth2Auth: boolean + allowUsernameAuth: boolean + allowEmailAuth: boolean + requireEmail: boolean + exceptEmailDomains: Array + onlyVerified: boolean + onlyEmailDomains: Array + minPasswordLength: number + } + interface CollectionAuthOptions { + /** + * Validate implements [validation.Validatable] interface. + */ + validate(): void + } + /** + * CollectionViewOptions defines the "view" Collection.Options fields. + */ + interface CollectionViewOptions { + query: string + } + interface CollectionViewOptions { + /** + * Validate implements [validation.Validatable] interface. + */ + validate(): void + } + type _subjFZcQ = BaseModel + interface Log extends _subjFZcQ { + data: types.JsonMap + message: string + level: number + } + interface Log { + tableName(): string + } + type _suboISdL = BaseModel + interface Param extends _suboISdL { + key: string + value: types.JsonRaw + } + interface Param { + tableName(): string + } + interface TableInfoRow { + /** + * the `db:"pk"` tag has special semantic so we cannot rename + * the original field without specifying a custom mapper + */ + pk: number + index: number + name: string + type: string + notNull: boolean + defaultValue: types.JsonRaw + } +} + namespace mailer { /** * Mailer defines a base mail client interface. @@ -17605,87 +17637,6 @@ namespace daos { import validation = ozzo_validation } -namespace hook { - /** - * Hook defines a concurrent safe structure for handling event hooks - * (aka. callbacks propagation). - */ - interface Hook { - } - interface Hook { - /** - * PreAdd registers a new handler to the hook by prepending it to the existing queue. - * - * Returns an autogenerated hook id that could be used later to remove the hook with Hook.Remove(id). - */ - preAdd(fn: Handler): string - } - interface Hook { - /** - * Add registers a new handler to the hook by appending it to the existing queue. - * - * Returns an autogenerated hook id that could be used later to remove the hook with Hook.Remove(id). - */ - add(fn: Handler): string - } - interface Hook { - /** - * Remove removes a single hook handler by its id. - */ - remove(id: string): void - } - interface Hook { - /** - * RemoveAll removes all registered handlers. - */ - removeAll(): void - } - interface Hook { - /** - * Trigger executes all registered hook handlers one by one - * with the specified `data` as an argument. - * - * Optionally, this method allows also to register additional one off - * handlers that will be temporary appended to the handlers queue. - * - * The execution stops when: - * - hook.StopPropagation is returned in one of the handlers - * - any non-nil error is returned in one of the handlers - */ - trigger(data: T, ...oneOffHandlers: Handler[]): void - } - /** - * TaggedHook defines a proxy hook which register handlers that are triggered only - * if the TaggedHook.tags are empty or includes at least one of the event data tag(s). - */ - type _subNpYnd = mainHook - interface TaggedHook extends _subNpYnd { - } - interface TaggedHook { - /** - * CanTriggerOn checks if the current TaggedHook can be triggered with - * the provided event data tags. - */ - canTriggerOn(tags: Array): boolean - } - interface TaggedHook { - /** - * PreAdd registers a new handler to the hook by prepending it to the existing queue. - * - * The fn handler will be called only if the event data tags satisfy h.CanTriggerOn. - */ - preAdd(fn: Handler): string - } - interface TaggedHook { - /** - * Add registers a new handler to the hook by appending it to the existing queue. - * - * The fn handler will be called only if the event data tags satisfy h.CanTriggerOn. - */ - add(fn: Handler): string - } -} - namespace subscriptions { /** * Broker defines a struct for managing subscriptions clients. @@ -17746,12 +17697,12 @@ namespace core { httpContext: echo.Context error: Error } - type _subOtivx = BaseModelEvent - interface ModelEvent extends _subOtivx { + type _subEzLWq = BaseModelEvent + interface ModelEvent extends _subEzLWq { dao?: daos.Dao } - type _subTdCFV = BaseCollectionEvent - interface MailerRecordEvent extends _subTdCFV { + type _subxHLcu = BaseCollectionEvent + interface MailerRecordEvent extends _subxHLcu { mailClient: mailer.Mailer message?: mailer.Message record?: models.Record @@ -17791,50 +17742,50 @@ namespace core { oldSettings?: settings.Settings newSettings?: settings.Settings } - type _subXmzYr = BaseCollectionEvent - interface RecordsListEvent extends _subXmzYr { + type _subKEYtS = BaseCollectionEvent + interface RecordsListEvent extends _subKEYtS { httpContext: echo.Context records: Array<(models.Record | undefined)> result?: search.Result } - type _subRHdcN = BaseCollectionEvent - interface RecordViewEvent extends _subRHdcN { + type _subcHuVY = BaseCollectionEvent + interface RecordViewEvent extends _subcHuVY { httpContext: echo.Context record?: models.Record } - type _subEaFdI = BaseCollectionEvent - interface RecordCreateEvent extends _subEaFdI { + type _submGFAd = BaseCollectionEvent + interface RecordCreateEvent extends _submGFAd { httpContext: echo.Context record?: models.Record uploadedFiles: _TygojaDict } - type _subTjXth = BaseCollectionEvent - interface RecordUpdateEvent extends _subTjXth { + type _subcKZCh = BaseCollectionEvent + interface RecordUpdateEvent extends _subcKZCh { httpContext: echo.Context record?: models.Record uploadedFiles: _TygojaDict } - type _subBZNpH = BaseCollectionEvent - interface RecordDeleteEvent extends _subBZNpH { + type _subRnXHB = BaseCollectionEvent + interface RecordDeleteEvent extends _subRnXHB { httpContext: echo.Context record?: models.Record } - type _subQerjR = BaseCollectionEvent - interface RecordAuthEvent extends _subQerjR { + type _subtCPnV = BaseCollectionEvent + interface RecordAuthEvent extends _subtCPnV { httpContext: echo.Context record?: models.Record token: string meta: any } - type _subFsaiI = BaseCollectionEvent - interface RecordAuthWithPasswordEvent extends _subFsaiI { + type _subrNldz = BaseCollectionEvent + interface RecordAuthWithPasswordEvent extends _subrNldz { httpContext: echo.Context record?: models.Record identity: string password: string } - type _subrCyfl = BaseCollectionEvent - interface RecordAuthWithOAuth2Event extends _subrCyfl { + type _subjjHTd = BaseCollectionEvent + interface RecordAuthWithOAuth2Event extends _subjjHTd { httpContext: echo.Context providerName: string providerClient: auth.Provider @@ -17842,49 +17793,49 @@ namespace core { oAuth2User?: auth.AuthUser isNewRecord: boolean } - type _subPhTEQ = BaseCollectionEvent - interface RecordAuthRefreshEvent extends _subPhTEQ { + type _subZbGRT = BaseCollectionEvent + interface RecordAuthRefreshEvent extends _subZbGRT { httpContext: echo.Context record?: models.Record } - type _subYkvUg = BaseCollectionEvent - interface RecordRequestPasswordResetEvent extends _subYkvUg { + type _subTMYnw = BaseCollectionEvent + interface RecordRequestPasswordResetEvent extends _subTMYnw { httpContext: echo.Context record?: models.Record } - type _subEtDMq = BaseCollectionEvent - interface RecordConfirmPasswordResetEvent extends _subEtDMq { + type _subCQwxt = BaseCollectionEvent + interface RecordConfirmPasswordResetEvent extends _subCQwxt { httpContext: echo.Context record?: models.Record } - type _subGvZMk = BaseCollectionEvent - interface RecordRequestVerificationEvent extends _subGvZMk { + type _subvoZIe = BaseCollectionEvent + interface RecordRequestVerificationEvent extends _subvoZIe { httpContext: echo.Context record?: models.Record } - type _subrwfUa = BaseCollectionEvent - interface RecordConfirmVerificationEvent extends _subrwfUa { + type _subEBbJt = BaseCollectionEvent + interface RecordConfirmVerificationEvent extends _subEBbJt { httpContext: echo.Context record?: models.Record } - type _subQDdbM = BaseCollectionEvent - interface RecordRequestEmailChangeEvent extends _subQDdbM { + type _subUEZCE = BaseCollectionEvent + interface RecordRequestEmailChangeEvent extends _subUEZCE { httpContext: echo.Context record?: models.Record } - type _subwqmfm = BaseCollectionEvent - interface RecordConfirmEmailChangeEvent extends _subwqmfm { + type _subFwleC = BaseCollectionEvent + interface RecordConfirmEmailChangeEvent extends _subFwleC { httpContext: echo.Context record?: models.Record } - type _subseDNA = BaseCollectionEvent - interface RecordListExternalAuthsEvent extends _subseDNA { + type _subaVpoW = BaseCollectionEvent + interface RecordListExternalAuthsEvent extends _subaVpoW { httpContext: echo.Context record?: models.Record externalAuths: Array<(models.ExternalAuth | undefined)> } - type _subJoLLa = BaseCollectionEvent - interface RecordUnlinkExternalAuthEvent extends _subJoLLa { + type _subwDeqS = BaseCollectionEvent + interface RecordUnlinkExternalAuthEvent extends _subwDeqS { httpContext: echo.Context record?: models.Record externalAuth?: models.ExternalAuth @@ -17938,33 +17889,33 @@ namespace core { collections: Array<(models.Collection | undefined)> result?: search.Result } - type _subDOwAD = BaseCollectionEvent - interface CollectionViewEvent extends _subDOwAD { + type _subHyhOq = BaseCollectionEvent + interface CollectionViewEvent extends _subHyhOq { httpContext: echo.Context } - type _subQEnXy = BaseCollectionEvent - interface CollectionCreateEvent extends _subQEnXy { + type _subeRxqN = BaseCollectionEvent + interface CollectionCreateEvent extends _subeRxqN { httpContext: echo.Context } - type _subGAbwm = BaseCollectionEvent - interface CollectionUpdateEvent extends _subGAbwm { + type _subrvyOq = BaseCollectionEvent + interface CollectionUpdateEvent extends _subrvyOq { httpContext: echo.Context } - type _subMrdJH = BaseCollectionEvent - interface CollectionDeleteEvent extends _subMrdJH { + type _subwBGNP = BaseCollectionEvent + interface CollectionDeleteEvent extends _subwBGNP { httpContext: echo.Context } interface CollectionsImportEvent { httpContext: echo.Context collections: Array<(models.Collection | undefined)> } - type _subixYra = BaseModelEvent - interface FileTokenEvent extends _subixYra { + type _subFblJB = BaseModelEvent + interface FileTokenEvent extends _subFblJB { httpContext: echo.Context token: string } - type _subBDkBu = BaseCollectionEvent - interface FileDownloadEvent extends _subBDkBu { + type _subARfQK = BaseCollectionEvent + interface FileDownloadEvent extends _subARfQK { httpContext: echo.Context record?: models.Record fileField?: schema.SchemaField @@ -17973,6 +17924,55 @@ namespace core { } } +/** + * Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. + * In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. + */ +namespace cobra { + interface PositionalArgs {(cmd: Command, args: Array): void } + // @ts-ignore + import flag = pflag + /** + * FParseErrWhitelist configures Flag parse errors to be ignored + */ + interface FParseErrWhitelist extends _TygojaAny{} + /** + * Group Structure to manage groups for commands + */ + interface Group { + id: string + title: string + } + /** + * ShellCompDirective is a bit map representing the different behaviors the shell + * can be instructed to have once completions have been provided. + */ + interface ShellCompDirective extends Number{} + /** + * CompletionOptions are the options to control shell completion + */ + interface CompletionOptions { + /** + * DisableDefaultCmd prevents Cobra from creating a default 'completion' command + */ + disableDefaultCmd: boolean + /** + * DisableNoDescFlag prevents Cobra from creating the '--no-descriptions' flag + * for shells that support completion descriptions + */ + disableNoDescFlag: boolean + /** + * DisableDescriptions turns off all completion descriptions for shells + * that support them + */ + disableDescriptions: boolean + /** + * HiddenDefaultCmd makes the default 'completion' command hidden + */ + hiddenDefaultCmd: boolean + } +} + /** * Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer * object, creating another object (Reader or Writer) that also implements @@ -17983,8 +17983,8 @@ namespace bufio { * ReadWriter stores pointers to a Reader and a Writer. * It implements io.ReadWriter. */ - type _subjALGe = Reader&Writer - interface ReadWriter extends _subjALGe { + type _subazGAi = Reader&Writer + interface ReadWriter extends _subazGAi { } } @@ -18087,39 +18087,6 @@ namespace net { } } -/** - * Package url parses URLs and implements query escaping. - */ -namespace url { - /** - * The Userinfo type is an immutable encapsulation of username and - * password details for a URL. An existing Userinfo value is guaranteed - * to have a username set (potentially empty, as allowed by RFC 2396), - * and optionally a password. - */ - interface Userinfo { - } - interface Userinfo { - /** - * Username returns the username. - */ - username(): string - } - interface Userinfo { - /** - * Password returns the password in case it is set, and whether it is set. - */ - password(): [string, boolean] - } - interface Userinfo { - /** - * String returns the encoded userinfo information in the standard form - * of "username[:password]". - */ - string(): string - } -} - /** * Package multipart implements MIME multipart parsing, as defined in RFC * 2046. @@ -18186,6 +18153,97 @@ namespace multipart { } } +namespace store { +} + +/** + * Package url parses URLs and implements query escaping. + */ +namespace url { + /** + * The Userinfo type is an immutable encapsulation of username and + * password details for a URL. An existing Userinfo value is guaranteed + * to have a username set (potentially empty, as allowed by RFC 2396), + * and optionally a password. + */ + interface Userinfo { + } + interface Userinfo { + /** + * Username returns the username. + */ + username(): string + } + interface Userinfo { + /** + * Password returns the password in case it is set, and whether it is set. + */ + password(): [string, boolean] + } + interface Userinfo { + /** + * String returns the encoded userinfo information in the standard form + * of "username[:password]". + */ + string(): string + } +} + +/** + * Package types implements some commonly used db serializable types + * like datetime, json, etc. + */ +namespace types { + /** + * JsonRaw defines a json value type that is safe for db read/write. + */ + interface JsonRaw extends Array{} + interface JsonRaw { + /** + * String returns the current JsonRaw instance as a json encoded string. + */ + string(): string + } + interface JsonRaw { + /** + * MarshalJSON implements the [json.Marshaler] interface. + */ + marshalJSON(): string|Array + } + interface JsonRaw { + /** + * UnmarshalJSON implements the [json.Unmarshaler] interface. + */ + unmarshalJSON(b: string|Array): void + } + interface JsonRaw { + /** + * Value implements the [driver.Valuer] interface. + */ + value(): any + } + interface JsonRaw { + /** + * Scan implements [sql.Scanner] interface to scan the provided value + * into the current JsonRaw instance. + */ + scan(value: any): void + } +} + +namespace search { + /** + * Result defines the returned search result structure. + */ + interface Result { + page: number + perPage: number + totalItems: number + totalPages: number + items: any + } +} + /** * Package http provides HTTP client and server implementations. * @@ -18321,6 +18379,23 @@ namespace http { import urlpkg = url } +namespace mailer { + /** + * Message defines a generic email message struct. + */ + interface Message { + from: mail.Address + to: Array + bcc: Array + cc: Array + subject: string + html: string + text: string + headers: _TygojaDict + attachments: _TygojaDict + } +} + /** * Package echo implements high performance, minimalist Go web framework. * @@ -18436,81 +18511,6 @@ namespace echo { } } -namespace store { -} - -/** - * Package types implements some commonly used db serializable types - * like datetime, json, etc. - */ -namespace types { - /** - * JsonRaw defines a json value type that is safe for db read/write. - */ - interface JsonRaw extends Array{} - interface JsonRaw { - /** - * String returns the current JsonRaw instance as a json encoded string. - */ - string(): string - } - interface JsonRaw { - /** - * MarshalJSON implements the [json.Marshaler] interface. - */ - marshalJSON(): string|Array - } - interface JsonRaw { - /** - * UnmarshalJSON implements the [json.Unmarshaler] interface. - */ - unmarshalJSON(b: string|Array): void - } - interface JsonRaw { - /** - * Value implements the [driver.Valuer] interface. - */ - value(): any - } - interface JsonRaw { - /** - * Scan implements [sql.Scanner] interface to scan the provided value - * into the current JsonRaw instance. - */ - scan(value: any): void - } -} - -namespace mailer { - /** - * Message defines a generic email message struct. - */ - interface Message { - from: mail.Address - to: Array - bcc: Array - cc: Array - subject: string - html: string - text: string - headers: _TygojaDict - attachments: _TygojaDict - } -} - -namespace search { - /** - * Result defines the returned search result structure. - */ - interface Result { - page: number - perPage: number - totalItems: number - totalPages: number - items: any - } -} - namespace settings { // @ts-ignore import validation = ozzo_validation @@ -18542,8 +18542,8 @@ namespace hook { /** * wrapped local Hook embedded struct to limit the public API surface. */ - type _subhowqm = Hook - interface mainHook extends _subhowqm { + type _subQdvCD = Hook + interface mainHook extends _subQdvCD { } } @@ -19456,6 +19456,9 @@ namespace bufio { } } +namespace search { +} + /** * Package mail implements parsing of mail messages. * @@ -19492,9 +19495,6 @@ namespace mail { } } -namespace search { -} - /** * Package slog provides structured logging, * in which log records include a message, diff --git a/resolvers/record_field_resolve_runner.go b/resolvers/record_field_resolve_runner.go index a5365fd6..94832e08 100644 --- a/resolvers/record_field_resolve_runner.go +++ b/resolvers/record_field_resolve_runner.go @@ -453,6 +453,17 @@ func (r *runner) processActiveProps() (*search.ResolverResult, error) { result.MultiMatchSubQuery = r.multiMatch } + // wrap in json_extract to ensure that top-level primitives + // stored as json work correctly when compared to their SQL equivalent + // (https://github.com/pocketbase/pocketbase/issues/4068) + if field.Type == schema.FieldTypeJson { + result.NoCoalesce = true + result.Identifier = "JSON_EXTRACT(" + result.Identifier + ", '$')" + if r.withMultiMatch { + r.multiMatch.valueIdentifier = "JSON_EXTRACT(" + r.multiMatch.valueIdentifier + ", '$')" + } + } + return result, nil } @@ -480,6 +491,7 @@ func (r *runner) processActiveProps() (*search.ResolverResult, error) { } result := &search.ResolverResult{ + NoCoalesce: true, Identifier: fmt.Sprintf( "JSON_EXTRACT([[%s.%s]], '%s')", r.activeTableAlias, diff --git a/resolvers/record_field_resolver_test.go b/resolvers/record_field_resolver_test.go index f5c92058..ec0c200f 100644 --- a/resolvers/record_field_resolver_test.go +++ b/resolvers/record_field_resolver_test.go @@ -301,7 +301,21 @@ func TestRecordFieldResolverUpdateQuery(t *testing.T) { "demo4", "json_object.a.b = '' && self_rel_many:length != 2 && json_object.a.b > 3 && self_rel_many:length <= 4", false, - "SELECT `demo4`.* FROM `demo4` WHERE ((JSON_EXTRACT([[demo4.json_object]], '$.a.b') = '' OR JSON_EXTRACT([[demo4.json_object]], '$.a.b') IS NULL) AND json_array_length(CASE WHEN json_valid([[demo4.self_rel_many]]) THEN [[demo4.self_rel_many]] ELSE (CASE WHEN [[demo4.self_rel_many]] = '' OR [[demo4.self_rel_many]] IS NULL THEN json_array() ELSE json_array([[demo4.self_rel_many]]) END) END) IS NOT {:TEST} AND JSON_EXTRACT([[demo4.json_object]], '$.a.b') > {:TEST} AND json_array_length(CASE WHEN json_valid([[demo4.self_rel_many]]) THEN [[demo4.self_rel_many]] ELSE (CASE WHEN [[demo4.self_rel_many]] = '' OR [[demo4.self_rel_many]] IS NULL THEN json_array() ELSE json_array([[demo4.self_rel_many]]) END) END) <= {:TEST})", + "SELECT `demo4`.* FROM `demo4` WHERE (JSON_EXTRACT([[demo4.json_object]], '$.a.b') IS {:TEST} AND json_array_length(CASE WHEN json_valid([[demo4.self_rel_many]]) THEN [[demo4.self_rel_many]] ELSE (CASE WHEN [[demo4.self_rel_many]] = '' OR [[demo4.self_rel_many]] IS NULL THEN json_array() ELSE json_array([[demo4.self_rel_many]]) END) END) IS NOT {:TEST} AND JSON_EXTRACT([[demo4.json_object]], '$.a.b') > {:TEST} AND json_array_length(CASE WHEN json_valid([[demo4.self_rel_many]]) THEN [[demo4.self_rel_many]] ELSE (CASE WHEN [[demo4.self_rel_many]] = '' OR [[demo4.self_rel_many]] IS NULL THEN json_array() ELSE json_array([[demo4.self_rel_many]]) END) END) <= {:TEST})", + }, + { + "json field equal normalization checks", + "demo4", + "json_object = '' || json_object != '' || '' = json_object || '' != json_object ||" + + "json_object = null || json_object != null || null = json_object || null != json_object ||" + + "json_object = true || json_object != true || true = json_object || true != json_object ||" + + "json_object = json_object || json_object != json_object ||" + + "json_object = title || title != json_object ||" + + // multimatch expressions + "self_rel_many.json_object = '' || null = self_rel_many.json_object ||" + + "self_rel_many.json_object = self_rel_many.json_object", + false, + "SELECT DISTINCT `demo4`.* FROM `demo4` LEFT JOIN json_each(CASE WHEN json_valid([[demo4.self_rel_many]]) THEN [[demo4.self_rel_many]] ELSE json_array([[demo4.self_rel_many]]) END) `demo4_self_rel_many_je` LEFT JOIN `demo4` `demo4_self_rel_many` ON [[demo4_self_rel_many.id]] = [[demo4_self_rel_many_je.value]] WHERE (JSON_EXTRACT([[demo4.json_object]], '$') IS {:TEST} OR JSON_EXTRACT([[demo4.json_object]], '$') IS NOT {:TEST} OR {:TEST} IS JSON_EXTRACT([[demo4.json_object]], '$') OR {:TEST} IS NOT JSON_EXTRACT([[demo4.json_object]], '$') OR JSON_EXTRACT([[demo4.json_object]], '$') IS NULL OR JSON_EXTRACT([[demo4.json_object]], '$') IS NOT NULL OR NULL IS JSON_EXTRACT([[demo4.json_object]], '$') OR NULL IS NOT JSON_EXTRACT([[demo4.json_object]], '$') OR JSON_EXTRACT([[demo4.json_object]], '$') IS 1 OR JSON_EXTRACT([[demo4.json_object]], '$') IS NOT 1 OR 1 IS JSON_EXTRACT([[demo4.json_object]], '$') OR 1 IS NOT JSON_EXTRACT([[demo4.json_object]], '$') OR JSON_EXTRACT([[demo4.json_object]], '$') IS JSON_EXTRACT([[demo4.json_object]], '$') OR JSON_EXTRACT([[demo4.json_object]], '$') IS NOT JSON_EXTRACT([[demo4.json_object]], '$') OR JSON_EXTRACT([[demo4.json_object]], '$') IS [[demo4.title]] OR [[demo4.title]] IS NOT JSON_EXTRACT([[demo4.json_object]], '$') OR ((JSON_EXTRACT([[demo4_self_rel_many.json_object]], '$') IS {:TEST}) AND (NOT EXISTS (SELECT 1 FROM (SELECT JSON_EXTRACT([[__mm_demo4_self_rel_many.json_object]], '$') as [[multiMatchValue]] FROM `demo4` `__mm_demo4` LEFT JOIN json_each(CASE WHEN json_valid([[__mm_demo4.self_rel_many]]) THEN [[__mm_demo4.self_rel_many]] ELSE json_array([[__mm_demo4.self_rel_many]]) END) `__mm_demo4_self_rel_many_je` LEFT JOIN `demo4` `__mm_demo4_self_rel_many` ON [[__mm_demo4_self_rel_many.id]] = [[__mm_demo4_self_rel_many_je.value]] WHERE `__mm_demo4`.`id` = `demo4`.`id`) {{__smTEST}} WHERE NOT ([[__smTEST.multiMatchValue]] IS {:TEST})))) OR ((NULL IS JSON_EXTRACT([[demo4_self_rel_many.json_object]], '$')) AND (NOT EXISTS (SELECT 1 FROM (SELECT JSON_EXTRACT([[__mm_demo4_self_rel_many.json_object]], '$') as [[multiMatchValue]] FROM `demo4` `__mm_demo4` LEFT JOIN json_each(CASE WHEN json_valid([[__mm_demo4.self_rel_many]]) THEN [[__mm_demo4.self_rel_many]] ELSE json_array([[__mm_demo4.self_rel_many]]) END) `__mm_demo4_self_rel_many_je` LEFT JOIN `demo4` `__mm_demo4_self_rel_many` ON [[__mm_demo4_self_rel_many.id]] = [[__mm_demo4_self_rel_many_je.value]] WHERE `__mm_demo4`.`id` = `demo4`.`id`) {{__smTEST}} WHERE NOT (NULL IS [[__smTEST.multiMatchValue]])))) OR ((JSON_EXTRACT([[demo4_self_rel_many.json_object]], '$') IS JSON_EXTRACT([[demo4_self_rel_many.json_object]], '$')) AND (NOT EXISTS (SELECT 1 FROM (SELECT JSON_EXTRACT([[__mm_demo4_self_rel_many.json_object]], '$') as [[multiMatchValue]] FROM `demo4` `__mm_demo4` LEFT JOIN json_each(CASE WHEN json_valid([[__mm_demo4.self_rel_many]]) THEN [[__mm_demo4.self_rel_many]] ELSE json_array([[__mm_demo4.self_rel_many]]) END) `__mm_demo4_self_rel_many_je` LEFT JOIN `demo4` `__mm_demo4_self_rel_many` ON [[__mm_demo4_self_rel_many.id]] = [[__mm_demo4_self_rel_many_je.value]] WHERE `__mm_demo4`.`id` = `demo4`.`id`) {{__mlTEST}} LEFT JOIN (SELECT JSON_EXTRACT([[__mm_demo4_self_rel_many.json_object]], '$') as [[multiMatchValue]] FROM `demo4` `__mm_demo4` LEFT JOIN json_each(CASE WHEN json_valid([[__mm_demo4.self_rel_many]]) THEN [[__mm_demo4.self_rel_many]] ELSE json_array([[__mm_demo4.self_rel_many]]) END) `__mm_demo4_self_rel_many_je` LEFT JOIN `demo4` `__mm_demo4_self_rel_many` ON [[__mm_demo4_self_rel_many.id]] = [[__mm_demo4_self_rel_many_je.value]] WHERE `__mm_demo4`.`id` = `demo4`.`id`) {{__mrTEST}} WHERE NOT ([[__mlTEST.multiMatchValue]] IS [[__mrTEST.multiMatchValue]])))))", }, } diff --git a/tests/data/logs.db b/tests/data/logs.db index 757d3aea..0e530721 100644 Binary files a/tests/data/logs.db and b/tests/data/logs.db differ diff --git a/tokens/admin_test.go b/tokens/admin_test.go index a6f571e5..8826e682 100644 --- a/tokens/admin_test.go +++ b/tokens/admin_test.go @@ -8,6 +8,8 @@ import ( ) func TestNewAdminAuthToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -31,6 +33,8 @@ func TestNewAdminAuthToken(t *testing.T) { } func TestNewAdminResetPasswordToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -54,6 +58,8 @@ func TestNewAdminResetPasswordToken(t *testing.T) { } func TestNewAdminFileToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/tokens/record_test.go b/tokens/record_test.go index 04358a6e..82e94fb6 100644 --- a/tokens/record_test.go +++ b/tokens/record_test.go @@ -8,6 +8,8 @@ import ( ) func TestNewRecordAuthToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -31,6 +33,8 @@ func TestNewRecordAuthToken(t *testing.T) { } func TestNewRecordVerifyToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -54,6 +58,8 @@ func TestNewRecordVerifyToken(t *testing.T) { } func TestNewRecordResetPasswordToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -77,6 +83,8 @@ func TestNewRecordResetPasswordToken(t *testing.T) { } func TestNewRecordChangeEmailToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() @@ -100,6 +108,8 @@ func TestNewRecordChangeEmailToken(t *testing.T) { } func TestNewRecordFileToken(t *testing.T) { + t.Parallel() + app, _ := tests.NewTestApp() defer app.Cleanup() diff --git a/tools/cron/cron_test.go b/tools/cron/cron_test.go index b802067f..13566184 100644 --- a/tools/cron/cron_test.go +++ b/tools/cron/cron_test.go @@ -7,6 +7,8 @@ import ( ) func TestCronNew(t *testing.T) { + t.Parallel() + c := New() expectedInterval := 1 * time.Minute @@ -29,6 +31,8 @@ func TestCronNew(t *testing.T) { } func TestCronSetInterval(t *testing.T) { + t.Parallel() + c := New() interval := 2 * time.Minute @@ -41,6 +45,8 @@ func TestCronSetInterval(t *testing.T) { } func TestCronSetTimezone(t *testing.T) { + t.Parallel() + c := New() timezone, _ := time.LoadLocation("Asia/Tokyo") @@ -53,6 +59,8 @@ func TestCronSetTimezone(t *testing.T) { } func TestCronAddAndRemove(t *testing.T) { + t.Parallel() + c := New() if err := c.Add("test0", "* * * * *", nil); err == nil { @@ -126,6 +134,8 @@ func TestCronAddAndRemove(t *testing.T) { } func TestCronMustAdd(t *testing.T) { + t.Parallel() + c := New() defer func() { @@ -144,6 +154,8 @@ func TestCronMustAdd(t *testing.T) { } func TestCronRemoveAll(t *testing.T) { + t.Parallel() + c := New() if err := c.Add("test1", "* * * * *", func() {}); err != nil { @@ -170,6 +182,8 @@ func TestCronRemoveAll(t *testing.T) { } func TestCronTotal(t *testing.T) { + t.Parallel() + c := New() if v := c.Total(); v != 0 { @@ -195,6 +209,8 @@ func TestCronTotal(t *testing.T) { } func TestCronStartStop(t *testing.T) { + t.Parallel() + c := New() c.SetInterval(1 * time.Second) diff --git a/tools/cron/schedule_test.go b/tools/cron/schedule_test.go index a3a47086..1901968e 100644 --- a/tools/cron/schedule_test.go +++ b/tools/cron/schedule_test.go @@ -9,6 +9,8 @@ import ( ) func TestNewMoment(t *testing.T) { + t.Parallel() + date, err := time.Parse("2006-01-02 15:04", "2023-05-09 15:20") if err != nil { t.Fatal(err) @@ -38,6 +40,8 @@ func TestNewMoment(t *testing.T) { } func TestNewSchedule(t *testing.T) { + t.Parallel() + scenarios := []struct { cronExpr string expectError bool @@ -272,6 +276,8 @@ func TestNewSchedule(t *testing.T) { } func TestScheduleIsDue(t *testing.T) { + t.Parallel() + scenarios := []struct { cronExpr string moment *cron.Moment diff --git a/tools/search/filter.go b/tools/search/filter.go index 939ff24a..a95b2aa4 100644 --- a/tools/search/filter.go +++ b/tools/search/filter.go @@ -184,14 +184,15 @@ func buildResolversExpr( if !isAnyMatchOp(op) { if left.MultiMatchSubQuery != nil && right.MultiMatchSubQuery != nil { mm := &manyVsManyExpr{ - leftSubQuery: left.MultiMatchSubQuery, - rightSubQuery: right.MultiMatchSubQuery, - op: op, + left: left, + right: right, + op: op, } expr = dbx.Enclose(dbx.And(expr, mm)) } else if left.MultiMatchSubQuery != nil { mm := &manyVsOneExpr{ + noCoalesce: left.NoCoalesce, subQuery: left.MultiMatchSubQuery, op: op, otherOperand: right, @@ -200,6 +201,7 @@ func buildResolversExpr( expr = dbx.Enclose(dbx.And(expr, mm)) } else if right.MultiMatchSubQuery != nil { mm := &manyVsOneExpr{ + noCoalesce: right.NoCoalesce, subQuery: right.MultiMatchSubQuery, op: op, otherOperand: left, @@ -290,17 +292,29 @@ func resolveEqualExpr(equal bool, left, right *ResolverResult) dbx.Expression { isRightEmpty := isEmptyIdentifier(right) || (len(right.Params) == 1 && hasEmptyParamValue(right)) equalOp := "=" + nullEqualOp := "IS" concatOp := "OR" nullExpr := "IS NULL" if !equal { - // use `IS NOT` instead of `!=` because direct non-equal comparisons + // always use `IS NOT` instead of `!=` because direct non-equal comparisons // to nullable column values that are actually NULL yields to NULL instead of TRUE, eg.: // `'example' != nullableColumn` -> NULL even if nullableColumn row value is NULL equalOp = "IS NOT" + nullEqualOp = equalOp concatOp = "AND" nullExpr = "IS NOT NULL" } + // no coalesce (eg. compare to a json field) + // a IS b + // a IS NOT b + if left.NoCoalesce || right.NoCoalesce { + return dbx.NewExp( + fmt.Sprintf("%s %s %s", left.Identifier, nullEqualOp, right.Identifier), + mergeParams(left.Params, right.Params), + ) + } + // both operands are empty if isLeftEmpty && isRightEmpty { return dbx.NewExp(fmt.Sprintf("'' %s ''", equalOp), mergeParams(left.Params, right.Params)) @@ -459,8 +473,8 @@ var _ dbx.Expression = (*concatExpr)(nil) // concatExpr defines an expression that concatenates multiple // other expressions with a specified separator. type concatExpr struct { - parts []dbx.Expression separator string + parts []dbx.Expression } // Build converts the expression into a SQL fragment. @@ -503,16 +517,16 @@ var _ dbx.Expression = (*manyVsManyExpr)(nil) // Expects leftSubQuery and rightSubQuery to return a subquery with a // single "multiMatchValue" column. type manyVsManyExpr struct { - leftSubQuery dbx.Expression - rightSubQuery dbx.Expression - op fexpr.SignOp + left *ResolverResult + right *ResolverResult + op fexpr.SignOp } // Build converts the expression into a SQL fragment. // // Implements [dbx.Expression] interface. func (e *manyVsManyExpr) Build(db *dbx.DB, params dbx.Params) string { - if e.leftSubQuery == nil || e.rightSubQuery == nil { + if e.left.MultiMatchSubQuery == nil || e.right.MultiMatchSubQuery == nil { return "0=1" } @@ -521,10 +535,12 @@ func (e *manyVsManyExpr) Build(db *dbx.DB, params dbx.Params) string { whereExpr, buildErr := buildResolversExpr( &ResolverResult{ + NoCoalesce: e.left.NoCoalesce, Identifier: "[[" + lAlias + ".multiMatchValue]]", }, e.op, &ResolverResult{ + NoCoalesce: e.right.NoCoalesce, Identifier: "[[" + rAlias + ".multiMatchValue]]", // note: the AfterBuild needs to be handled only once and it // doesn't matter whether it is applied on the left or right subquery operand @@ -538,9 +554,9 @@ func (e *manyVsManyExpr) Build(db *dbx.DB, params dbx.Params) string { return fmt.Sprintf( "NOT EXISTS (SELECT 1 FROM (%s) {{%s}} LEFT JOIN (%s) {{%s}} WHERE %s)", - e.leftSubQuery.Build(db, params), + e.left.MultiMatchSubQuery.Build(db, params), lAlias, - e.rightSubQuery.Build(db, params), + e.right.MultiMatchSubQuery.Build(db, params), rAlias, whereExpr.Build(db, params), ) @@ -556,10 +572,11 @@ var _ dbx.Expression = (*manyVsOneExpr)(nil) // // You can set inverse=false to reverse the condition sides (aka. one<->many). type manyVsOneExpr struct { + otherOperand *ResolverResult subQuery dbx.Expression op fexpr.SignOp - otherOperand *ResolverResult inverse bool + noCoalesce bool } // Build converts the expression into a SQL fragment. @@ -573,6 +590,7 @@ func (e *manyVsOneExpr) Build(db *dbx.DB, params dbx.Params) string { alias := "__sm" + security.PseudorandomString(5) r1 := &ResolverResult{ + NoCoalesce: e.noCoalesce, Identifier: "[[" + alias + ".multiMatchValue]]", AfterBuild: multiMatchAfterBuildFunc(e.op, alias), } diff --git a/tools/search/filter_test.go b/tools/search/filter_test.go index f4d8faf3..2f572efa 100644 --- a/tools/search/filter_test.go +++ b/tools/search/filter_test.go @@ -13,7 +13,7 @@ import ( ) func TestFilterDataBuildExpr(t *testing.T) { - resolver := search.NewSimpleFieldResolver("test1", "test2", "test3", `^test4_\w+$`) + resolver := search.NewSimpleFieldResolver("test1", "test2", "test3", `^test4_\w+$`, `^test5\.[\w\.\:]*\w+$`) scenarios := []struct { name string @@ -93,6 +93,12 @@ func TestFilterDataBuildExpr(t *testing.T) { false, "[[test1]] NOT LIKE {:TEST} ESCAPE '\\'", }, + { + "nested json no coalesce", + "test5.a = test5.b || test5.c != test5.d", + false, + "(JSON_EXTRACT([[test5]], '$.a') IS JSON_EXTRACT([[test5]], '$.b') OR JSON_EXTRACT([[test5]], '$.c') IS NOT JSON_EXTRACT([[test5]], '$.d'))", + }, { "macros", ` diff --git a/tools/search/simple_field_resolver.go b/tools/search/simple_field_resolver.go index d3911e38..09a1a651 100644 --- a/tools/search/simple_field_resolver.go +++ b/tools/search/simple_field_resolver.go @@ -16,6 +16,10 @@ type ResolverResult struct { // in the final db expression as left or right operand. Identifier string + // NoCoalesce instructs to not use COALESCE or NULL fallbacks + // when building the identifier expression. + NoCoalesce bool + // Params is a map with db placeholder->value pairs that will be added // to the query when building both resolved operands/sides in a single expression. Params dbx.Params @@ -99,6 +103,7 @@ func (r *SimpleFieldResolver) Resolve(field string) (*ResolverResult, error) { } return &ResolverResult{ + NoCoalesce: true, Identifier: fmt.Sprintf( "JSON_EXTRACT([[%s]], '%s')", inflector.Columnify(parts[0]), diff --git a/ui/.env b/ui/.env index eb270652..9e49775b 100644 --- a/ui/.env +++ b/ui/.env @@ -9,4 +9,4 @@ PB_DOCS_URL = "https://pocketbase.io/docs/" PB_JS_SDK_URL = "https://github.com/pocketbase/js-sdk" PB_DART_SDK_URL = "https://github.com/pocketbase/dart-sdk" PB_RELEASES = "https://github.com/pocketbase/pocketbase/releases" -PB_VERSION = "v0.20.2" +PB_VERSION = "v0.20.3" diff --git a/ui/dist/assets/AuthMethodsDocs-3a2e551b.js b/ui/dist/assets/AuthMethodsDocs-c5483521.js similarity index 97% rename from ui/dist/assets/AuthMethodsDocs-3a2e551b.js rename to ui/dist/assets/AuthMethodsDocs-c5483521.js index 44b6517f..10ec868e 100644 --- a/ui/dist/assets/AuthMethodsDocs-3a2e551b.js +++ b/ui/dist/assets/AuthMethodsDocs-c5483521.js @@ -1,4 +1,4 @@ -import{S as Se,i as ye,s as Te,O as G,e as c,w,b as k,c as se,f as p,g as d,h as a,m as ae,x as U,P as ve,Q as je,k as Ae,R as Be,n as Oe,t as W,a as V,o as u,d as ne,C as Fe,p as Qe,r as L,u as Ne,N as He}from"./index-09db7a88.js";import{S as Ke}from"./SdkTabs-f85ceb47.js";import{F as qe}from"./FieldsQueryParam-8145215c.js";function Ce(n,l,o){const s=n.slice();return s[5]=l[o],s}function Pe(n,l,o){const s=n.slice();return s[5]=l[o],s}function $e(n,l){let o,s=l[5].code+"",_,f,i,h;function m(){return l[4](l[5])}return{key:n,first:null,c(){o=c("button"),_=w(s),f=k(),p(o,"class","tab-item"),L(o,"active",l[1]===l[5].code),this.first=o},m(v,C){d(v,o,C),a(o,_),a(o,f),i||(h=Ne(o,"click",m),i=!0)},p(v,C){l=v,C&4&&s!==(s=l[5].code+"")&&U(_,s),C&6&&L(o,"active",l[1]===l[5].code)},d(v){v&&u(o),i=!1,h()}}}function Me(n,l){let o,s,_,f;return s=new He({props:{content:l[5].body}}),{key:n,first:null,c(){o=c("div"),se(s.$$.fragment),_=k(),p(o,"class","tab-item"),L(o,"active",l[1]===l[5].code),this.first=o},m(i,h){d(i,o,h),ae(s,o,null),a(o,_),f=!0},p(i,h){l=i;const m={};h&4&&(m.content=l[5].body),s.$set(m),(!f||h&6)&&L(o,"active",l[1]===l[5].code)},i(i){f||(W(s.$$.fragment,i),f=!0)},o(i){V(s.$$.fragment,i),f=!1},d(i){i&&u(o),ne(s)}}}function ze(n){var be,ke;let l,o,s=n[0].name+"",_,f,i,h,m,v,C,H=n[0].name+"",E,ie,I,P,J,j,Y,$,K,ce,q,A,re,R,z=n[0].name+"",X,de,Z,B,x,M,ee,ue,te,T,le,O,oe,S,F,g=[],he=new Map,me,Q,b=[],fe=new Map,y;P=new Ke({props:{js:` +import{S as Se,i as ye,s as Te,O as G,e as c,w,b as k,c as se,f as p,g as d,h as a,m as ae,x as U,P as ve,Q as je,k as Ae,R as Be,n as Oe,t as W,a as V,o as u,d as ne,C as Fe,p as Qe,r as L,u as Ne,N as He}from"./index-47fb2c5c.js";import{S as Ke}from"./SdkTabs-13ccb207.js";import{F as qe}from"./FieldsQueryParam-e970c01f.js";function Ce(n,l,o){const s=n.slice();return s[5]=l[o],s}function Pe(n,l,o){const s=n.slice();return s[5]=l[o],s}function $e(n,l){let o,s=l[5].code+"",_,f,i,h;function m(){return l[4](l[5])}return{key:n,first:null,c(){o=c("button"),_=w(s),f=k(),p(o,"class","tab-item"),L(o,"active",l[1]===l[5].code),this.first=o},m(v,C){d(v,o,C),a(o,_),a(o,f),i||(h=Ne(o,"click",m),i=!0)},p(v,C){l=v,C&4&&s!==(s=l[5].code+"")&&U(_,s),C&6&&L(o,"active",l[1]===l[5].code)},d(v){v&&u(o),i=!1,h()}}}function Me(n,l){let o,s,_,f;return s=new He({props:{content:l[5].body}}),{key:n,first:null,c(){o=c("div"),se(s.$$.fragment),_=k(),p(o,"class","tab-item"),L(o,"active",l[1]===l[5].code),this.first=o},m(i,h){d(i,o,h),ae(s,o,null),a(o,_),f=!0},p(i,h){l=i;const m={};h&4&&(m.content=l[5].body),s.$set(m),(!f||h&6)&&L(o,"active",l[1]===l[5].code)},i(i){f||(W(s.$$.fragment,i),f=!0)},o(i){V(s.$$.fragment,i),f=!1},d(i){i&&u(o),ne(s)}}}function ze(n){var be,ke;let l,o,s=n[0].name+"",_,f,i,h,m,v,C,H=n[0].name+"",E,ie,I,P,J,j,Y,$,K,ce,q,A,re,R,z=n[0].name+"",X,de,Z,B,x,M,ee,ue,te,T,le,O,oe,S,F,g=[],he=new Map,me,Q,b=[],fe=new Map,y;P=new Ke({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${n[3]}'); diff --git a/ui/dist/assets/AuthRefreshDocs-ab800069.js b/ui/dist/assets/AuthRefreshDocs-dfe9b922.js similarity index 97% rename from ui/dist/assets/AuthRefreshDocs-ab800069.js rename to ui/dist/assets/AuthRefreshDocs-dfe9b922.js index a440c6e5..707cc4cc 100644 --- a/ui/dist/assets/AuthRefreshDocs-ab800069.js +++ b/ui/dist/assets/AuthRefreshDocs-dfe9b922.js @@ -1,4 +1,4 @@ -import{S as Ue,i as je,s as Je,N as Qe,O as J,e as s,w as k,b as p,c as K,f as b,g as d,h as o,m as I,x as de,P as Ee,Q as Ke,k as Ie,R as We,n as Ge,t as N,a as V,o as u,d as W,C as Le,p as Xe,r as G,u as Ye}from"./index-09db7a88.js";import{S as Ze}from"./SdkTabs-f85ceb47.js";import{F as et}from"./FieldsQueryParam-8145215c.js";function Ne(r,l,a){const n=r.slice();return n[5]=l[a],n}function Ve(r,l,a){const n=r.slice();return n[5]=l[a],n}function xe(r,l){let a,n=l[5].code+"",m,_,i,h;function g(){return l[4](l[5])}return{key:r,first:null,c(){a=s("button"),m=k(n),_=p(),b(a,"class","tab-item"),G(a,"active",l[1]===l[5].code),this.first=a},m(v,w){d(v,a,w),o(a,m),o(a,_),i||(h=Ye(a,"click",g),i=!0)},p(v,w){l=v,w&4&&n!==(n=l[5].code+"")&&de(m,n),w&6&&G(a,"active",l[1]===l[5].code)},d(v){v&&u(a),i=!1,h()}}}function ze(r,l){let a,n,m,_;return n=new Qe({props:{content:l[5].body}}),{key:r,first:null,c(){a=s("div"),K(n.$$.fragment),m=p(),b(a,"class","tab-item"),G(a,"active",l[1]===l[5].code),this.first=a},m(i,h){d(i,a,h),I(n,a,null),o(a,m),_=!0},p(i,h){l=i;const g={};h&4&&(g.content=l[5].body),n.$set(g),(!_||h&6)&&G(a,"active",l[1]===l[5].code)},i(i){_||(N(n.$$.fragment,i),_=!0)},o(i){V(n.$$.fragment,i),_=!1},d(i){i&&u(a),W(n)}}}function tt(r){var De,Fe;let l,a,n=r[0].name+"",m,_,i,h,g,v,w,M,X,S,x,ue,z,q,pe,Y,Q=r[0].name+"",Z,he,fe,U,ee,D,te,T,oe,be,F,C,le,me,ae,_e,f,ke,R,ge,ve,$e,se,ye,ne,Se,we,Te,re,Ce,Pe,A,ie,O,ce,P,H,y=[],Re=new Map,Ae,E,$=[],Be=new Map,B;v=new Ze({props:{js:` +import{S as Ue,i as je,s as Je,N as Qe,O as J,e as s,w as k,b as p,c as K,f as b,g as d,h as o,m as I,x as de,P as Ee,Q as Ke,k as Ie,R as We,n as Ge,t as N,a as V,o as u,d as W,C as Le,p as Xe,r as G,u as Ye}from"./index-47fb2c5c.js";import{S as Ze}from"./SdkTabs-13ccb207.js";import{F as et}from"./FieldsQueryParam-e970c01f.js";function Ne(r,l,a){const n=r.slice();return n[5]=l[a],n}function Ve(r,l,a){const n=r.slice();return n[5]=l[a],n}function xe(r,l){let a,n=l[5].code+"",m,_,i,h;function g(){return l[4](l[5])}return{key:r,first:null,c(){a=s("button"),m=k(n),_=p(),b(a,"class","tab-item"),G(a,"active",l[1]===l[5].code),this.first=a},m(v,w){d(v,a,w),o(a,m),o(a,_),i||(h=Ye(a,"click",g),i=!0)},p(v,w){l=v,w&4&&n!==(n=l[5].code+"")&&de(m,n),w&6&&G(a,"active",l[1]===l[5].code)},d(v){v&&u(a),i=!1,h()}}}function ze(r,l){let a,n,m,_;return n=new Qe({props:{content:l[5].body}}),{key:r,first:null,c(){a=s("div"),K(n.$$.fragment),m=p(),b(a,"class","tab-item"),G(a,"active",l[1]===l[5].code),this.first=a},m(i,h){d(i,a,h),I(n,a,null),o(a,m),_=!0},p(i,h){l=i;const g={};h&4&&(g.content=l[5].body),n.$set(g),(!_||h&6)&&G(a,"active",l[1]===l[5].code)},i(i){_||(N(n.$$.fragment,i),_=!0)},o(i){V(n.$$.fragment,i),_=!1},d(i){i&&u(a),W(n)}}}function tt(r){var De,Fe;let l,a,n=r[0].name+"",m,_,i,h,g,v,w,M,X,S,x,ue,z,q,pe,Y,Q=r[0].name+"",Z,he,fe,U,ee,D,te,T,oe,be,F,C,le,me,ae,_e,f,ke,R,ge,ve,$e,se,ye,ne,Se,we,Te,re,Ce,Pe,A,ie,O,ce,P,H,y=[],Re=new Map,Ae,E,$=[],Be=new Map,B;v=new Ze({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${r[3]}'); diff --git a/ui/dist/assets/AuthWithOAuth2Docs-0bc38bb2.js b/ui/dist/assets/AuthWithOAuth2Docs-45bfaba9.js similarity index 98% rename from ui/dist/assets/AuthWithOAuth2Docs-0bc38bb2.js rename to ui/dist/assets/AuthWithOAuth2Docs-45bfaba9.js index 5023ef7f..cac6f58d 100644 --- a/ui/dist/assets/AuthWithOAuth2Docs-0bc38bb2.js +++ b/ui/dist/assets/AuthWithOAuth2Docs-45bfaba9.js @@ -1,4 +1,4 @@ -import{S as xe,i as Ee,s as Je,N as Le,O as z,e as o,w as k,b as h,c as I,f as p,g as r,h as a,m as K,x as pe,P as Ue,Q as Ne,k as Qe,R as ze,n as Ie,t as L,a as x,o as c,d as G,C as Be,p as Ke,r as X,u as Ge}from"./index-09db7a88.js";import{S as Xe}from"./SdkTabs-f85ceb47.js";import{F as Ye}from"./FieldsQueryParam-8145215c.js";function Fe(s,l,n){const i=s.slice();return i[5]=l[n],i}function He(s,l,n){const i=s.slice();return i[5]=l[n],i}function je(s,l){let n,i=l[5].code+"",f,g,d,b;function _(){return l[4](l[5])}return{key:s,first:null,c(){n=o("button"),f=k(i),g=h(),p(n,"class","tab-item"),X(n,"active",l[1]===l[5].code),this.first=n},m(v,O){r(v,n,O),a(n,f),a(n,g),d||(b=Ge(n,"click",_),d=!0)},p(v,O){l=v,O&4&&i!==(i=l[5].code+"")&&pe(f,i),O&6&&X(n,"active",l[1]===l[5].code)},d(v){v&&c(n),d=!1,b()}}}function Ve(s,l){let n,i,f,g;return i=new Le({props:{content:l[5].body}}),{key:s,first:null,c(){n=o("div"),I(i.$$.fragment),f=h(),p(n,"class","tab-item"),X(n,"active",l[1]===l[5].code),this.first=n},m(d,b){r(d,n,b),K(i,n,null),a(n,f),g=!0},p(d,b){l=d;const _={};b&4&&(_.content=l[5].body),i.$set(_),(!g||b&6)&&X(n,"active",l[1]===l[5].code)},i(d){g||(L(i.$$.fragment,d),g=!0)},o(d){x(i.$$.fragment,d),g=!1},d(d){d&&c(n),G(i)}}}function Ze(s){let l,n,i=s[0].name+"",f,g,d,b,_,v,O,P,Y,A,E,be,J,R,me,Z,N=s[0].name+"",ee,fe,te,M,ae,W,le,U,ne,S,oe,ge,B,y,se,ke,ie,_e,m,ve,C,we,$e,Oe,re,Ae,ce,Se,ye,Te,de,Ce,qe,q,ue,F,he,T,H,$=[],De=new Map,Pe,j,w=[],Re=new Map,D;v=new Xe({props:{js:` +import{S as xe,i as Ee,s as Je,N as Le,O as z,e as o,w as k,b as h,c as I,f as p,g as r,h as a,m as K,x as pe,P as Ue,Q as Ne,k as Qe,R as ze,n as Ie,t as L,a as x,o as c,d as G,C as Be,p as Ke,r as X,u as Ge}from"./index-47fb2c5c.js";import{S as Xe}from"./SdkTabs-13ccb207.js";import{F as Ye}from"./FieldsQueryParam-e970c01f.js";function Fe(s,l,n){const i=s.slice();return i[5]=l[n],i}function He(s,l,n){const i=s.slice();return i[5]=l[n],i}function je(s,l){let n,i=l[5].code+"",f,g,d,b;function _(){return l[4](l[5])}return{key:s,first:null,c(){n=o("button"),f=k(i),g=h(),p(n,"class","tab-item"),X(n,"active",l[1]===l[5].code),this.first=n},m(v,O){r(v,n,O),a(n,f),a(n,g),d||(b=Ge(n,"click",_),d=!0)},p(v,O){l=v,O&4&&i!==(i=l[5].code+"")&&pe(f,i),O&6&&X(n,"active",l[1]===l[5].code)},d(v){v&&c(n),d=!1,b()}}}function Ve(s,l){let n,i,f,g;return i=new Le({props:{content:l[5].body}}),{key:s,first:null,c(){n=o("div"),I(i.$$.fragment),f=h(),p(n,"class","tab-item"),X(n,"active",l[1]===l[5].code),this.first=n},m(d,b){r(d,n,b),K(i,n,null),a(n,f),g=!0},p(d,b){l=d;const _={};b&4&&(_.content=l[5].body),i.$set(_),(!g||b&6)&&X(n,"active",l[1]===l[5].code)},i(d){g||(L(i.$$.fragment,d),g=!0)},o(d){x(i.$$.fragment,d),g=!1},d(d){d&&c(n),G(i)}}}function Ze(s){let l,n,i=s[0].name+"",f,g,d,b,_,v,O,P,Y,A,E,be,J,R,me,Z,N=s[0].name+"",ee,fe,te,M,ae,W,le,U,ne,S,oe,ge,B,y,se,ke,ie,_e,m,ve,C,we,$e,Oe,re,Ae,ce,Se,ye,Te,de,Ce,qe,q,ue,F,he,T,H,$=[],De=new Map,Pe,j,w=[],Re=new Map,D;v=new Xe({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${s[3]}'); diff --git a/ui/dist/assets/AuthWithPasswordDocs-afec1b2d.js b/ui/dist/assets/AuthWithPasswordDocs-f8ad8a75.js similarity index 98% rename from ui/dist/assets/AuthWithPasswordDocs-afec1b2d.js rename to ui/dist/assets/AuthWithPasswordDocs-f8ad8a75.js index b82c8463..15630c2c 100644 --- a/ui/dist/assets/AuthWithPasswordDocs-afec1b2d.js +++ b/ui/dist/assets/AuthWithPasswordDocs-f8ad8a75.js @@ -1,4 +1,4 @@ -import{S as wt,i as yt,s as $t,N as vt,O as oe,e as n,w as p,b as d,c as ne,f as m,g as r,h as t,m as se,x as De,P as pt,Q as Pt,k as Rt,R as Ct,n as Ot,t as Z,a as x,o as c,d as ie,C as ft,p as At,r as re,u as Tt}from"./index-09db7a88.js";import{S as Ut}from"./SdkTabs-f85ceb47.js";import{F as Mt}from"./FieldsQueryParam-8145215c.js";function ht(s,l,a){const i=s.slice();return i[8]=l[a],i}function bt(s,l,a){const i=s.slice();return i[8]=l[a],i}function Dt(s){let l;return{c(){l=p("email")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function Et(s){let l;return{c(){l=p("username")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function Wt(s){let l;return{c(){l=p("username/email")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function mt(s){let l;return{c(){l=n("strong"),l.textContent="username"},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function _t(s){let l;return{c(){l=p("or")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function kt(s){let l;return{c(){l=n("strong"),l.textContent="email"},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function gt(s,l){let a,i=l[8].code+"",g,b,f,u;function _(){return l[7](l[8])}return{key:s,first:null,c(){a=n("button"),g=p(i),b=d(),m(a,"class","tab-item"),re(a,"active",l[3]===l[8].code),this.first=a},m(R,C){r(R,a,C),t(a,g),t(a,b),f||(u=Tt(a,"click",_),f=!0)},p(R,C){l=R,C&16&&i!==(i=l[8].code+"")&&De(g,i),C&24&&re(a,"active",l[3]===l[8].code)},d(R){R&&c(a),f=!1,u()}}}function St(s,l){let a,i,g,b;return i=new vt({props:{content:l[8].body}}),{key:s,first:null,c(){a=n("div"),ne(i.$$.fragment),g=d(),m(a,"class","tab-item"),re(a,"active",l[3]===l[8].code),this.first=a},m(f,u){r(f,a,u),se(i,a,null),t(a,g),b=!0},p(f,u){l=f;const _={};u&16&&(_.content=l[8].body),i.$set(_),(!b||u&24)&&re(a,"active",l[3]===l[8].code)},i(f){b||(Z(i.$$.fragment,f),b=!0)},o(f){x(i.$$.fragment,f),b=!1},d(f){f&&c(a),ie(i)}}}function Lt(s){var rt,ct;let l,a,i=s[0].name+"",g,b,f,u,_,R,C,O,B,Ee,ce,T,de,N,ue,U,ee,We,te,I,Le,pe,le=s[0].name+"",fe,Be,he,V,be,M,me,qe,Q,D,_e,Fe,ke,He,$,Ye,ge,Se,ve,Ne,we,ye,j,$e,E,Pe,Ie,J,W,Re,Ve,Ce,Qe,k,je,q,Je,Ke,ze,Oe,Ge,Ae,Xe,Ze,xe,Te,et,tt,F,Ue,K,Me,L,z,A=[],lt=new Map,at,G,S=[],ot=new Map,H;function nt(e,o){if(e[1]&&e[2])return Wt;if(e[1])return Et;if(e[2])return Dt}let Y=nt(s),P=Y&&Y(s);T=new Ut({props:{js:` +import{S as wt,i as yt,s as $t,N as vt,O as oe,e as n,w as p,b as d,c as ne,f as m,g as r,h as t,m as se,x as De,P as pt,Q as Pt,k as Rt,R as Ct,n as Ot,t as Z,a as x,o as c,d as ie,C as ft,p as At,r as re,u as Tt}from"./index-47fb2c5c.js";import{S as Ut}from"./SdkTabs-13ccb207.js";import{F as Mt}from"./FieldsQueryParam-e970c01f.js";function ht(s,l,a){const i=s.slice();return i[8]=l[a],i}function bt(s,l,a){const i=s.slice();return i[8]=l[a],i}function Dt(s){let l;return{c(){l=p("email")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function Et(s){let l;return{c(){l=p("username")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function Wt(s){let l;return{c(){l=p("username/email")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function mt(s){let l;return{c(){l=n("strong"),l.textContent="username"},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function _t(s){let l;return{c(){l=p("or")},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function kt(s){let l;return{c(){l=n("strong"),l.textContent="email"},m(a,i){r(a,l,i)},d(a){a&&c(l)}}}function gt(s,l){let a,i=l[8].code+"",g,b,f,u;function _(){return l[7](l[8])}return{key:s,first:null,c(){a=n("button"),g=p(i),b=d(),m(a,"class","tab-item"),re(a,"active",l[3]===l[8].code),this.first=a},m(R,C){r(R,a,C),t(a,g),t(a,b),f||(u=Tt(a,"click",_),f=!0)},p(R,C){l=R,C&16&&i!==(i=l[8].code+"")&&De(g,i),C&24&&re(a,"active",l[3]===l[8].code)},d(R){R&&c(a),f=!1,u()}}}function St(s,l){let a,i,g,b;return i=new vt({props:{content:l[8].body}}),{key:s,first:null,c(){a=n("div"),ne(i.$$.fragment),g=d(),m(a,"class","tab-item"),re(a,"active",l[3]===l[8].code),this.first=a},m(f,u){r(f,a,u),se(i,a,null),t(a,g),b=!0},p(f,u){l=f;const _={};u&16&&(_.content=l[8].body),i.$set(_),(!b||u&24)&&re(a,"active",l[3]===l[8].code)},i(f){b||(Z(i.$$.fragment,f),b=!0)},o(f){x(i.$$.fragment,f),b=!1},d(f){f&&c(a),ie(i)}}}function Lt(s){var rt,ct;let l,a,i=s[0].name+"",g,b,f,u,_,R,C,O,B,Ee,ce,T,de,N,ue,U,ee,We,te,I,Le,pe,le=s[0].name+"",fe,Be,he,V,be,M,me,qe,Q,D,_e,Fe,ke,He,$,Ye,ge,Se,ve,Ne,we,ye,j,$e,E,Pe,Ie,J,W,Re,Ve,Ce,Qe,k,je,q,Je,Ke,ze,Oe,Ge,Ae,Xe,Ze,xe,Te,et,tt,F,Ue,K,Me,L,z,A=[],lt=new Map,at,G,S=[],ot=new Map,H;function nt(e,o){if(e[1]&&e[2])return Wt;if(e[1])return Et;if(e[2])return Dt}let Y=nt(s),P=Y&&Y(s);T=new Ut({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${s[6]}'); diff --git a/ui/dist/assets/CodeEditor-efd8db8b.js b/ui/dist/assets/CodeEditor-3bce9f95.js similarity index 99% rename from ui/dist/assets/CodeEditor-efd8db8b.js rename to ui/dist/assets/CodeEditor-3bce9f95.js index f5b09e25..a3b24e18 100644 --- a/ui/dist/assets/CodeEditor-efd8db8b.js +++ b/ui/dist/assets/CodeEditor-3bce9f95.js @@ -1,4 +1,4 @@ -import{S as bt,i as Xt,s as Yt,e as xt,f as kt,U as M,g as wt,y as Ae,o as yt,J as vt,K as Tt,L as Wt,I as _t,C as Ut,M as Ct}from"./index-09db7a88.js";import{P as qt,N as jt,v as zt,D as Rt,w as ye,T as ee,I as ve,x as B,y as l,z as Vt,L as J,A as L,B as C,F as K,G as Te,H as F,u as R,J as xO,K as kO,M as wO,E as U,O as yO,Q as P,R as Gt,U as Et,V as vO,W as At,X as It,a as V,h as Nt,b as Dt,c as Bt,d as Jt,e as Lt,s as Kt,t as Ft,f as Mt,g as Ht,r as ea,i as Oa,k as ta,j as aa,l as ra,m as ia,n as sa,o as oa,p as la,q as Ie,C as H}from"./index-9ee652b3.js";class re{constructor(e,a,t,r,s,i,o,n,Q,d=0,c){this.p=e,this.stack=a,this.state=t,this.reducePos=r,this.pos=s,this.score=i,this.buffer=o,this.bufferBase=n,this.curContext=Q,this.lookAhead=d,this.parent=c}toString(){return`[${this.stack.filter((e,a)=>a%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,a,t=0){let r=e.parser.context;return new re(e,[],a,t,t,0,[],0,r?new Ne(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,a){this.stack.push(this.state,a,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var a;let t=e>>19,r=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(r);if(i&&(this.score+=i),t==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r=2e3&&!(!((a=this.p.parser.nodeSet.types[r])===null||a===void 0)&&a.isAnonymous)&&(n==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=Q):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(r,n)}storeNode(e,a,t,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&i.buffer[o-4]==0&&i.buffer[o-1]>-1){if(a==t)return;if(i.buffer[o-2]>=a){i.buffer[o-2]=t;return}}}if(!s||this.pos==t)this.buffer.push(e,a,t,r);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>t;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,r>4&&(r-=4);this.buffer[i]=e,this.buffer[i+1]=a,this.buffer[i+2]=t,this.buffer[i+3]=r}}shift(e,a,t,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(a,t),a<=this.p.parser.maxNode&&this.buffer.push(a,t,r,4);else{let s=e,{parser:i}=this.p;(r>this.pos||a<=i.maxNode)&&(this.pos=r,i.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,t),this.shiftContext(a,t),a<=i.maxNode&&this.buffer.push(a,t,r,4)}}apply(e,a,t,r){e&65536?this.reduce(e):this.shift(e,a,t,r)}useNode(e,a){let t=this.p.reused.length-1;(t<0||this.p.reused[t]!=e)&&(this.p.reused.push(e),t++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(a,r),this.buffer.push(t,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,a=e.buffer.length;for(;a>0&&e.buffer[a-2]>e.reducePos;)a-=4;let t=e.buffer.slice(a),r=e.bufferBase+a;for(;e&&r==e.bufferBase;)e=e.parent;return new re(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,t,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,a){let t=e<=this.p.parser.maxNode;t&&this.storeNode(e,this.pos,a,4),this.storeNode(0,this.pos,a,t?8:4),this.pos=this.reducePos=a,this.score-=190}canShift(e){for(let a=new na(this);;){let t=this.p.parser.stateSlot(a.state,4)||this.p.parser.hasAction(a.state,e);if(t==0)return!1;if(!(t&65536))return!0;a.reduce(t)}}recoverByInsert(e){if(this.stack.length>=300)return[];let a=this.p.parser.nextStates(this.state);if(a.length>8||this.stack.length>=120){let r=[];for(let s=0,i;sn&1&&o==i)||r.push(a[s],i)}a=r}let t=[];for(let r=0;r>19,r=a&65535,s=this.stack.length-t*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let i=this.findForcedReduction();if(i==null)return!1;a=i}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(a),!0}findForcedReduction(){let{parser:e}=this.p,a=[],t=(r,s)=>{if(!a.includes(r))return a.push(r),e.allActions(r,i=>{if(!(i&393216))if(i&65536){let o=(i>>19)-s;if(o>1){let n=i&65535,Q=this.stack.length-o*3;if(Q>=0&&e.getGoto(this.stack[Q],n,!1)>=0)return o<<19|65536|n}}else{let o=t(i,s+1);if(o!=null)return o}})};return t(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let a=0;athis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Ne{constructor(e,a){this.tracker=e,this.context=a,this.hash=e.strict?e.hash(a):0}}class na{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let a=e&65535,t=e>>19;t==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(t-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],a,!0);this.state=r}}class ie{constructor(e,a,t){this.stack=e,this.pos=a,this.index=t,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,a=e.bufferBase+e.buffer.length){return new ie(e,a,a-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new ie(this.stack,this.pos,this.index)}}function I(O,e=Uint16Array){if(typeof O!="string")return O;let a=null;for(let t=0,r=0;t=92&&i--,i>=34&&i--;let n=i-32;if(n>=46&&(n-=46,o=!0),s+=n,o)break;s*=46}a?a[r++]=s:a=new e(s)}return a}class Oe{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const De=new Oe;class ca{constructor(e,a){this.input=e,this.ranges=a,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=De,this.rangeIndex=0,this.pos=this.chunkPos=a[0].from,this.range=a[0],this.end=a[a.length-1].to,this.readNext()}resolveOffset(e,a){let t=this.range,r=this.rangeIndex,s=this.pos+e;for(;st.to:s>=t.to;){if(r==this.ranges.length-1)return null;let i=this.ranges[++r];s+=i.from-t.to,t=i}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,a.from);return this.end}peek(e){let a=this.chunkOff+e,t,r;if(a>=0&&a=this.chunk2Pos&&to.to&&(this.chunk2=this.chunk2.slice(0,o.to-t)),r=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),r}acceptToken(e,a=0){let t=a?this.resolveOffset(a,-1):this.pos;if(t==null||t=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,a){if(a?(this.token=a,a.start=e,a.lookAhead=e+1,a.value=a.extended=-1):this.token=De,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&a<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,a-this.chunkPos);if(e>=this.chunk2Pos&&a<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,a-this.chunk2Pos);if(e>=this.range.from&&a<=this.range.to)return this.input.read(e,a);let t="";for(let r of this.ranges){if(r.from>=a)break;r.to>e&&(t+=this.input.read(Math.max(r.from,e),Math.min(r.to,a)))}return t}}class q{constructor(e,a){this.data=e,this.id=a}token(e,a){let{parser:t}=a.p;TO(this.data,e,a,this.id,t.data,t.tokenPrecTable)}}q.prototype.contextual=q.prototype.fallback=q.prototype.extend=!1;class se{constructor(e,a,t){this.precTable=a,this.elseToken=t,this.data=typeof e=="string"?I(e):e}token(e,a){let t=e.pos,r=0;for(;;){let s=e.next<0,i=e.resolveOffset(1,1);if(TO(this.data,e,a,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,i==null)break;e.reset(i,e.token)}r&&(e.reset(t,e.token),e.acceptToken(this.elseToken,r))}}se.prototype.contextual=q.prototype.fallback=q.prototype.extend=!1;class Y{constructor(e,a={}){this.token=e,this.contextual=!!a.contextual,this.fallback=!!a.fallback,this.extend=!!a.extend}}function TO(O,e,a,t,r,s){let i=0,o=1<0){let u=O[p];if(n.allows(u)&&(e.token.value==-1||e.token.value==u||Qa(u,e.token.value,r,s))){e.acceptToken(u);break}}let d=e.next,c=0,f=O[i+2];if(e.next<0&&f>c&&O[Q+f*3-3]==65535){i=O[Q+f*3-1];continue e}for(;c>1,u=Q+p+(p<<1),$=O[u],m=O[u+1]||65536;if(d<$)f=p;else if(d>=m)c=p+1;else{i=O[u+2],e.advance();continue e}}break}}function Be(O,e,a){for(let t=e,r;(r=O[t])!=65535;t++)if(r==a)return t-e;return-1}function Qa(O,e,a,t){let r=Be(a,t,e);return r<0||Be(a,t,O)e)&&!t.type.isError)return a<0?Math.max(0,Math.min(t.to-1,e-25)):Math.min(O.length,Math.max(t.from+1,e+25));if(a<0?t.prevSibling():t.nextSibling())break;if(!t.parent())return a<0?0:O.length}}class pa{constructor(e,a){this.fragments=e,this.nodeSet=a,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Je(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Je(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=i,null;if(s instanceof ee){if(i==e){if(i=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(i),this.index.push(0))}else this.index[a]++,this.nextStart=i+s.length}}}class da{constructor(e,a){this.stream=a,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(t=>new Oe)}getActions(e){let a=0,t=null,{parser:r}=e.p,{tokenizers:s}=r,i=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,n=0;for(let Q=0;Qc.end+25&&(n=Math.max(c.lookAhead,n)),c.value!=0)){let f=a;if(c.extended>-1&&(a=this.addActions(e,c.extended,c.end,a)),a=this.addActions(e,c.value,c.end,a),!d.extend&&(t=c,a>f))break}}for(;this.actions.length>a;)this.actions.pop();return n&&e.setLookAhead(n),!t&&e.pos==this.stream.end&&(t=new Oe,t.value=e.p.parser.eofTerm,t.start=t.end=e.pos,a=this.addActions(e,t.value,t.end,a)),this.mainToken=t,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let a=new Oe,{pos:t,p:r}=e;return a.start=t,a.end=Math.min(t+1,r.stream.end),a.value=t==r.stream.end?r.parser.eofTerm:0,a}updateCachedToken(e,a,t){let r=this.stream.clipPos(t.pos);if(a.token(this.stream.reset(r,e),t),e.value>-1){let{parser:s}=t.p;for(let i=0;i=0&&t.p.parser.dialect.allows(o>>1)){o&1?e.extended=o>>1:e.value=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,a,t,r){for(let s=0;se.bufferLength*4?new pa(t,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,a=this.minStackPos,t=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[i]=e;for(;i.forceReduce()&&i.stack.length&&i.stack[i.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;ia)t.push(o);else{if(this.advanceStack(o,t,e))continue;{r||(r=[],s=[]),r.push(o);let n=this.tokens.getMainToken(o);s.push(n.value,n.end)}}break}}if(!t.length){let i=r&&fa(r);if(i)return Z&&console.log("Finish with "+this.stackID(i)),this.stackToTree(i);if(this.parser.strict)throw Z&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+a);this.recovering||(this.recovering=5)}if(this.recovering&&r){let i=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,t);if(i)return Z&&console.log("Force-finish "+this.stackID(i)),this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(t.length>i)for(t.sort((o,n)=>n.score-o.score);t.length>i;)t.pop();t.some(o=>o.reducePos>a)&&this.recovering--}else if(t.length>1){e:for(let i=0;i500&&Q.buffer.length>500)if((o.score-Q.score||o.buffer.length-Q.buffer.length)>0)t.splice(n--,1);else{t.splice(i--,1);continue e}}}t.length>12&&t.splice(12,t.length-12)}this.minStackPos=t[0].pos;for(let i=1;i ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let Q=e.curContext&&e.curContext.tracker.strict,d=Q?e.curContext.hash:0;for(let c=this.fragments.nodeAt(r);c;){let f=this.parser.nodeSet.types[c.type.id]==c.type?s.getGoto(e.state,c.type.id):-1;if(f>-1&&c.length&&(!Q||(c.prop(ye.contextHash)||0)==d))return e.useNode(c,f),Z&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(c.type.id)})`),!0;if(!(c instanceof ee)||c.children.length==0||c.positions[0]>0)break;let p=c.children[0];if(p instanceof ee&&c.positions[0]==0)c=p;else break}}let o=s.stateSlot(e.state,4);if(o>0)return e.reduce(o),Z&&console.log(i+this.stackID(e)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let n=this.tokens.getActions(e);for(let Q=0;Qr?a.push(u):t.push(u)}return!1}advanceFully(e,a){let t=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>t)return Le(e,a),!0}}runRecovery(e,a,t){let r=null,s=!1;for(let i=0;i ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),Z&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,t))))continue;let c=o.split(),f=d;for(let p=0;c.forceReduce()&&p<10&&(Z&&console.log(f+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,t));p++)Z&&(f=this.stackID(c)+" -> ");for(let p of o.recoverByInsert(n))Z&&console.log(d+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,t);this.stream.end>o.pos?(Q==o.pos&&(Q++,n=0),o.recoverByDelete(n,Q),Z&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(n)})`),Le(o,t)):(!r||r.scoreO;class WO{constructor(e){this.start=e.start,this.shift=e.shift||he,this.reduce=e.reduce||he,this.reuse=e.reuse||he,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class T extends qt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let a=e.nodeNames.split(" ");this.minRepeatTerm=a.length;for(let o=0;oe.topRules[o][1]),r=[];for(let o=0;o=0)s(d,n,o[Q++]);else{let c=o[Q+-d];for(let f=-d;f>0;f--)s(o[Q++],n,c);Q++}}}this.nodeSet=new jt(a.map((o,n)=>zt.define({name:n>=this.minRepeatTerm?void 0:o,id:n,props:r[n],top:t.indexOf(n)>-1,error:n==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(n)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Rt;let i=I(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new q(i,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,a,t){let r=new ha(this,e,a,t);for(let s of this.wrappers)r=s(r,e,a,t);return r}getGoto(e,a,t=!1){let r=this.goto;if(a>=r[0])return-1;for(let s=r[a+1];;){let i=r[s++],o=i&1,n=r[s++];if(o&&t)return n;for(let Q=s+(i>>1);s0}validAction(e,a){return!!this.allActions(e,t=>t==a?!0:null)}allActions(e,a){let t=this.stateSlot(e,4),r=t?a(t):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=w(this.data,s+2);else break;r=a(w(this.data,s+1))}return r}nextStates(e){let a=[];for(let t=this.stateSlot(e,1);;t+=3){if(this.data[t]==65535)if(this.data[t+1]==1)t=w(this.data,t+2);else break;if(!(this.data[t+2]&1)){let r=this.data[t+1];a.some((s,i)=>i&1&&s==r)||a.push(this.data[t],r)}}return a}configure(e){let a=Object.assign(Object.create(T.prototype),this);if(e.props&&(a.nodeSet=this.nodeSet.extend(...e.props)),e.top){let t=this.topRules[e.top];if(!t)throw new RangeError(`Invalid top rule name ${e.top}`);a.top=t}return e.tokenizers&&(a.tokenizers=this.tokenizers.map(t=>{let r=e.tokenizers.find(s=>s.from==t);return r?r.to:t})),e.specializers&&(a.specializers=this.specializers.slice(),a.specializerSpecs=this.specializerSpecs.map((t,r)=>{let s=e.specializers.find(o=>o.from==t.external);if(!s)return t;let i=Object.assign(Object.assign({},t),{external:s.to});return a.specializers[r]=Ke(i),i})),e.contextTracker&&(a.context=e.contextTracker),e.dialect&&(a.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(a.strict=e.strict),e.wrap&&(a.wrappers=a.wrappers.concat(e.wrap)),e.bufferLength!=null&&(a.bufferLength=e.bufferLength),a}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let a=this.dynamicPrecedences;return a==null?0:a[e]||0}parseDialect(e){let a=Object.keys(this.dialects),t=a.map(()=>!1);if(e)for(let s of e.split(" ")){let i=a.indexOf(s);i>=0&&(t[i]=!0)}let r=null;for(let s=0;st)&&a.p.parser.stateFlag(a.state,2)&&(!e||e.scoreO.external(a,t)<<1|e}return O.get}const Sa=54,$a=1,ma=55,ga=2,Pa=56,Za=3,Fe=4,ba=5,oe=6,_O=7,UO=8,CO=9,qO=10,Xa=11,Ya=12,xa=13,ue=57,ka=14,Me=58,jO=20,wa=22,zO=23,ya=24,Xe=26,RO=27,va=28,Ta=31,Wa=34,_a=36,Ua=37,Ca=0,qa=1,ja={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},za={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},He={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ra(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function VO(O){return O==9||O==10||O==13||O==32}let eO=null,OO=null,tO=0;function Ye(O,e){let a=O.pos+e;if(tO==a&&OO==O)return eO;let t=O.peek(e);for(;VO(t);)t=O.peek(++e);let r="";for(;Ra(t);)r+=String.fromCharCode(t),t=O.peek(++e);return OO=O,tO=a,eO=r?r.toLowerCase():t==Va||t==Ga?void 0:null}const GO=60,le=62,We=47,Va=63,Ga=33,Ea=45;function aO(O,e){this.name=O,this.parent=e,this.hash=e?e.hash:0;for(let a=0;a-1?new aO(Ye(t,1)||"",O):O},reduce(O,e){return e==jO&&O?O.parent:O},reuse(O,e,a,t){let r=e.type.id;return r==oe||r==_a?new aO(Ye(t,1)||"",O):O},hash(O){return O?O.hash:0},strict:!1}),Na=new Y((O,e)=>{if(O.next!=GO){O.next<0&&e.context&&O.acceptToken(ue);return}O.advance();let a=O.next==We;a&&O.advance();let t=Ye(O,0);if(t===void 0)return;if(!t)return O.acceptToken(a?ka:oe);let r=e.context?e.context.name:null;if(a){if(t==r)return O.acceptToken(Xa);if(r&&za[r])return O.acceptToken(ue,-2);if(e.dialectEnabled(Ca))return O.acceptToken(Ya);for(let s=e.context;s;s=s.parent)if(s.name==t)return;O.acceptToken(xa)}else{if(t=="script")return O.acceptToken(_O);if(t=="style")return O.acceptToken(UO);if(t=="textarea")return O.acceptToken(CO);if(ja.hasOwnProperty(t))return O.acceptToken(qO);r&&He[r]&&He[r][t]?O.acceptToken(ue,-1):O.acceptToken(oe)}},{contextual:!0}),Da=new Y(O=>{for(let e=0,a=0;;a++){if(O.next<0){a&&O.acceptToken(Me);break}if(O.next==Ea)e++;else if(O.next==le&&e>=2){a>=3&&O.acceptToken(Me,-2);break}else e=0;O.advance()}});function Ba(O){for(;O;O=O.parent)if(O.name=="svg"||O.name=="math")return!0;return!1}const Ja=new Y((O,e)=>{if(O.next==We&&O.peek(1)==le){let a=e.dialectEnabled(qa)||Ba(e.context);O.acceptToken(a?ba:Fe,2)}else O.next==le&&O.acceptToken(Fe,1)});function _e(O,e,a){let t=2+O.length;return new Y(r=>{for(let s=0,i=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(e);break}if(s==0&&r.next==GO||s==1&&r.next==We||s>=2&&si?r.acceptToken(e,-i):r.acceptToken(a,-(i-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(e,1);break}else s=i=0;r.advance()}})}const La=_e("script",Sa,$a),Ka=_e("style",ma,ga),Fa=_e("textarea",Pa,Za),Ma=B({"Text RawText":l.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":l.angleBracket,TagName:l.tagName,"MismatchedCloseTag/TagName":[l.tagName,l.invalid],AttributeName:l.attributeName,"AttributeValue UnquotedAttributeValue":l.attributeValue,Is:l.definitionOperator,"EntityReference CharacterReference":l.character,Comment:l.blockComment,ProcessingInst:l.processingInstruction,DoctypeDecl:l.documentMeta}),Ha=T.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Ia,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Ma],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let Q=o.type.id;if(Q==va)return fe(o,n,a);if(Q==Ta)return fe(o,n,t);if(Q==Wa)return fe(o,n,r);if(Q==jO&&s.length){let d=o.node,c=d.firstChild,f=c&&rO(c,n),p;if(f){for(let u of s)if(u.tag==f&&(!u.attrs||u.attrs(p||(p=EO(d,n))))){let $=d.lastChild,m=$.type.id==Ua?$.from:d.to;if(m>c.to)return{parser:u.parser,overlay:[{from:c.to,to:m}]}}}}if(i&&Q==zO){let d=o.node,c;if(c=d.firstChild){let f=i[n.read(c.from,c.to)];if(f)for(let p of f){if(p.tagName&&p.tagName!=rO(d.parent,n))continue;let u=d.lastChild;if(u.type.id==Xe){let $=u.from+1,m=u.lastChild,X=u.to-(m&&m.isError?0:1);if(X>$)return{parser:p.parser,overlay:[{from:$,to:X}]}}else if(u.type.id==RO)return{parser:p.parser,overlay:[{from:u.from,to:u.to}]}}}}return null})}const er=96,iO=1,Or=97,tr=98,sO=2,IO=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ar=58,rr=40,NO=95,ir=91,te=45,sr=46,or=35,lr=37,nr=38,cr=92,Qr=10;function ne(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function pr(O){return O>=48&&O<=57}const dr=new Y((O,e)=>{for(let a=!1,t=0,r=0;;r++){let{next:s}=O;if(ne(s)||s==te||s==NO||a&&pr(s))!a&&(s!=te||r>0)&&(a=!0),t===r&&s==te&&t++,O.advance();else if(s==cr&&O.peek(1)!=Qr)O.advance(),O.next>-1&&O.advance(),a=!0;else{a&&O.acceptToken(s==rr?Or:t==2&&e.canShift(sO)?sO:tr);break}}}),hr=new Y(O=>{if(IO.includes(O.peek(-1))){let{next:e}=O;(ne(e)||e==NO||e==or||e==sr||e==ir||e==ar||e==te||e==nr)&&O.acceptToken(er)}}),ur=new Y(O=>{if(!IO.includes(O.peek(-1))){let{next:e}=O;if(e==lr&&(O.advance(),O.acceptToken(iO)),ne(e)){do O.advance();while(ne(O.next));O.acceptToken(iO)}}}),fr=B({"AtKeyword import charset namespace keyframes media supports":l.definitionKeyword,"from to selector":l.keyword,NamespaceName:l.namespace,KeyframeName:l.labelName,KeyframeRangeName:l.operatorKeyword,TagName:l.tagName,ClassName:l.className,PseudoClassName:l.constant(l.className),IdName:l.labelName,"FeatureName PropertyName":l.propertyName,AttributeName:l.attributeName,NumberLiteral:l.number,KeywordQuery:l.keyword,UnaryQueryOp:l.operatorKeyword,"CallTag ValueName":l.atom,VariableName:l.variableName,Callee:l.operatorKeyword,Unit:l.unit,"UniversalSelector NestingSelector":l.definitionOperator,MatchOp:l.compareOperator,"ChildOp SiblingOp, LogicOp":l.logicOperator,BinOp:l.arithmeticOperator,Important:l.modifier,Comment:l.blockComment,ColorLiteral:l.color,"ParenthesizedContent StringLiteral":l.string,":":l.punctuation,"PseudoOp #":l.derefOperator,"; ,":l.separator,"( )":l.paren,"[ ]":l.squareBracket,"{ }":l.brace}),Sr={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},$r={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},mr={__proto__:null,not:128,only:128},gr=T.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[hr,ur,dr,1,2,3,4,new se("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:O=>Sr[O]||-1},{term:56,get:O=>$r[O]||-1},{term:98,get:O=>mr[O]||-1}],tokenPrec:1169});let Se=null;function $e(){if(!Se&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],a=new Set;for(let t in O)t!="cssText"&&t!="cssFloat"&&typeof O[t]=="string"&&(/[A-Z]/.test(t)&&(t=t.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),a.has(t)||(e.push(t),a.add(t)));Se=e.sort().map(t=>({type:"property",label:t}))}return Se||[]}const oO=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(O=>({type:"class",label:O})),lO=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(O=>({type:"keyword",label:O})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(O=>({type:"constant",label:O}))),Pr=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(O=>({type:"type",label:O})),v=/^(\w[\w-]*|-\w[\w-]*|)$/,Zr=/^-(-[\w-]*)?$/;function br(O,e){var a;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let t=(a=O.parent)===null||a===void 0?void 0:a.firstChild;return(t==null?void 0:t.name)!="Callee"?!1:e.sliceString(t.from,t.to)=="var"}const nO=new xO,Xr=["Declaration"];function Yr(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function DO(O,e,a){if(e.to-e.from>4096){let t=nO.get(e);if(t)return t;let r=[],s=new Set,i=e.cursor(ve.IncludeAnonymous);if(i.firstChild())do for(let o of DO(O,i.node,a))s.has(o.label)||(s.add(o.label),r.push(o));while(i.nextSibling());return nO.set(e,r),r}else{let t=[],r=new Set;return e.cursor().iterate(s=>{var i;if(a(s)&&s.matchContext(Xr)&&((i=s.node.nextSibling)===null||i===void 0?void 0:i.name)==":"){let o=O.sliceString(s.from,s.to);r.has(o)||(r.add(o),t.push({label:o,type:"variable"}))}}),t}}const xr=O=>e=>{let{state:a,pos:t}=e,r=R(a).resolveInner(t,-1),s=r.type.isError&&r.from==r.to-1&&a.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:$e(),validFor:v};if(r.name=="ValueName")return{from:r.from,options:lO,validFor:v};if(r.name=="PseudoClassName")return{from:r.from,options:oO,validFor:v};if(O(r)||(e.explicit||s)&&br(r,a.doc))return{from:O(r)||s?r.from:t,options:DO(a.doc,Yr(r),O),validFor:Zr};if(r.name=="TagName"){for(let{parent:n}=r;n;n=n.parent)if(n.name=="Block")return{from:r.from,options:$e(),validFor:v};return{from:r.from,options:Pr,validFor:v}}if(!e.explicit)return null;let i=r.resolve(t),o=i.childBefore(t);return o&&o.name==":"&&i.name=="PseudoClassSelector"?{from:t,options:oO,validFor:v}:o&&o.name==":"&&i.name=="Declaration"||i.name=="ArgList"?{from:t,options:lO,validFor:v}:i.name=="Block"||i.name=="Styles"?{from:t,options:$e(),validFor:v}:null},kr=xr(O=>O.name=="VariableName"),ce=J.define({name:"css",parser:gr.configure({props:[L.add({Declaration:C()}),K.add({"Block KeyframeList":Te})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function wr(){return new F(ce,ce.data.of({autocomplete:kr}))}const yr=308,cO=1,vr=2,Tr=309,Wr=311,_r=312,Ur=3,Cr=4,qr=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],BO=125,jr=59,QO=47,zr=42,Rr=43,Vr=45,Gr=new WO({start:!1,shift(O,e){return e==Ur||e==Cr||e==Wr?O:e==_r},strict:!1}),Er=new Y((O,e)=>{let{next:a}=O;(a==BO||a==-1||e.context)&&O.acceptToken(Tr)},{contextual:!0,fallback:!0}),Ar=new Y((O,e)=>{let{next:a}=O,t;qr.indexOf(a)>-1||a==QO&&((t=O.peek(1))==QO||t==zr)||a!=BO&&a!=jr&&a!=-1&&!e.context&&O.acceptToken(yr)},{contextual:!0}),Ir=new Y((O,e)=>{let{next:a}=O;if((a==Rr||a==Vr)&&(O.advance(),a==O.next)){O.advance();let t=!e.context&&e.canShift(cO);O.acceptToken(t?cO:vr)}},{contextual:!0}),Nr=B({"get set async static":l.modifier,"for while do if else switch try catch finally return throw break continue default case":l.controlKeyword,"in of await yield void typeof delete instanceof":l.operatorKeyword,"let var const using function class extends":l.definitionKeyword,"import export from":l.moduleKeyword,"with debugger as new":l.keyword,TemplateString:l.special(l.string),super:l.atom,BooleanLiteral:l.bool,this:l.self,null:l.null,Star:l.modifier,VariableName:l.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":l.function(l.variableName),VariableDefinition:l.definition(l.variableName),Label:l.labelName,PropertyName:l.propertyName,PrivatePropertyName:l.special(l.propertyName),"CallExpression/MemberExpression/PropertyName":l.function(l.propertyName),"FunctionDeclaration/VariableDefinition":l.function(l.definition(l.variableName)),"ClassDeclaration/VariableDefinition":l.definition(l.className),PropertyDefinition:l.definition(l.propertyName),PrivatePropertyDefinition:l.definition(l.special(l.propertyName)),UpdateOp:l.updateOperator,"LineComment Hashbang":l.lineComment,BlockComment:l.blockComment,Number:l.number,String:l.string,Escape:l.escape,ArithOp:l.arithmeticOperator,LogicOp:l.logicOperator,BitOp:l.bitwiseOperator,CompareOp:l.compareOperator,RegExp:l.regexp,Equals:l.definitionOperator,Arrow:l.function(l.punctuation),": Spread":l.punctuation,"( )":l.paren,"[ ]":l.squareBracket,"{ }":l.brace,"InterpolationStart InterpolationEnd":l.special(l.brace),".":l.derefOperator,", ;":l.separator,"@":l.meta,TypeName:l.typeName,TypeDefinition:l.definition(l.typeName),"type enum interface implements namespace module declare":l.definitionKeyword,"abstract global Privacy readonly override":l.modifier,"is keyof unique infer":l.operatorKeyword,JSXAttributeValue:l.attributeValue,JSXText:l.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":l.angleBracket,"JSXIdentifier JSXNameSpacedName":l.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":l.attributeName,"JSXBuiltin/JSXIdentifier":l.standard(l.tagName)}),Dr={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},Br={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},Jr={__proto__:null,"<":139},Lr=T.deserialize({version:14,states:"$RQSO'#CcO>cQSO'#HZO>kQSO'#HaO>kQSO'#HcO`QUO'#HeO>kQSO'#HgO>kQSO'#HjO>pQSO'#HpO>uQ(C]O'#HvO%[QUO'#HxO?QQ(C]O'#HzO?]Q(C]O'#H|O9kQ(C[O'#IOO?hQ(CjO'#CgO@jQWO'#DgQOQSOOO%[QUO'#D}OAQQSO'#EQO:RQ,UO'#EhOA]QSO'#EhOAhQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Jm'#JmO%[QUO'#JmOOQO'#Jq'#JqOOQO'#Ia'#IaOBhQWO'#EaOOQ(CW'#E`'#E`OCdQ(C`O'#EaOCnQWO'#ETOOQO'#Jp'#JpODSQWO'#JqOEaQWO'#ETOCnQWO'#EaPEnO?MpO'#C`POOO)CDt)CDtOOOO'#IW'#IWOEyOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFXO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFgO07`O,59vOOQ(CY,59v,59vOFuQUO'#I[OGYQSO'#JkOI[QbO'#JkO+}QUO'#JkOIcQSO,59|OIyQSO'#EjOJWQSO'#JyOJcQSO'#JxOJcQSO'#JxOJkQSO,5;WOJpQSO'#JwOOQ(CY,5:X,5:XOJwQUO,5:XOLxQ(CjO,5:cOMiQSO,5:kONSQ(C[O'#JvONZQSO'#JuO9ZQSO'#JuONoQSO'#JuONwQSO,5;VON|QSO'#JuO!#UQbO'#JjOOQ(CY'#Cg'#CgO%[QUO'#EPO!#tQ`O,5:pOOQO'#Jr'#JrOOQO-ElOOQQ'#J_'#J_OOQQ,5>m,5>mOOQQ-EpQSO'#HPO9aQSO'#HRO!CgQSO'#HRO:RQ,UO'#HTO!ClQSO'#HTOOQQ,5=i,5=iO!CqQSO'#HUO!DSQSO'#CmO!DXQSO,58}O!DcQSO,58}O!FhQUO,58}OOQQ,58},58}O!FxQ(C[O,58}O%[QUO,58}O!ITQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IkQSO,5=uO`QUO,5={O`QUO,5=}O!IpQSO,5>PO`QUO,5>RO!IuQSO,5>UO!IzQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9kQ(C[O,5>dOOQQ,5>f,5>fO!NUQSO,5>fOOQQ,5>h,5>hO!NUQSO,5>hOOQQ,5>j,5>jO!NZQWO'#DYO%[QUO'#JmO!NxQWO'#JmO# gQWO'#DhO# xQWO'#DhO#$ZQUO'#DhO#$bQSO'#JlO#$jQSO,5:RO#$oQSO'#EnO#$}QSO'#JzO#%VQSO,5;XO#%[QWO'#DhO#%iQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%pQSO,5:lO>pQSO,5;SO!@}QWO,5;SO!AVQ,UO,5;SO:RQ,UO,5;SO#%xQSO,5@XO#%}Q!LQO,5:pOOQO-E<_-E<_O#'TQ(C`O,5:{OCnQWO,5:oO#'_QWO,5:oOCnQWO,5:{O!@rQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'lQ(C[O,5:{O#'wQ(C[O,5:{O!@}QWO,5:oOOQO,5;R,5;RO#(VQ(C[O,5:{POOO'#IU'#IUP#(kO?MpO,58zPOOO,58z,58zOOOO-EvO+}QUO,5>vOOQO,5>|,5>|O#)VQUO'#I[OOQO-EpQ(CjO1G0yO#>wQ(CjO1G0yO#@oQ(CjO1G0yO#CoQ$IUO'#CgO#EmQ$IUO1G1[O#EtQ$IUO'#JjO!,lQSO1G1bO#FUQ(CjO,5?SOOQ(CW-EkQSO1G3kO$1UQUO1G3mO$5YQUO'#HlOOQQ1G3p1G3pO$5gQSO'#HrO>pQSO'#HtOOQQ1G3v1G3vO$5oQUO1G3vO9kQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9kQ(C[O1G4QO9kQ(C[O1G4SO$9vQSO,5@XO!*fQUO,5;YO9ZQSO,5;YO>pQSO,5:SO!*fQUO,5:SO!@}QWO,5:SO$9{Q$IUO,5:SOOQO,5;Y,5;YO$:VQWO'#I]O$:mQSO,5@WOOQ(CY1G/m1G/mO$:uQWO'#IcO$;PQSO,5@fOOQ(CW1G0s1G0sO# xQWO,5:SOOQO'#I`'#I`O$;XQWO,5:nOOQ(CY,5:n,5:nO#%sQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>pQSO1G0nO!@}QWO1G0nO!AVQ,UO1G0nOOQ(CW1G5s1G5sO!@rQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$;`Q(C[O1G0gO$;kQ(C[O1G0gO!@}QWO1G0ZOCnQWO1G0ZO$;yQ(C[O1G0gOOQO1G0Z1G0ZO$<_Q(CjO1G0gPOOO-EvO$<{QSO1G5qO$=TQSO1G6OO$=]QbO1G6PO9ZQSO,5>|O$=gQ(CjO1G5|O%[QUO1G5|O$=wQ(C[O1G5|O$>YQSO1G5{O$>YQSO1G5{O9ZQSO1G5{O$>bQSO,5?PO9ZQSO,5?POOQO,5?P,5?PO$>vQSO,5?PO$'TQSO,5?POOQO-EWOOQQ,5>W,5>WO%[QUO'#HmO%6UQSO'#HoOOQQ,5>^,5>^O9ZQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%6ZQWO1G5sO%6oQ$IUO1G0tO%6yQSO1G0tOOQO1G/n1G/nO%7UQ$IUO1G/nO>pQSO1G/nO!*fQUO'#DhOOQO,5>w,5>wOOQO-E},5>}OOQO-EpQSO7+&YO!@}QWO7+&YOOQO7+%u7+%uO$<_Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%7`Q(C[O7+&RO!@rQ(C[O7+%uO!@}QWO7+%uO%7kQ(C[O7+&RO%7yQ(CjO7++hO%[QUO7++hO%8ZQSO7++gO%8ZQSO7++gOOQO1G4k1G4kO9ZQSO1G4kO%8cQSO1G4kOOQO7+%z7+%zO#%sQSO<xOOQO-E<[-E<[O%DoQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%DyQSO1G5uOOQ(CY<XOOQQ,5>Z,5>ZO&4ZQSO1G3xO9ZQSO7+&`O!*fQUO7+&`OOQO7+%Y7+%YO&4`Q$IUO1G6PO>pQSO7+%YOOQ(CY<pQSO<qQbO1G4eO&>{Q$IUO7+&ZO&APQ$IUO,5=QO&CWQ$IUO,5=SO&ChQ$IUO,5=QO&CxQ$IUO,5=SO&DYQ$IUO,59oO&F]Q$IUO,5pQSO7+)dO'%_QSO<{AN>{O%[QUOAN?XOOQO<a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#IpP#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:371,context:Gr,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[Nr],skippedNodes:[0,3,4,270],repeatNodeCount:37,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'}p(Q!b's(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(O#S$e&j't(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'}p(Q!b't(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'|$(n$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ(Q!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'}p(Q!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS(Q!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'}pOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'}pOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'}p(Q!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j(Q!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(Q!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(Q!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(Q!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j(Q!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#Dr[O]||-1},{term:334,get:O=>Br[O]||-1},{term:68,get:O=>Jr[O]||-1}],tokenPrec:14574}),JO=[P("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),P("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),P("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),P("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),P("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),P(`try { +import{S as bt,i as Xt,s as Yt,e as xt,f as kt,U as M,g as wt,y as Ae,o as yt,J as vt,K as Tt,L as Wt,I as _t,C as Ut,M as Ct}from"./index-47fb2c5c.js";import{P as qt,N as jt,v as zt,D as Rt,w as ye,T as ee,I as ve,x as B,y as l,z as Vt,L as J,A as L,B as C,F as K,G as Te,H as F,u as R,J as xO,K as kO,M as wO,E as U,O as yO,Q as P,R as Gt,U as Et,V as vO,W as At,X as It,a as V,h as Nt,b as Dt,c as Bt,d as Jt,e as Lt,s as Kt,t as Ft,f as Mt,g as Ht,r as ea,i as Oa,k as ta,j as aa,l as ra,m as ia,n as sa,o as oa,p as la,q as Ie,C as H}from"./index-9ee652b3.js";class re{constructor(e,a,t,r,s,i,o,n,Q,d=0,c){this.p=e,this.stack=a,this.state=t,this.reducePos=r,this.pos=s,this.score=i,this.buffer=o,this.bufferBase=n,this.curContext=Q,this.lookAhead=d,this.parent=c}toString(){return`[${this.stack.filter((e,a)=>a%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,a,t=0){let r=e.parser.context;return new re(e,[],a,t,t,0,[],0,r?new Ne(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,a){this.stack.push(this.state,a,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var a;let t=e>>19,r=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(r);if(i&&(this.score+=i),t==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r=2e3&&!(!((a=this.p.parser.nodeSet.types[r])===null||a===void 0)&&a.isAnonymous)&&(n==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=Q):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(r,n)}storeNode(e,a,t,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&i.buffer[o-4]==0&&i.buffer[o-1]>-1){if(a==t)return;if(i.buffer[o-2]>=a){i.buffer[o-2]=t;return}}}if(!s||this.pos==t)this.buffer.push(e,a,t,r);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>t;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,r>4&&(r-=4);this.buffer[i]=e,this.buffer[i+1]=a,this.buffer[i+2]=t,this.buffer[i+3]=r}}shift(e,a,t,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(a,t),a<=this.p.parser.maxNode&&this.buffer.push(a,t,r,4);else{let s=e,{parser:i}=this.p;(r>this.pos||a<=i.maxNode)&&(this.pos=r,i.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,t),this.shiftContext(a,t),a<=i.maxNode&&this.buffer.push(a,t,r,4)}}apply(e,a,t,r){e&65536?this.reduce(e):this.shift(e,a,t,r)}useNode(e,a){let t=this.p.reused.length-1;(t<0||this.p.reused[t]!=e)&&(this.p.reused.push(e),t++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(a,r),this.buffer.push(t,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,a=e.buffer.length;for(;a>0&&e.buffer[a-2]>e.reducePos;)a-=4;let t=e.buffer.slice(a),r=e.bufferBase+a;for(;e&&r==e.bufferBase;)e=e.parent;return new re(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,t,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,a){let t=e<=this.p.parser.maxNode;t&&this.storeNode(e,this.pos,a,4),this.storeNode(0,this.pos,a,t?8:4),this.pos=this.reducePos=a,this.score-=190}canShift(e){for(let a=new na(this);;){let t=this.p.parser.stateSlot(a.state,4)||this.p.parser.hasAction(a.state,e);if(t==0)return!1;if(!(t&65536))return!0;a.reduce(t)}}recoverByInsert(e){if(this.stack.length>=300)return[];let a=this.p.parser.nextStates(this.state);if(a.length>8||this.stack.length>=120){let r=[];for(let s=0,i;sn&1&&o==i)||r.push(a[s],i)}a=r}let t=[];for(let r=0;r>19,r=a&65535,s=this.stack.length-t*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let i=this.findForcedReduction();if(i==null)return!1;a=i}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(a),!0}findForcedReduction(){let{parser:e}=this.p,a=[],t=(r,s)=>{if(!a.includes(r))return a.push(r),e.allActions(r,i=>{if(!(i&393216))if(i&65536){let o=(i>>19)-s;if(o>1){let n=i&65535,Q=this.stack.length-o*3;if(Q>=0&&e.getGoto(this.stack[Q],n,!1)>=0)return o<<19|65536|n}}else{let o=t(i,s+1);if(o!=null)return o}})};return t(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let a=0;athis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Ne{constructor(e,a){this.tracker=e,this.context=a,this.hash=e.strict?e.hash(a):0}}class na{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let a=e&65535,t=e>>19;t==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(t-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],a,!0);this.state=r}}class ie{constructor(e,a,t){this.stack=e,this.pos=a,this.index=t,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,a=e.bufferBase+e.buffer.length){return new ie(e,a,a-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new ie(this.stack,this.pos,this.index)}}function I(O,e=Uint16Array){if(typeof O!="string")return O;let a=null;for(let t=0,r=0;t=92&&i--,i>=34&&i--;let n=i-32;if(n>=46&&(n-=46,o=!0),s+=n,o)break;s*=46}a?a[r++]=s:a=new e(s)}return a}class Oe{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const De=new Oe;class ca{constructor(e,a){this.input=e,this.ranges=a,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=De,this.rangeIndex=0,this.pos=this.chunkPos=a[0].from,this.range=a[0],this.end=a[a.length-1].to,this.readNext()}resolveOffset(e,a){let t=this.range,r=this.rangeIndex,s=this.pos+e;for(;st.to:s>=t.to;){if(r==this.ranges.length-1)return null;let i=this.ranges[++r];s+=i.from-t.to,t=i}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,a.from);return this.end}peek(e){let a=this.chunkOff+e,t,r;if(a>=0&&a=this.chunk2Pos&&to.to&&(this.chunk2=this.chunk2.slice(0,o.to-t)),r=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),r}acceptToken(e,a=0){let t=a?this.resolveOffset(a,-1):this.pos;if(t==null||t=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,a){if(a?(this.token=a,a.start=e,a.lookAhead=e+1,a.value=a.extended=-1):this.token=De,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&a<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,a-this.chunkPos);if(e>=this.chunk2Pos&&a<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,a-this.chunk2Pos);if(e>=this.range.from&&a<=this.range.to)return this.input.read(e,a);let t="";for(let r of this.ranges){if(r.from>=a)break;r.to>e&&(t+=this.input.read(Math.max(r.from,e),Math.min(r.to,a)))}return t}}class q{constructor(e,a){this.data=e,this.id=a}token(e,a){let{parser:t}=a.p;TO(this.data,e,a,this.id,t.data,t.tokenPrecTable)}}q.prototype.contextual=q.prototype.fallback=q.prototype.extend=!1;class se{constructor(e,a,t){this.precTable=a,this.elseToken=t,this.data=typeof e=="string"?I(e):e}token(e,a){let t=e.pos,r=0;for(;;){let s=e.next<0,i=e.resolveOffset(1,1);if(TO(this.data,e,a,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,i==null)break;e.reset(i,e.token)}r&&(e.reset(t,e.token),e.acceptToken(this.elseToken,r))}}se.prototype.contextual=q.prototype.fallback=q.prototype.extend=!1;class Y{constructor(e,a={}){this.token=e,this.contextual=!!a.contextual,this.fallback=!!a.fallback,this.extend=!!a.extend}}function TO(O,e,a,t,r,s){let i=0,o=1<0){let u=O[p];if(n.allows(u)&&(e.token.value==-1||e.token.value==u||Qa(u,e.token.value,r,s))){e.acceptToken(u);break}}let d=e.next,c=0,f=O[i+2];if(e.next<0&&f>c&&O[Q+f*3-3]==65535){i=O[Q+f*3-1];continue e}for(;c>1,u=Q+p+(p<<1),$=O[u],m=O[u+1]||65536;if(d<$)f=p;else if(d>=m)c=p+1;else{i=O[u+2],e.advance();continue e}}break}}function Be(O,e,a){for(let t=e,r;(r=O[t])!=65535;t++)if(r==a)return t-e;return-1}function Qa(O,e,a,t){let r=Be(a,t,e);return r<0||Be(a,t,O)e)&&!t.type.isError)return a<0?Math.max(0,Math.min(t.to-1,e-25)):Math.min(O.length,Math.max(t.from+1,e+25));if(a<0?t.prevSibling():t.nextSibling())break;if(!t.parent())return a<0?0:O.length}}class pa{constructor(e,a){this.fragments=e,this.nodeSet=a,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Je(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Je(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=i,null;if(s instanceof ee){if(i==e){if(i=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(i),this.index.push(0))}else this.index[a]++,this.nextStart=i+s.length}}}class da{constructor(e,a){this.stream=a,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(t=>new Oe)}getActions(e){let a=0,t=null,{parser:r}=e.p,{tokenizers:s}=r,i=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,n=0;for(let Q=0;Qc.end+25&&(n=Math.max(c.lookAhead,n)),c.value!=0)){let f=a;if(c.extended>-1&&(a=this.addActions(e,c.extended,c.end,a)),a=this.addActions(e,c.value,c.end,a),!d.extend&&(t=c,a>f))break}}for(;this.actions.length>a;)this.actions.pop();return n&&e.setLookAhead(n),!t&&e.pos==this.stream.end&&(t=new Oe,t.value=e.p.parser.eofTerm,t.start=t.end=e.pos,a=this.addActions(e,t.value,t.end,a)),this.mainToken=t,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let a=new Oe,{pos:t,p:r}=e;return a.start=t,a.end=Math.min(t+1,r.stream.end),a.value=t==r.stream.end?r.parser.eofTerm:0,a}updateCachedToken(e,a,t){let r=this.stream.clipPos(t.pos);if(a.token(this.stream.reset(r,e),t),e.value>-1){let{parser:s}=t.p;for(let i=0;i=0&&t.p.parser.dialect.allows(o>>1)){o&1?e.extended=o>>1:e.value=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,a,t,r){for(let s=0;se.bufferLength*4?new pa(t,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,a=this.minStackPos,t=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[i]=e;for(;i.forceReduce()&&i.stack.length&&i.stack[i.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;ia)t.push(o);else{if(this.advanceStack(o,t,e))continue;{r||(r=[],s=[]),r.push(o);let n=this.tokens.getMainToken(o);s.push(n.value,n.end)}}break}}if(!t.length){let i=r&&fa(r);if(i)return Z&&console.log("Finish with "+this.stackID(i)),this.stackToTree(i);if(this.parser.strict)throw Z&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+a);this.recovering||(this.recovering=5)}if(this.recovering&&r){let i=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,t);if(i)return Z&&console.log("Force-finish "+this.stackID(i)),this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(t.length>i)for(t.sort((o,n)=>n.score-o.score);t.length>i;)t.pop();t.some(o=>o.reducePos>a)&&this.recovering--}else if(t.length>1){e:for(let i=0;i500&&Q.buffer.length>500)if((o.score-Q.score||o.buffer.length-Q.buffer.length)>0)t.splice(n--,1);else{t.splice(i--,1);continue e}}}t.length>12&&t.splice(12,t.length-12)}this.minStackPos=t[0].pos;for(let i=1;i ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let Q=e.curContext&&e.curContext.tracker.strict,d=Q?e.curContext.hash:0;for(let c=this.fragments.nodeAt(r);c;){let f=this.parser.nodeSet.types[c.type.id]==c.type?s.getGoto(e.state,c.type.id):-1;if(f>-1&&c.length&&(!Q||(c.prop(ye.contextHash)||0)==d))return e.useNode(c,f),Z&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(c.type.id)})`),!0;if(!(c instanceof ee)||c.children.length==0||c.positions[0]>0)break;let p=c.children[0];if(p instanceof ee&&c.positions[0]==0)c=p;else break}}let o=s.stateSlot(e.state,4);if(o>0)return e.reduce(o),Z&&console.log(i+this.stackID(e)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let n=this.tokens.getActions(e);for(let Q=0;Qr?a.push(u):t.push(u)}return!1}advanceFully(e,a){let t=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>t)return Le(e,a),!0}}runRecovery(e,a,t){let r=null,s=!1;for(let i=0;i ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),Z&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,t))))continue;let c=o.split(),f=d;for(let p=0;c.forceReduce()&&p<10&&(Z&&console.log(f+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,t));p++)Z&&(f=this.stackID(c)+" -> ");for(let p of o.recoverByInsert(n))Z&&console.log(d+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,t);this.stream.end>o.pos?(Q==o.pos&&(Q++,n=0),o.recoverByDelete(n,Q),Z&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(n)})`),Le(o,t)):(!r||r.scoreO;class WO{constructor(e){this.start=e.start,this.shift=e.shift||he,this.reduce=e.reduce||he,this.reuse=e.reuse||he,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class T extends qt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let a=e.nodeNames.split(" ");this.minRepeatTerm=a.length;for(let o=0;oe.topRules[o][1]),r=[];for(let o=0;o=0)s(d,n,o[Q++]);else{let c=o[Q+-d];for(let f=-d;f>0;f--)s(o[Q++],n,c);Q++}}}this.nodeSet=new jt(a.map((o,n)=>zt.define({name:n>=this.minRepeatTerm?void 0:o,id:n,props:r[n],top:t.indexOf(n)>-1,error:n==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(n)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Rt;let i=I(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new q(i,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,a,t){let r=new ha(this,e,a,t);for(let s of this.wrappers)r=s(r,e,a,t);return r}getGoto(e,a,t=!1){let r=this.goto;if(a>=r[0])return-1;for(let s=r[a+1];;){let i=r[s++],o=i&1,n=r[s++];if(o&&t)return n;for(let Q=s+(i>>1);s0}validAction(e,a){return!!this.allActions(e,t=>t==a?!0:null)}allActions(e,a){let t=this.stateSlot(e,4),r=t?a(t):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=w(this.data,s+2);else break;r=a(w(this.data,s+1))}return r}nextStates(e){let a=[];for(let t=this.stateSlot(e,1);;t+=3){if(this.data[t]==65535)if(this.data[t+1]==1)t=w(this.data,t+2);else break;if(!(this.data[t+2]&1)){let r=this.data[t+1];a.some((s,i)=>i&1&&s==r)||a.push(this.data[t],r)}}return a}configure(e){let a=Object.assign(Object.create(T.prototype),this);if(e.props&&(a.nodeSet=this.nodeSet.extend(...e.props)),e.top){let t=this.topRules[e.top];if(!t)throw new RangeError(`Invalid top rule name ${e.top}`);a.top=t}return e.tokenizers&&(a.tokenizers=this.tokenizers.map(t=>{let r=e.tokenizers.find(s=>s.from==t);return r?r.to:t})),e.specializers&&(a.specializers=this.specializers.slice(),a.specializerSpecs=this.specializerSpecs.map((t,r)=>{let s=e.specializers.find(o=>o.from==t.external);if(!s)return t;let i=Object.assign(Object.assign({},t),{external:s.to});return a.specializers[r]=Ke(i),i})),e.contextTracker&&(a.context=e.contextTracker),e.dialect&&(a.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(a.strict=e.strict),e.wrap&&(a.wrappers=a.wrappers.concat(e.wrap)),e.bufferLength!=null&&(a.bufferLength=e.bufferLength),a}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let a=this.dynamicPrecedences;return a==null?0:a[e]||0}parseDialect(e){let a=Object.keys(this.dialects),t=a.map(()=>!1);if(e)for(let s of e.split(" ")){let i=a.indexOf(s);i>=0&&(t[i]=!0)}let r=null;for(let s=0;st)&&a.p.parser.stateFlag(a.state,2)&&(!e||e.scoreO.external(a,t)<<1|e}return O.get}const Sa=54,$a=1,ma=55,ga=2,Pa=56,Za=3,Fe=4,ba=5,oe=6,_O=7,UO=8,CO=9,qO=10,Xa=11,Ya=12,xa=13,ue=57,ka=14,Me=58,jO=20,wa=22,zO=23,ya=24,Xe=26,RO=27,va=28,Ta=31,Wa=34,_a=36,Ua=37,Ca=0,qa=1,ja={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},za={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},He={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ra(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function VO(O){return O==9||O==10||O==13||O==32}let eO=null,OO=null,tO=0;function Ye(O,e){let a=O.pos+e;if(tO==a&&OO==O)return eO;let t=O.peek(e);for(;VO(t);)t=O.peek(++e);let r="";for(;Ra(t);)r+=String.fromCharCode(t),t=O.peek(++e);return OO=O,tO=a,eO=r?r.toLowerCase():t==Va||t==Ga?void 0:null}const GO=60,le=62,We=47,Va=63,Ga=33,Ea=45;function aO(O,e){this.name=O,this.parent=e,this.hash=e?e.hash:0;for(let a=0;a-1?new aO(Ye(t,1)||"",O):O},reduce(O,e){return e==jO&&O?O.parent:O},reuse(O,e,a,t){let r=e.type.id;return r==oe||r==_a?new aO(Ye(t,1)||"",O):O},hash(O){return O?O.hash:0},strict:!1}),Na=new Y((O,e)=>{if(O.next!=GO){O.next<0&&e.context&&O.acceptToken(ue);return}O.advance();let a=O.next==We;a&&O.advance();let t=Ye(O,0);if(t===void 0)return;if(!t)return O.acceptToken(a?ka:oe);let r=e.context?e.context.name:null;if(a){if(t==r)return O.acceptToken(Xa);if(r&&za[r])return O.acceptToken(ue,-2);if(e.dialectEnabled(Ca))return O.acceptToken(Ya);for(let s=e.context;s;s=s.parent)if(s.name==t)return;O.acceptToken(xa)}else{if(t=="script")return O.acceptToken(_O);if(t=="style")return O.acceptToken(UO);if(t=="textarea")return O.acceptToken(CO);if(ja.hasOwnProperty(t))return O.acceptToken(qO);r&&He[r]&&He[r][t]?O.acceptToken(ue,-1):O.acceptToken(oe)}},{contextual:!0}),Da=new Y(O=>{for(let e=0,a=0;;a++){if(O.next<0){a&&O.acceptToken(Me);break}if(O.next==Ea)e++;else if(O.next==le&&e>=2){a>=3&&O.acceptToken(Me,-2);break}else e=0;O.advance()}});function Ba(O){for(;O;O=O.parent)if(O.name=="svg"||O.name=="math")return!0;return!1}const Ja=new Y((O,e)=>{if(O.next==We&&O.peek(1)==le){let a=e.dialectEnabled(qa)||Ba(e.context);O.acceptToken(a?ba:Fe,2)}else O.next==le&&O.acceptToken(Fe,1)});function _e(O,e,a){let t=2+O.length;return new Y(r=>{for(let s=0,i=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(e);break}if(s==0&&r.next==GO||s==1&&r.next==We||s>=2&&si?r.acceptToken(e,-i):r.acceptToken(a,-(i-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(e,1);break}else s=i=0;r.advance()}})}const La=_e("script",Sa,$a),Ka=_e("style",ma,ga),Fa=_e("textarea",Pa,Za),Ma=B({"Text RawText":l.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":l.angleBracket,TagName:l.tagName,"MismatchedCloseTag/TagName":[l.tagName,l.invalid],AttributeName:l.attributeName,"AttributeValue UnquotedAttributeValue":l.attributeValue,Is:l.definitionOperator,"EntityReference CharacterReference":l.character,Comment:l.blockComment,ProcessingInst:l.processingInstruction,DoctypeDecl:l.documentMeta}),Ha=T.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Ia,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Ma],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let Q=o.type.id;if(Q==va)return fe(o,n,a);if(Q==Ta)return fe(o,n,t);if(Q==Wa)return fe(o,n,r);if(Q==jO&&s.length){let d=o.node,c=d.firstChild,f=c&&rO(c,n),p;if(f){for(let u of s)if(u.tag==f&&(!u.attrs||u.attrs(p||(p=EO(d,n))))){let $=d.lastChild,m=$.type.id==Ua?$.from:d.to;if(m>c.to)return{parser:u.parser,overlay:[{from:c.to,to:m}]}}}}if(i&&Q==zO){let d=o.node,c;if(c=d.firstChild){let f=i[n.read(c.from,c.to)];if(f)for(let p of f){if(p.tagName&&p.tagName!=rO(d.parent,n))continue;let u=d.lastChild;if(u.type.id==Xe){let $=u.from+1,m=u.lastChild,X=u.to-(m&&m.isError?0:1);if(X>$)return{parser:p.parser,overlay:[{from:$,to:X}]}}else if(u.type.id==RO)return{parser:p.parser,overlay:[{from:u.from,to:u.to}]}}}}return null})}const er=96,iO=1,Or=97,tr=98,sO=2,IO=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ar=58,rr=40,NO=95,ir=91,te=45,sr=46,or=35,lr=37,nr=38,cr=92,Qr=10;function ne(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function pr(O){return O>=48&&O<=57}const dr=new Y((O,e)=>{for(let a=!1,t=0,r=0;;r++){let{next:s}=O;if(ne(s)||s==te||s==NO||a&&pr(s))!a&&(s!=te||r>0)&&(a=!0),t===r&&s==te&&t++,O.advance();else if(s==cr&&O.peek(1)!=Qr)O.advance(),O.next>-1&&O.advance(),a=!0;else{a&&O.acceptToken(s==rr?Or:t==2&&e.canShift(sO)?sO:tr);break}}}),hr=new Y(O=>{if(IO.includes(O.peek(-1))){let{next:e}=O;(ne(e)||e==NO||e==or||e==sr||e==ir||e==ar||e==te||e==nr)&&O.acceptToken(er)}}),ur=new Y(O=>{if(!IO.includes(O.peek(-1))){let{next:e}=O;if(e==lr&&(O.advance(),O.acceptToken(iO)),ne(e)){do O.advance();while(ne(O.next));O.acceptToken(iO)}}}),fr=B({"AtKeyword import charset namespace keyframes media supports":l.definitionKeyword,"from to selector":l.keyword,NamespaceName:l.namespace,KeyframeName:l.labelName,KeyframeRangeName:l.operatorKeyword,TagName:l.tagName,ClassName:l.className,PseudoClassName:l.constant(l.className),IdName:l.labelName,"FeatureName PropertyName":l.propertyName,AttributeName:l.attributeName,NumberLiteral:l.number,KeywordQuery:l.keyword,UnaryQueryOp:l.operatorKeyword,"CallTag ValueName":l.atom,VariableName:l.variableName,Callee:l.operatorKeyword,Unit:l.unit,"UniversalSelector NestingSelector":l.definitionOperator,MatchOp:l.compareOperator,"ChildOp SiblingOp, LogicOp":l.logicOperator,BinOp:l.arithmeticOperator,Important:l.modifier,Comment:l.blockComment,ColorLiteral:l.color,"ParenthesizedContent StringLiteral":l.string,":":l.punctuation,"PseudoOp #":l.derefOperator,"; ,":l.separator,"( )":l.paren,"[ ]":l.squareBracket,"{ }":l.brace}),Sr={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},$r={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},mr={__proto__:null,not:128,only:128},gr=T.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[hr,ur,dr,1,2,3,4,new se("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:O=>Sr[O]||-1},{term:56,get:O=>$r[O]||-1},{term:98,get:O=>mr[O]||-1}],tokenPrec:1169});let Se=null;function $e(){if(!Se&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],a=new Set;for(let t in O)t!="cssText"&&t!="cssFloat"&&typeof O[t]=="string"&&(/[A-Z]/.test(t)&&(t=t.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),a.has(t)||(e.push(t),a.add(t)));Se=e.sort().map(t=>({type:"property",label:t}))}return Se||[]}const oO=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(O=>({type:"class",label:O})),lO=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(O=>({type:"keyword",label:O})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(O=>({type:"constant",label:O}))),Pr=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(O=>({type:"type",label:O})),v=/^(\w[\w-]*|-\w[\w-]*|)$/,Zr=/^-(-[\w-]*)?$/;function br(O,e){var a;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let t=(a=O.parent)===null||a===void 0?void 0:a.firstChild;return(t==null?void 0:t.name)!="Callee"?!1:e.sliceString(t.from,t.to)=="var"}const nO=new xO,Xr=["Declaration"];function Yr(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function DO(O,e,a){if(e.to-e.from>4096){let t=nO.get(e);if(t)return t;let r=[],s=new Set,i=e.cursor(ve.IncludeAnonymous);if(i.firstChild())do for(let o of DO(O,i.node,a))s.has(o.label)||(s.add(o.label),r.push(o));while(i.nextSibling());return nO.set(e,r),r}else{let t=[],r=new Set;return e.cursor().iterate(s=>{var i;if(a(s)&&s.matchContext(Xr)&&((i=s.node.nextSibling)===null||i===void 0?void 0:i.name)==":"){let o=O.sliceString(s.from,s.to);r.has(o)||(r.add(o),t.push({label:o,type:"variable"}))}}),t}}const xr=O=>e=>{let{state:a,pos:t}=e,r=R(a).resolveInner(t,-1),s=r.type.isError&&r.from==r.to-1&&a.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:$e(),validFor:v};if(r.name=="ValueName")return{from:r.from,options:lO,validFor:v};if(r.name=="PseudoClassName")return{from:r.from,options:oO,validFor:v};if(O(r)||(e.explicit||s)&&br(r,a.doc))return{from:O(r)||s?r.from:t,options:DO(a.doc,Yr(r),O),validFor:Zr};if(r.name=="TagName"){for(let{parent:n}=r;n;n=n.parent)if(n.name=="Block")return{from:r.from,options:$e(),validFor:v};return{from:r.from,options:Pr,validFor:v}}if(!e.explicit)return null;let i=r.resolve(t),o=i.childBefore(t);return o&&o.name==":"&&i.name=="PseudoClassSelector"?{from:t,options:oO,validFor:v}:o&&o.name==":"&&i.name=="Declaration"||i.name=="ArgList"?{from:t,options:lO,validFor:v}:i.name=="Block"||i.name=="Styles"?{from:t,options:$e(),validFor:v}:null},kr=xr(O=>O.name=="VariableName"),ce=J.define({name:"css",parser:gr.configure({props:[L.add({Declaration:C()}),K.add({"Block KeyframeList":Te})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function wr(){return new F(ce,ce.data.of({autocomplete:kr}))}const yr=308,cO=1,vr=2,Tr=309,Wr=311,_r=312,Ur=3,Cr=4,qr=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],BO=125,jr=59,QO=47,zr=42,Rr=43,Vr=45,Gr=new WO({start:!1,shift(O,e){return e==Ur||e==Cr||e==Wr?O:e==_r},strict:!1}),Er=new Y((O,e)=>{let{next:a}=O;(a==BO||a==-1||e.context)&&O.acceptToken(Tr)},{contextual:!0,fallback:!0}),Ar=new Y((O,e)=>{let{next:a}=O,t;qr.indexOf(a)>-1||a==QO&&((t=O.peek(1))==QO||t==zr)||a!=BO&&a!=jr&&a!=-1&&!e.context&&O.acceptToken(yr)},{contextual:!0}),Ir=new Y((O,e)=>{let{next:a}=O;if((a==Rr||a==Vr)&&(O.advance(),a==O.next)){O.advance();let t=!e.context&&e.canShift(cO);O.acceptToken(t?cO:vr)}},{contextual:!0}),Nr=B({"get set async static":l.modifier,"for while do if else switch try catch finally return throw break continue default case":l.controlKeyword,"in of await yield void typeof delete instanceof":l.operatorKeyword,"let var const using function class extends":l.definitionKeyword,"import export from":l.moduleKeyword,"with debugger as new":l.keyword,TemplateString:l.special(l.string),super:l.atom,BooleanLiteral:l.bool,this:l.self,null:l.null,Star:l.modifier,VariableName:l.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":l.function(l.variableName),VariableDefinition:l.definition(l.variableName),Label:l.labelName,PropertyName:l.propertyName,PrivatePropertyName:l.special(l.propertyName),"CallExpression/MemberExpression/PropertyName":l.function(l.propertyName),"FunctionDeclaration/VariableDefinition":l.function(l.definition(l.variableName)),"ClassDeclaration/VariableDefinition":l.definition(l.className),PropertyDefinition:l.definition(l.propertyName),PrivatePropertyDefinition:l.definition(l.special(l.propertyName)),UpdateOp:l.updateOperator,"LineComment Hashbang":l.lineComment,BlockComment:l.blockComment,Number:l.number,String:l.string,Escape:l.escape,ArithOp:l.arithmeticOperator,LogicOp:l.logicOperator,BitOp:l.bitwiseOperator,CompareOp:l.compareOperator,RegExp:l.regexp,Equals:l.definitionOperator,Arrow:l.function(l.punctuation),": Spread":l.punctuation,"( )":l.paren,"[ ]":l.squareBracket,"{ }":l.brace,"InterpolationStart InterpolationEnd":l.special(l.brace),".":l.derefOperator,", ;":l.separator,"@":l.meta,TypeName:l.typeName,TypeDefinition:l.definition(l.typeName),"type enum interface implements namespace module declare":l.definitionKeyword,"abstract global Privacy readonly override":l.modifier,"is keyof unique infer":l.operatorKeyword,JSXAttributeValue:l.attributeValue,JSXText:l.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":l.angleBracket,"JSXIdentifier JSXNameSpacedName":l.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":l.attributeName,"JSXBuiltin/JSXIdentifier":l.standard(l.tagName)}),Dr={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},Br={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},Jr={__proto__:null,"<":139},Lr=T.deserialize({version:14,states:"$RQSO'#CcO>cQSO'#HZO>kQSO'#HaO>kQSO'#HcO`QUO'#HeO>kQSO'#HgO>kQSO'#HjO>pQSO'#HpO>uQ(C]O'#HvO%[QUO'#HxO?QQ(C]O'#HzO?]Q(C]O'#H|O9kQ(C[O'#IOO?hQ(CjO'#CgO@jQWO'#DgQOQSOOO%[QUO'#D}OAQQSO'#EQO:RQ,UO'#EhOA]QSO'#EhOAhQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Jm'#JmO%[QUO'#JmOOQO'#Jq'#JqOOQO'#Ia'#IaOBhQWO'#EaOOQ(CW'#E`'#E`OCdQ(C`O'#EaOCnQWO'#ETOOQO'#Jp'#JpODSQWO'#JqOEaQWO'#ETOCnQWO'#EaPEnO?MpO'#C`POOO)CDt)CDtOOOO'#IW'#IWOEyOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFXO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFgO07`O,59vOOQ(CY,59v,59vOFuQUO'#I[OGYQSO'#JkOI[QbO'#JkO+}QUO'#JkOIcQSO,59|OIyQSO'#EjOJWQSO'#JyOJcQSO'#JxOJcQSO'#JxOJkQSO,5;WOJpQSO'#JwOOQ(CY,5:X,5:XOJwQUO,5:XOLxQ(CjO,5:cOMiQSO,5:kONSQ(C[O'#JvONZQSO'#JuO9ZQSO'#JuONoQSO'#JuONwQSO,5;VON|QSO'#JuO!#UQbO'#JjOOQ(CY'#Cg'#CgO%[QUO'#EPO!#tQ`O,5:pOOQO'#Jr'#JrOOQO-ElOOQQ'#J_'#J_OOQQ,5>m,5>mOOQQ-EpQSO'#HPO9aQSO'#HRO!CgQSO'#HRO:RQ,UO'#HTO!ClQSO'#HTOOQQ,5=i,5=iO!CqQSO'#HUO!DSQSO'#CmO!DXQSO,58}O!DcQSO,58}O!FhQUO,58}OOQQ,58},58}O!FxQ(C[O,58}O%[QUO,58}O!ITQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IkQSO,5=uO`QUO,5={O`QUO,5=}O!IpQSO,5>PO`QUO,5>RO!IuQSO,5>UO!IzQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9kQ(C[O,5>dOOQQ,5>f,5>fO!NUQSO,5>fOOQQ,5>h,5>hO!NUQSO,5>hOOQQ,5>j,5>jO!NZQWO'#DYO%[QUO'#JmO!NxQWO'#JmO# gQWO'#DhO# xQWO'#DhO#$ZQUO'#DhO#$bQSO'#JlO#$jQSO,5:RO#$oQSO'#EnO#$}QSO'#JzO#%VQSO,5;XO#%[QWO'#DhO#%iQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%pQSO,5:lO>pQSO,5;SO!@}QWO,5;SO!AVQ,UO,5;SO:RQ,UO,5;SO#%xQSO,5@XO#%}Q!LQO,5:pOOQO-E<_-E<_O#'TQ(C`O,5:{OCnQWO,5:oO#'_QWO,5:oOCnQWO,5:{O!@rQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'lQ(C[O,5:{O#'wQ(C[O,5:{O!@}QWO,5:oOOQO,5;R,5;RO#(VQ(C[O,5:{POOO'#IU'#IUP#(kO?MpO,58zPOOO,58z,58zOOOO-EvO+}QUO,5>vOOQO,5>|,5>|O#)VQUO'#I[OOQO-EpQ(CjO1G0yO#>wQ(CjO1G0yO#@oQ(CjO1G0yO#CoQ$IUO'#CgO#EmQ$IUO1G1[O#EtQ$IUO'#JjO!,lQSO1G1bO#FUQ(CjO,5?SOOQ(CW-EkQSO1G3kO$1UQUO1G3mO$5YQUO'#HlOOQQ1G3p1G3pO$5gQSO'#HrO>pQSO'#HtOOQQ1G3v1G3vO$5oQUO1G3vO9kQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9kQ(C[O1G4QO9kQ(C[O1G4SO$9vQSO,5@XO!*fQUO,5;YO9ZQSO,5;YO>pQSO,5:SO!*fQUO,5:SO!@}QWO,5:SO$9{Q$IUO,5:SOOQO,5;Y,5;YO$:VQWO'#I]O$:mQSO,5@WOOQ(CY1G/m1G/mO$:uQWO'#IcO$;PQSO,5@fOOQ(CW1G0s1G0sO# xQWO,5:SOOQO'#I`'#I`O$;XQWO,5:nOOQ(CY,5:n,5:nO#%sQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>pQSO1G0nO!@}QWO1G0nO!AVQ,UO1G0nOOQ(CW1G5s1G5sO!@rQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$;`Q(C[O1G0gO$;kQ(C[O1G0gO!@}QWO1G0ZOCnQWO1G0ZO$;yQ(C[O1G0gOOQO1G0Z1G0ZO$<_Q(CjO1G0gPOOO-EvO$<{QSO1G5qO$=TQSO1G6OO$=]QbO1G6PO9ZQSO,5>|O$=gQ(CjO1G5|O%[QUO1G5|O$=wQ(C[O1G5|O$>YQSO1G5{O$>YQSO1G5{O9ZQSO1G5{O$>bQSO,5?PO9ZQSO,5?POOQO,5?P,5?PO$>vQSO,5?PO$'TQSO,5?POOQO-EWOOQQ,5>W,5>WO%[QUO'#HmO%6UQSO'#HoOOQQ,5>^,5>^O9ZQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%6ZQWO1G5sO%6oQ$IUO1G0tO%6yQSO1G0tOOQO1G/n1G/nO%7UQ$IUO1G/nO>pQSO1G/nO!*fQUO'#DhOOQO,5>w,5>wOOQO-E},5>}OOQO-EpQSO7+&YO!@}QWO7+&YOOQO7+%u7+%uO$<_Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%7`Q(C[O7+&RO!@rQ(C[O7+%uO!@}QWO7+%uO%7kQ(C[O7+&RO%7yQ(CjO7++hO%[QUO7++hO%8ZQSO7++gO%8ZQSO7++gOOQO1G4k1G4kO9ZQSO1G4kO%8cQSO1G4kOOQO7+%z7+%zO#%sQSO<xOOQO-E<[-E<[O%DoQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%DyQSO1G5uOOQ(CY<XOOQQ,5>Z,5>ZO&4ZQSO1G3xO9ZQSO7+&`O!*fQUO7+&`OOQO7+%Y7+%YO&4`Q$IUO1G6PO>pQSO7+%YOOQ(CY<pQSO<qQbO1G4eO&>{Q$IUO7+&ZO&APQ$IUO,5=QO&CWQ$IUO,5=SO&ChQ$IUO,5=QO&CxQ$IUO,5=SO&DYQ$IUO,59oO&F]Q$IUO,5pQSO7+)dO'%_QSO<{AN>{O%[QUOAN?XOOQO<a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#IpP#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:371,context:Gr,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[Nr],skippedNodes:[0,3,4,270],repeatNodeCount:37,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'}pOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'}pOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'}p(Q!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'}p(Q!b's(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(O#S$e&j't(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'}p(Q!b't(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'|$(n$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j(Q!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j(Q!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ(Q!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t(Q!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'}p(Q!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS(Q!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'}pOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'}pOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'}p(Q!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j(Q!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(Q!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(Q!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(Q!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j(Q!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$e&j'}p(Q!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'}p(Q!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#Dr[O]||-1},{term:334,get:O=>Br[O]||-1},{term:68,get:O=>Jr[O]||-1}],tokenPrec:14574}),JO=[P("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),P("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),P("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),P("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),P("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),P(`try { \${} } catch (\${error}) { \${} diff --git a/ui/dist/assets/ConfirmEmailChangeDocs-85d86558.js b/ui/dist/assets/ConfirmEmailChangeDocs-e73efe55.js similarity index 97% rename from ui/dist/assets/ConfirmEmailChangeDocs-85d86558.js rename to ui/dist/assets/ConfirmEmailChangeDocs-e73efe55.js index 233fa0f8..ff95e66e 100644 --- a/ui/dist/assets/ConfirmEmailChangeDocs-85d86558.js +++ b/ui/dist/assets/ConfirmEmailChangeDocs-e73efe55.js @@ -1,4 +1,4 @@ -import{S as Pe,i as Se,s as Oe,O as Y,e as r,w as v,b as k,c as Ce,f as b,g as d,h as n,m as $e,x as j,P as _e,Q as ye,k as Re,R as Te,n as Ee,t as ee,a as te,o as m,d as we,C as qe,p as Ae,r as H,u as Be,N as Ue}from"./index-09db7a88.js";import{S as De}from"./SdkTabs-f85ceb47.js";function he(o,l,s){const a=o.slice();return a[5]=l[s],a}function ke(o,l,s){const a=o.slice();return a[5]=l[s],a}function ge(o,l){let s,a=l[5].code+"",_,u,i,p;function f(){return l[4](l[5])}return{key:o,first:null,c(){s=r("button"),_=v(a),u=k(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(C,$){d(C,s,$),n(s,_),n(s,u),i||(p=Be(s,"click",f),i=!0)},p(C,$){l=C,$&4&&a!==(a=l[5].code+"")&&j(_,a),$&6&&H(s,"active",l[1]===l[5].code)},d(C){C&&m(s),i=!1,p()}}}function ve(o,l){let s,a,_,u;return a=new Ue({props:{content:l[5].body}}),{key:o,first:null,c(){s=r("div"),Ce(a.$$.fragment),_=k(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(i,p){d(i,s,p),$e(a,s,null),n(s,_),u=!0},p(i,p){l=i;const f={};p&4&&(f.content=l[5].body),a.$set(f),(!u||p&6)&&H(s,"active",l[1]===l[5].code)},i(i){u||(ee(a.$$.fragment,i),u=!0)},o(i){te(a.$$.fragment,i),u=!1},d(i){i&&m(s),we(a)}}}function Ne(o){var pe,fe;let l,s,a=o[0].name+"",_,u,i,p,f,C,$,D=o[0].name+"",F,le,se,I,L,w,Q,y,z,P,N,ae,K,R,ne,G,M=o[0].name+"",J,oe,V,T,X,E,Z,q,x,S,A,g=[],ie=new Map,ce,B,h=[],re=new Map,O;w=new De({props:{js:` +import{S as Pe,i as Se,s as Oe,O as Y,e as r,w as v,b as k,c as Ce,f as b,g as d,h as n,m as $e,x as j,P as _e,Q as ye,k as Re,R as Te,n as Ee,t as ee,a as te,o as m,d as we,C as qe,p as Ae,r as H,u as Be,N as Ue}from"./index-47fb2c5c.js";import{S as De}from"./SdkTabs-13ccb207.js";function he(o,l,s){const a=o.slice();return a[5]=l[s],a}function ke(o,l,s){const a=o.slice();return a[5]=l[s],a}function ge(o,l){let s,a=l[5].code+"",_,u,i,p;function f(){return l[4](l[5])}return{key:o,first:null,c(){s=r("button"),_=v(a),u=k(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(C,$){d(C,s,$),n(s,_),n(s,u),i||(p=Be(s,"click",f),i=!0)},p(C,$){l=C,$&4&&a!==(a=l[5].code+"")&&j(_,a),$&6&&H(s,"active",l[1]===l[5].code)},d(C){C&&m(s),i=!1,p()}}}function ve(o,l){let s,a,_,u;return a=new Ue({props:{content:l[5].body}}),{key:o,first:null,c(){s=r("div"),Ce(a.$$.fragment),_=k(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(i,p){d(i,s,p),$e(a,s,null),n(s,_),u=!0},p(i,p){l=i;const f={};p&4&&(f.content=l[5].body),a.$set(f),(!u||p&6)&&H(s,"active",l[1]===l[5].code)},i(i){u||(ee(a.$$.fragment,i),u=!0)},o(i){te(a.$$.fragment,i),u=!1},d(i){i&&m(s),we(a)}}}function Ne(o){var pe,fe;let l,s,a=o[0].name+"",_,u,i,p,f,C,$,D=o[0].name+"",F,le,se,I,L,w,Q,y,z,P,N,ae,K,R,ne,G,M=o[0].name+"",J,oe,V,T,X,E,Z,q,x,S,A,g=[],ie=new Map,ce,B,h=[],re=new Map,O;w=new De({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/ConfirmPasswordResetDocs-e404475e.js b/ui/dist/assets/ConfirmPasswordResetDocs-af973f8a.js similarity index 98% rename from ui/dist/assets/ConfirmPasswordResetDocs-e404475e.js rename to ui/dist/assets/ConfirmPasswordResetDocs-af973f8a.js index 3203f9ec..00f1ef9b 100644 --- a/ui/dist/assets/ConfirmPasswordResetDocs-e404475e.js +++ b/ui/dist/assets/ConfirmPasswordResetDocs-af973f8a.js @@ -1,4 +1,4 @@ -import{S as Ne,i as $e,s as Ce,O as K,e as c,w,b as k,c as Re,f as b,g as r,h as n,m as Ae,x as U,P as we,Q as Ee,k as ye,R as De,n as Te,t as ee,a as te,o as p,d as Oe,C as qe,p as Be,r as j,u as Me,N as Fe}from"./index-09db7a88.js";import{S as Ie}from"./SdkTabs-f85ceb47.js";function Se(o,l,s){const a=o.slice();return a[5]=l[s],a}function Pe(o,l,s){const a=o.slice();return a[5]=l[s],a}function We(o,l){let s,a=l[5].code+"",_,m,i,u;function f(){return l[4](l[5])}return{key:o,first:null,c(){s=c("button"),_=w(a),m=k(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(S,P){r(S,s,P),n(s,_),n(s,m),i||(u=Me(s,"click",f),i=!0)},p(S,P){l=S,P&4&&a!==(a=l[5].code+"")&&U(_,a),P&6&&j(s,"active",l[1]===l[5].code)},d(S){S&&p(s),i=!1,u()}}}function ge(o,l){let s,a,_,m;return a=new Fe({props:{content:l[5].body}}),{key:o,first:null,c(){s=c("div"),Re(a.$$.fragment),_=k(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(i,u){r(i,s,u),Ae(a,s,null),n(s,_),m=!0},p(i,u){l=i;const f={};u&4&&(f.content=l[5].body),a.$set(f),(!m||u&6)&&j(s,"active",l[1]===l[5].code)},i(i){m||(ee(a.$$.fragment,i),m=!0)},o(i){te(a.$$.fragment,i),m=!1},d(i){i&&p(s),Oe(a)}}}function Ke(o){var ue,fe,me,be;let l,s,a=o[0].name+"",_,m,i,u,f,S,P,q=o[0].name+"",H,le,se,L,Q,W,z,O,G,g,B,ae,M,N,oe,J,F=o[0].name+"",V,ne,X,$,Y,C,Z,E,x,R,y,v=[],ie=new Map,de,D,h=[],ce=new Map,A;W=new Ie({props:{js:` +import{S as Ne,i as $e,s as Ce,O as K,e as c,w,b as k,c as Re,f as b,g as r,h as n,m as Ae,x as U,P as we,Q as Ee,k as ye,R as De,n as Te,t as ee,a as te,o as p,d as Oe,C as qe,p as Be,r as j,u as Me,N as Fe}from"./index-47fb2c5c.js";import{S as Ie}from"./SdkTabs-13ccb207.js";function Se(o,l,s){const a=o.slice();return a[5]=l[s],a}function Pe(o,l,s){const a=o.slice();return a[5]=l[s],a}function We(o,l){let s,a=l[5].code+"",_,m,i,u;function f(){return l[4](l[5])}return{key:o,first:null,c(){s=c("button"),_=w(a),m=k(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(S,P){r(S,s,P),n(s,_),n(s,m),i||(u=Me(s,"click",f),i=!0)},p(S,P){l=S,P&4&&a!==(a=l[5].code+"")&&U(_,a),P&6&&j(s,"active",l[1]===l[5].code)},d(S){S&&p(s),i=!1,u()}}}function ge(o,l){let s,a,_,m;return a=new Fe({props:{content:l[5].body}}),{key:o,first:null,c(){s=c("div"),Re(a.$$.fragment),_=k(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(i,u){r(i,s,u),Ae(a,s,null),n(s,_),m=!0},p(i,u){l=i;const f={};u&4&&(f.content=l[5].body),a.$set(f),(!m||u&6)&&j(s,"active",l[1]===l[5].code)},i(i){m||(ee(a.$$.fragment,i),m=!0)},o(i){te(a.$$.fragment,i),m=!1},d(i){i&&p(s),Oe(a)}}}function Ke(o){var ue,fe,me,be;let l,s,a=o[0].name+"",_,m,i,u,f,S,P,q=o[0].name+"",H,le,se,L,Q,W,z,O,G,g,B,ae,M,N,oe,J,F=o[0].name+"",V,ne,X,$,Y,C,Z,E,x,R,y,v=[],ie=new Map,de,D,h=[],ce=new Map,A;W=new Ie({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/ConfirmVerificationDocs-561dfc32.js b/ui/dist/assets/ConfirmVerificationDocs-89d0a5fc.js similarity index 97% rename from ui/dist/assets/ConfirmVerificationDocs-561dfc32.js rename to ui/dist/assets/ConfirmVerificationDocs-89d0a5fc.js index 2aff8bb7..caf44d80 100644 --- a/ui/dist/assets/ConfirmVerificationDocs-561dfc32.js +++ b/ui/dist/assets/ConfirmVerificationDocs-89d0a5fc.js @@ -1,4 +1,4 @@ -import{S as Se,i as Te,s as Be,O as D,e as r,w as g,b as k,c as ye,f as h,g as f,h as n,m as Ce,x as H,P as ke,Q as Re,k as qe,R as Oe,n as Ee,t as x,a as ee,o as d,d as Pe,C as Ne,p as Ve,r as F,u as Ke,N as Me}from"./index-09db7a88.js";import{S as Ae}from"./SdkTabs-f85ceb47.js";function ve(o,l,s){const a=o.slice();return a[5]=l[s],a}function ge(o,l,s){const a=o.slice();return a[5]=l[s],a}function we(o,l){let s,a=l[5].code+"",b,m,i,p;function u(){return l[4](l[5])}return{key:o,first:null,c(){s=r("button"),b=g(a),m=k(),h(s,"class","tab-item"),F(s,"active",l[1]===l[5].code),this.first=s},m(w,$){f(w,s,$),n(s,b),n(s,m),i||(p=Ke(s,"click",u),i=!0)},p(w,$){l=w,$&4&&a!==(a=l[5].code+"")&&H(b,a),$&6&&F(s,"active",l[1]===l[5].code)},d(w){w&&d(s),i=!1,p()}}}function $e(o,l){let s,a,b,m;return a=new Me({props:{content:l[5].body}}),{key:o,first:null,c(){s=r("div"),ye(a.$$.fragment),b=k(),h(s,"class","tab-item"),F(s,"active",l[1]===l[5].code),this.first=s},m(i,p){f(i,s,p),Ce(a,s,null),n(s,b),m=!0},p(i,p){l=i;const u={};p&4&&(u.content=l[5].body),a.$set(u),(!m||p&6)&&F(s,"active",l[1]===l[5].code)},i(i){m||(x(a.$$.fragment,i),m=!0)},o(i){ee(a.$$.fragment,i),m=!1},d(i){i&&d(s),Pe(a)}}}function Ue(o){var fe,de,pe,ue;let l,s,a=o[0].name+"",b,m,i,p,u,w,$,K=o[0].name+"",I,te,L,y,Q,T,z,C,M,le,A,B,se,G,U=o[0].name+"",J,ae,W,R,X,q,Y,O,Z,P,E,v=[],oe=new Map,ne,N,_=[],ie=new Map,S;y=new Ae({props:{js:` +import{S as Se,i as Te,s as Be,O as D,e as r,w as g,b as k,c as ye,f as h,g as f,h as n,m as Ce,x as H,P as ke,Q as Re,k as qe,R as Oe,n as Ee,t as x,a as ee,o as d,d as Pe,C as Ne,p as Ve,r as F,u as Ke,N as Me}from"./index-47fb2c5c.js";import{S as Ae}from"./SdkTabs-13ccb207.js";function ve(o,l,s){const a=o.slice();return a[5]=l[s],a}function ge(o,l,s){const a=o.slice();return a[5]=l[s],a}function we(o,l){let s,a=l[5].code+"",b,m,i,p;function u(){return l[4](l[5])}return{key:o,first:null,c(){s=r("button"),b=g(a),m=k(),h(s,"class","tab-item"),F(s,"active",l[1]===l[5].code),this.first=s},m(w,$){f(w,s,$),n(s,b),n(s,m),i||(p=Ke(s,"click",u),i=!0)},p(w,$){l=w,$&4&&a!==(a=l[5].code+"")&&H(b,a),$&6&&F(s,"active",l[1]===l[5].code)},d(w){w&&d(s),i=!1,p()}}}function $e(o,l){let s,a,b,m;return a=new Me({props:{content:l[5].body}}),{key:o,first:null,c(){s=r("div"),ye(a.$$.fragment),b=k(),h(s,"class","tab-item"),F(s,"active",l[1]===l[5].code),this.first=s},m(i,p){f(i,s,p),Ce(a,s,null),n(s,b),m=!0},p(i,p){l=i;const u={};p&4&&(u.content=l[5].body),a.$set(u),(!m||p&6)&&F(s,"active",l[1]===l[5].code)},i(i){m||(x(a.$$.fragment,i),m=!0)},o(i){ee(a.$$.fragment,i),m=!1},d(i){i&&d(s),Pe(a)}}}function Ue(o){var fe,de,pe,ue;let l,s,a=o[0].name+"",b,m,i,p,u,w,$,K=o[0].name+"",I,te,L,y,Q,T,z,C,M,le,A,B,se,G,U=o[0].name+"",J,ae,W,R,X,q,Y,O,Z,P,E,v=[],oe=new Map,ne,N,_=[],ie=new Map,S;y=new Ae({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/CreateApiDocs-cd80de7a.js b/ui/dist/assets/CreateApiDocs-12f09d7b.js similarity index 98% rename from ui/dist/assets/CreateApiDocs-cd80de7a.js rename to ui/dist/assets/CreateApiDocs-12f09d7b.js index 7603f7a9..e916a4c8 100644 --- a/ui/dist/assets/CreateApiDocs-cd80de7a.js +++ b/ui/dist/assets/CreateApiDocs-12f09d7b.js @@ -1,4 +1,4 @@ -import{S as qt,i as Ot,s as Mt,C as Q,O as ne,N as Tt,e as i,w as _,b as u,c as _e,f as v,g as r,h as n,m as he,x,P as Be,Q as ht,k as Ht,R as Lt,n as Pt,t as ue,a as fe,o as d,d as ke,p as Ft,r as ye,u as Rt,y as ae}from"./index-09db7a88.js";import{S as At}from"./SdkTabs-f85ceb47.js";import{F as Bt}from"./FieldsQueryParam-8145215c.js";function kt(o,e,t){const a=o.slice();return a[8]=e[t],a}function yt(o,e,t){const a=o.slice();return a[8]=e[t],a}function vt(o,e,t){const a=o.slice();return a[13]=e[t],a}function gt(o){let e;return{c(){e=i("p"),e.innerHTML="Requires admin Authorization:TOKEN header",v(e,"class","txt-hint txt-sm txt-right")},m(t,a){r(t,e,a)},d(t){t&&d(e)}}}function wt(o){let e,t,a,f,m,c,p,y,S,T,w,H,D,E,P,I,j,B,$,N,q,g,b;function O(h,C){var ee,K;return(K=(ee=h[0])==null?void 0:ee.options)!=null&&K.requireEmail?Dt:jt}let z=O(o),F=z(o);return{c(){e=i("tr"),e.innerHTML='Auth fields',t=u(),a=i("tr"),a.innerHTML=`
Optional username
String The username of the auth record. +import{S as qt,i as Ot,s as Mt,C as Q,O as ne,N as Tt,e as i,w as _,b as u,c as _e,f as v,g as r,h as n,m as he,x,P as Be,Q as ht,k as Ht,R as Lt,n as Pt,t as ue,a as fe,o as d,d as ke,p as Ft,r as ye,u as Rt,y as ae}from"./index-47fb2c5c.js";import{S as At}from"./SdkTabs-13ccb207.js";import{F as Bt}from"./FieldsQueryParam-e970c01f.js";function kt(o,e,t){const a=o.slice();return a[8]=e[t],a}function yt(o,e,t){const a=o.slice();return a[8]=e[t],a}function vt(o,e,t){const a=o.slice();return a[13]=e[t],a}function gt(o){let e;return{c(){e=i("p"),e.innerHTML="Requires admin Authorization:TOKEN header",v(e,"class","txt-hint txt-sm txt-right")},m(t,a){r(t,e,a)},d(t){t&&d(e)}}}function wt(o){let e,t,a,f,m,c,p,y,S,T,w,H,D,E,P,I,j,B,$,N,q,g,b;function O(h,C){var ee,K;return(K=(ee=h[0])==null?void 0:ee.options)!=null&&K.requireEmail?Dt:jt}let z=O(o),F=z(o);return{c(){e=i("tr"),e.innerHTML='Auth fields',t=u(),a=i("tr"),a.innerHTML=`
Optional username
String The username of the auth record.
If not set, it will be auto generated.`,f=u(),m=i("tr"),c=i("td"),p=i("div"),F.c(),y=u(),S=i("span"),S.textContent="email",T=u(),w=i("td"),w.innerHTML='String',H=u(),D=i("td"),D.textContent="Auth record email address.",E=u(),P=i("tr"),P.innerHTML='
Optional emailVisibility
Boolean Whether to show/hide the auth record email when fetching the record data.',I=u(),j=i("tr"),j.innerHTML='
Required password
String Auth record password.',B=u(),$=i("tr"),$.innerHTML='
Required passwordConfirm
String Auth record password confirmation.',N=u(),q=i("tr"),q.innerHTML=`
Optional verified
Boolean Indicates whether the auth record is verified or not.
diff --git a/ui/dist/assets/DeleteApiDocs-a79c911d.js b/ui/dist/assets/DeleteApiDocs-999526fa.js similarity index 97% rename from ui/dist/assets/DeleteApiDocs-a79c911d.js rename to ui/dist/assets/DeleteApiDocs-999526fa.js index 3c1aa3e5..162b4ca1 100644 --- a/ui/dist/assets/DeleteApiDocs-a79c911d.js +++ b/ui/dist/assets/DeleteApiDocs-999526fa.js @@ -1,4 +1,4 @@ -import{S as Re,i as Pe,s as Ee,O as j,e as c,w as y,b as k,c as De,f as m,g as p,h as i,m as Ce,x as ee,P as he,Q as Oe,k as Te,R as Be,n as Ie,t as te,a as le,o as u,d as we,C as Ae,p as Me,r as N,u as Se,N as qe}from"./index-09db7a88.js";import{S as He}from"./SdkTabs-f85ceb47.js";function ke(a,l,s){const o=a.slice();return o[6]=l[s],o}function ge(a,l,s){const o=a.slice();return o[6]=l[s],o}function ve(a){let l;return{c(){l=c("p"),l.innerHTML="Requires admin Authorization:TOKEN header",m(l,"class","txt-hint txt-sm txt-right")},m(s,o){p(s,l,o)},d(s){s&&u(l)}}}function ye(a,l){let s,o,h;function d(){return l[5](l[6])}return{key:a,first:null,c(){s=c("button"),s.textContent=`${l[6].code} `,m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(n,r){p(n,s,r),o||(h=Se(s,"click",d),o=!0)},p(n,r){l=n,r&20&&N(s,"active",l[2]===l[6].code)},d(n){n&&u(s),o=!1,h()}}}function $e(a,l){let s,o,h,d;return o=new qe({props:{content:l[6].body}}),{key:a,first:null,c(){s=c("div"),De(o.$$.fragment),h=k(),m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(n,r){p(n,s,r),Ce(o,s,null),i(s,h),d=!0},p(n,r){l=n,(!d||r&20)&&N(s,"active",l[2]===l[6].code)},i(n){d||(te(o.$$.fragment,n),d=!0)},o(n){le(o.$$.fragment,n),d=!1},d(n){n&&u(s),we(o)}}}function Le(a){var ue,me;let l,s,o=a[0].name+"",h,d,n,r,$,D,z,S=a[0].name+"",F,se,K,C,Q,E,G,g,q,ae,H,P,oe,J,L=a[0].name+"",V,ne,W,ie,X,O,Y,T,Z,B,x,w,I,v=[],ce=new Map,de,A,b=[],re=new Map,R;C=new He({props:{js:` +import{S as Re,i as Pe,s as Ee,O as j,e as c,w as y,b as k,c as De,f as m,g as p,h as i,m as Ce,x as ee,P as he,Q as Oe,k as Te,R as Be,n as Ie,t as te,a as le,o as u,d as we,C as Ae,p as Me,r as N,u as Se,N as qe}from"./index-47fb2c5c.js";import{S as He}from"./SdkTabs-13ccb207.js";function ke(a,l,s){const o=a.slice();return o[6]=l[s],o}function ge(a,l,s){const o=a.slice();return o[6]=l[s],o}function ve(a){let l;return{c(){l=c("p"),l.innerHTML="Requires admin Authorization:TOKEN header",m(l,"class","txt-hint txt-sm txt-right")},m(s,o){p(s,l,o)},d(s){s&&u(l)}}}function ye(a,l){let s,o,h;function d(){return l[5](l[6])}return{key:a,first:null,c(){s=c("button"),s.textContent=`${l[6].code} `,m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(n,r){p(n,s,r),o||(h=Se(s,"click",d),o=!0)},p(n,r){l=n,r&20&&N(s,"active",l[2]===l[6].code)},d(n){n&&u(s),o=!1,h()}}}function $e(a,l){let s,o,h,d;return o=new qe({props:{content:l[6].body}}),{key:a,first:null,c(){s=c("div"),De(o.$$.fragment),h=k(),m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(n,r){p(n,s,r),Ce(o,s,null),i(s,h),d=!0},p(n,r){l=n,(!d||r&20)&&N(s,"active",l[2]===l[6].code)},i(n){d||(te(o.$$.fragment,n),d=!0)},o(n){le(o.$$.fragment,n),d=!1},d(n){n&&u(s),we(o)}}}function Le(a){var ue,me;let l,s,o=a[0].name+"",h,d,n,r,$,D,z,S=a[0].name+"",F,se,K,C,Q,E,G,g,q,ae,H,P,oe,J,L=a[0].name+"",V,ne,W,ie,X,O,Y,T,Z,B,x,w,I,v=[],ce=new Map,de,A,b=[],re=new Map,R;C=new He({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${a[3]}'); diff --git a/ui/dist/assets/FieldsQueryParam-8145215c.js b/ui/dist/assets/FieldsQueryParam-e970c01f.js similarity index 96% rename from ui/dist/assets/FieldsQueryParam-8145215c.js rename to ui/dist/assets/FieldsQueryParam-e970c01f.js index a11fdeb8..f064df21 100644 --- a/ui/dist/assets/FieldsQueryParam-8145215c.js +++ b/ui/dist/assets/FieldsQueryParam-e970c01f.js @@ -1,4 +1,4 @@ -import{S as J,i as O,s as P,N as Q,e as t,b as c,w as i,c as R,f as j,g as z,h as e,m as A,x as D,t as G,a as K,o as U,d as V}from"./index-09db7a88.js";function W(f){let n,o,u,d,v,s,p,w,h,y,r,F,_,S,b,E,C,a,$,L,q,H,M,N,m,T,k,B,x;return r=new Q({props:{content:"?fields=*,"+f[0]+"expand.relField.name"}}),{c(){n=t("tr"),o=t("td"),o.textContent="fields",u=c(),d=t("td"),d.innerHTML='String',v=c(),s=t("td"),p=t("p"),w=i(`Comma separated string of the fields to return in the JSON response +import{S as J,i as O,s as P,N as Q,e as t,b as c,w as i,c as R,f as j,g as z,h as e,m as A,x as D,t as G,a as K,o as U,d as V}from"./index-47fb2c5c.js";function W(f){let n,o,u,d,v,s,p,w,h,y,r,F,_,S,b,E,C,a,$,L,q,H,M,N,m,T,k,B,x;return r=new Q({props:{content:"?fields=*,"+f[0]+"expand.relField.name"}}),{c(){n=t("tr"),o=t("td"),o.textContent="fields",u=c(),d=t("td"),d.innerHTML='String',v=c(),s=t("td"),p=t("p"),w=i(`Comma separated string of the fields to return in the JSON response `),h=t("em"),h.textContent="(by default returns all fields)",y=i(`. Ex.: `),R(r.$$.fragment),F=c(),_=t("p"),_.innerHTML="* targets all keys from the specific depth level.",S=c(),b=t("p"),b.textContent="In addition, the following field modifiers are also supported:",E=c(),C=t("ul"),a=t("li"),$=t("code"),$.textContent=":excerpt(maxLength, withEllipsis?)",L=c(),q=t("br"),H=i(` Returns a short plain text version of the field string value. diff --git a/ui/dist/assets/FilterAutocompleteInput-a63ad5f2.js b/ui/dist/assets/FilterAutocompleteInput-f45db6a6.js similarity index 99% rename from ui/dist/assets/FilterAutocompleteInput-a63ad5f2.js rename to ui/dist/assets/FilterAutocompleteInput-f45db6a6.js index 472f7cd2..2e3475d2 100644 --- a/ui/dist/assets/FilterAutocompleteInput-a63ad5f2.js +++ b/ui/dist/assets/FilterAutocompleteInput-f45db6a6.js @@ -1 +1 @@ -import{S as se,i as ae,s as le,e as ue,f as ce,g as de,y as M,o as fe,J as he,K as ge,L as pe,I as ye,C as h,M as me}from"./index-09db7a88.js";import{E as C,a as q,h as ke,b as xe,c as be,d as we,e as Ee,s as Se,f as Ke,g as Ce,r as qe,i as Re,k as Ie,j as Le,l as ve,m as Ae,n as De,o as Oe,p as _e,q as Y,C as L,S as Be,t as Me,u as He}from"./index-9ee652b3.js";function Fe(e){Z(e,"start");var r={},n=e.languageData||{},p=!1;for(var y in e)if(y!=n&&e.hasOwnProperty(y))for(var g=r[y]=[],s=e[y],o=0;o2&&s.token&&typeof s.token!="string"){n.pending=[];for(var a=2;a-1)return null;var y=n.indent.length-1,g=e[n.state];e:for(;;){for(var s=0;sn(21,p=t));const y=pe();let{id:g=""}=r,{value:s=""}=r,{disabled:o=!1}=r,{placeholder:l=""}=r,{baseCollection:a=null}=r,{singleLine:b=!1}=r,{extraAutocompleteKeys:v=[]}=r,{disableRequestKeys:E=!1}=r,{disableIndirectCollectionsKeys:S=!1}=r,f,w,A=o,H=new L,F=new L,T=new L,U=new L,R=[],W=[],N=[],J=[],I="",D="";function O(){f==null||f.focus()}let _=null;function j(){clearTimeout(_),_=setTimeout(()=>{R=$(p),J=ee(),W=E?[]:te(),N=S?[]:ne()},300)}function $(t){let i=t.slice();return a&&h.pushOrReplaceByKey(i,a,"id"),i}function P(){w==null||w.dispatchEvent(new CustomEvent("change",{detail:{value:s},bubbles:!0}))}function V(){if(!g)return;const t=document.querySelectorAll('[for="'+g+'"]');for(let i of t)i.removeEventListener("click",O)}function G(){if(!g)return;V();const t=document.querySelectorAll('[for="'+g+'"]');for(let i of t)i.addEventListener("click",O)}function K(t,i="",u=0){var m,x,Q;let c=R.find(k=>k.name==t||k.id==t);if(!c||u>=4)return[];let d=h.getAllCollectionIdentifiers(c,i);for(const k of(c==null?void 0:c.schema)||[]){const B=i+k.name;if(k.type==="relation"&&((m=k.options)!=null&&m.collectionId)){const X=K(k.options.collectionId,B+".",u+1);X.length&&(d=d.concat(X))}k.type==="select"&&((x=k.options)==null?void 0:x.maxSelect)!=1&&d.push(B+":each"),((Q=k.options)==null?void 0:Q.maxSelect)!=1&&["select","file","relation"].includes(k.type)&&d.push(B+":length")}return d}function ee(){return K(a==null?void 0:a.name)}function te(){const t=[];t.push("@request.method"),t.push("@request.query."),t.push("@request.data."),t.push("@request.headers."),t.push("@request.auth.id"),t.push("@request.auth.collectionId"),t.push("@request.auth.collectionName"),t.push("@request.auth.verified"),t.push("@request.auth.username"),t.push("@request.auth.email"),t.push("@request.auth.emailVisibility"),t.push("@request.auth.created"),t.push("@request.auth.updated");const i=R.filter(c=>c.type==="auth");for(const c of i){const d=K(c.id,"@request.auth.");for(const m of d)h.pushUnique(t,m)}const u=["created","updated"];if(a!=null&&a.id){const c=K(a.name,"@request.data.");for(const d of c){t.push(d);const m=d.split(".");m.length===3&&m[2].indexOf(":")===-1&&!u.includes(m[2])&&t.push(d+":isset")}}return t}function ne(){const t=[];for(const i of R){const u="@collection."+i.name+".",c=K(i.name,u);for(const d of c)t.push(d)}return t}function re(t=!0,i=!0){let u=[].concat(v);return u=u.concat(J||[]),t&&(u=u.concat(W||[])),i&&(u=u.concat(N||[])),u.sort(function(c,d){return d.length-c.length}),u}function ie(t){var m;let i=t.matchBefore(/[\'\"\@\w\.]*/);if(i&&i.from==i.to&&!t.explicit)return null;let u=He(t.state).resolveInner(t.pos,-1);if(((m=u==null?void 0:u.type)==null?void 0:m.name)=="comment")return null;let c=[{label:"false"},{label:"true"},{label:"@now"},{label:"@second"},{label:"@minute"},{label:"@hour"},{label:"@year"},{label:"@day"},{label:"@month"},{label:"@weekday"},{label:"@todayStart"},{label:"@todayEnd"},{label:"@monthStart"},{label:"@monthEnd"},{label:"@yearStart"},{label:"@yearEnd"}];S||c.push({label:"@collection.*",apply:"@collection."});const d=re(!E,!E&&i.text.startsWith("@c"));for(const x of d)c.push({label:x.endsWith(".")?x+"*":x,apply:x});return{from:i.from,options:c}}function z(){return Be.define(Fe({start:[{regex:/true|false|null/,token:"atom"},{regex:/\/\/.*/,token:"comment"},{regex:/"(?:[^\\]|\\.)*?(?:"|$)/,token:"string"},{regex:/'(?:[^\\]|\\.)*?(?:'|$)/,token:"string"},{regex:/0x[a-f\d]+|[-+]?(?:\.\d+|\d+\.?\d*)(?:e[-+]?\d+)?/i,token:"number"},{regex:/\&\&|\|\||\=|\!\=|\~|\!\~|\>|\<|\>\=|\<\=/,token:"operator"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0},{regex:/\w+[\w\.]*\w+/,token:"keyword"},{regex:h.escapeRegExp("@now"),token:"keyword"},{regex:h.escapeRegExp("@second"),token:"keyword"},{regex:h.escapeRegExp("@minute"),token:"keyword"},{regex:h.escapeRegExp("@hour"),token:"keyword"},{regex:h.escapeRegExp("@year"),token:"keyword"},{regex:h.escapeRegExp("@day"),token:"keyword"},{regex:h.escapeRegExp("@month"),token:"keyword"},{regex:h.escapeRegExp("@weekday"),token:"keyword"},{regex:h.escapeRegExp("@todayStart"),token:"keyword"},{regex:h.escapeRegExp("@todayEnd"),token:"keyword"},{regex:h.escapeRegExp("@monthStart"),token:"keyword"},{regex:h.escapeRegExp("@monthEnd"),token:"keyword"},{regex:h.escapeRegExp("@yearStart"),token:"keyword"},{regex:h.escapeRegExp("@yearEnd"),token:"keyword"},{regex:h.escapeRegExp("@request.method"),token:"keyword"}],meta:{lineComment:"//"}}))}ye(()=>{const t={key:"Enter",run:i=>{b&&y("submit",s)}};return G(),n(11,f=new C({parent:w,state:q.create({doc:s,extensions:[ke(),xe(),be(),we(),Ee(),q.allowMultipleSelections.of(!0),Se(Me,{fallback:!0}),Ke(),Ce(),qe(),Re(),Ie.of([t,...Le,...ve,Ae.find(i=>i.key==="Mod-d"),...De,...Oe]),C.lineWrapping,_e({override:[ie],icons:!1}),U.of(Y(l)),F.of(C.editable.of(!o)),T.of(q.readOnly.of(o)),H.of(z()),q.transactionFilter.of(i=>{var u,c,d;if(b&&i.newDoc.lines>1){if(!((d=(c=(u=i.changes)==null?void 0:u.inserted)==null?void 0:c.filter(m=>!!m.text.find(x=>x)))!=null&&d.length))return[];i.newDoc.text=[i.newDoc.text.join(" ")]}return i}),C.updateListener.of(i=>{!i.docChanged||o||(n(1,s=i.state.doc.toString()),P())})]})})),()=>{clearTimeout(_),V(),f==null||f.destroy()}});function oe(t){me[t?"unshift":"push"](()=>{w=t,n(0,w)})}return e.$$set=t=>{"id"in t&&n(2,g=t.id),"value"in t&&n(1,s=t.value),"disabled"in t&&n(3,o=t.disabled),"placeholder"in t&&n(4,l=t.placeholder),"baseCollection"in t&&n(5,a=t.baseCollection),"singleLine"in t&&n(6,b=t.singleLine),"extraAutocompleteKeys"in t&&n(7,v=t.extraAutocompleteKeys),"disableRequestKeys"in t&&n(8,E=t.disableRequestKeys),"disableIndirectCollectionsKeys"in t&&n(9,S=t.disableIndirectCollectionsKeys)},e.$$.update=()=>{e.$$.dirty[0]&32&&n(13,I=Ve(a)),e.$$.dirty[0]&25352&&!o&&(D!=I||E!==-1||S!==-1)&&(n(14,D=I),j()),e.$$.dirty[0]&4&&g&&G(),e.$$.dirty[0]&2080&&f&&a!=null&&a.schema&&f.dispatch({effects:[H.reconfigure(z())]}),e.$$.dirty[0]&6152&&f&&A!=o&&(f.dispatch({effects:[F.reconfigure(C.editable.of(!o)),T.reconfigure(q.readOnly.of(o))]}),n(12,A=o),P()),e.$$.dirty[0]&2050&&f&&s!=f.state.doc.toString()&&f.dispatch({changes:{from:0,to:f.state.doc.length,insert:s}}),e.$$.dirty[0]&2064&&f&&typeof l<"u"&&f.dispatch({effects:[U.reconfigure(Y(l))]})},[w,s,g,o,l,a,b,v,E,S,O,f,A,I,D,oe]}class Xe extends se{constructor(r){super(),ae(this,r,Ge,Pe,le,{id:2,value:1,disabled:3,placeholder:4,baseCollection:5,singleLine:6,extraAutocompleteKeys:7,disableRequestKeys:8,disableIndirectCollectionsKeys:9,focus:10},null,[-1,-1])}get focus(){return this.$$.ctx[10]}}export{Xe as default}; +import{S as se,i as ae,s as le,e as ue,f as ce,g as de,y as M,o as fe,J as he,K as ge,L as pe,I as ye,C as h,M as me}from"./index-47fb2c5c.js";import{E as C,a as q,h as ke,b as xe,c as be,d as we,e as Ee,s as Se,f as Ke,g as Ce,r as qe,i as Re,k as Ie,j as Le,l as ve,m as Ae,n as De,o as Oe,p as _e,q as Y,C as L,S as Be,t as Me,u as He}from"./index-9ee652b3.js";function Fe(e){Z(e,"start");var r={},n=e.languageData||{},p=!1;for(var y in e)if(y!=n&&e.hasOwnProperty(y))for(var g=r[y]=[],s=e[y],o=0;o2&&s.token&&typeof s.token!="string"){n.pending=[];for(var a=2;a-1)return null;var y=n.indent.length-1,g=e[n.state];e:for(;;){for(var s=0;sn(21,p=t));const y=pe();let{id:g=""}=r,{value:s=""}=r,{disabled:o=!1}=r,{placeholder:l=""}=r,{baseCollection:a=null}=r,{singleLine:b=!1}=r,{extraAutocompleteKeys:v=[]}=r,{disableRequestKeys:E=!1}=r,{disableIndirectCollectionsKeys:S=!1}=r,f,w,A=o,H=new L,F=new L,T=new L,U=new L,R=[],W=[],N=[],J=[],I="",D="";function O(){f==null||f.focus()}let _=null;function j(){clearTimeout(_),_=setTimeout(()=>{R=$(p),J=ee(),W=E?[]:te(),N=S?[]:ne()},300)}function $(t){let i=t.slice();return a&&h.pushOrReplaceByKey(i,a,"id"),i}function P(){w==null||w.dispatchEvent(new CustomEvent("change",{detail:{value:s},bubbles:!0}))}function V(){if(!g)return;const t=document.querySelectorAll('[for="'+g+'"]');for(let i of t)i.removeEventListener("click",O)}function G(){if(!g)return;V();const t=document.querySelectorAll('[for="'+g+'"]');for(let i of t)i.addEventListener("click",O)}function K(t,i="",u=0){var m,x,Q;let c=R.find(k=>k.name==t||k.id==t);if(!c||u>=4)return[];let d=h.getAllCollectionIdentifiers(c,i);for(const k of(c==null?void 0:c.schema)||[]){const B=i+k.name;if(k.type==="relation"&&((m=k.options)!=null&&m.collectionId)){const X=K(k.options.collectionId,B+".",u+1);X.length&&(d=d.concat(X))}k.type==="select"&&((x=k.options)==null?void 0:x.maxSelect)!=1&&d.push(B+":each"),((Q=k.options)==null?void 0:Q.maxSelect)!=1&&["select","file","relation"].includes(k.type)&&d.push(B+":length")}return d}function ee(){return K(a==null?void 0:a.name)}function te(){const t=[];t.push("@request.method"),t.push("@request.query."),t.push("@request.data."),t.push("@request.headers."),t.push("@request.auth.id"),t.push("@request.auth.collectionId"),t.push("@request.auth.collectionName"),t.push("@request.auth.verified"),t.push("@request.auth.username"),t.push("@request.auth.email"),t.push("@request.auth.emailVisibility"),t.push("@request.auth.created"),t.push("@request.auth.updated");const i=R.filter(c=>c.type==="auth");for(const c of i){const d=K(c.id,"@request.auth.");for(const m of d)h.pushUnique(t,m)}const u=["created","updated"];if(a!=null&&a.id){const c=K(a.name,"@request.data.");for(const d of c){t.push(d);const m=d.split(".");m.length===3&&m[2].indexOf(":")===-1&&!u.includes(m[2])&&t.push(d+":isset")}}return t}function ne(){const t=[];for(const i of R){const u="@collection."+i.name+".",c=K(i.name,u);for(const d of c)t.push(d)}return t}function re(t=!0,i=!0){let u=[].concat(v);return u=u.concat(J||[]),t&&(u=u.concat(W||[])),i&&(u=u.concat(N||[])),u.sort(function(c,d){return d.length-c.length}),u}function ie(t){var m;let i=t.matchBefore(/[\'\"\@\w\.]*/);if(i&&i.from==i.to&&!t.explicit)return null;let u=He(t.state).resolveInner(t.pos,-1);if(((m=u==null?void 0:u.type)==null?void 0:m.name)=="comment")return null;let c=[{label:"false"},{label:"true"},{label:"@now"},{label:"@second"},{label:"@minute"},{label:"@hour"},{label:"@year"},{label:"@day"},{label:"@month"},{label:"@weekday"},{label:"@todayStart"},{label:"@todayEnd"},{label:"@monthStart"},{label:"@monthEnd"},{label:"@yearStart"},{label:"@yearEnd"}];S||c.push({label:"@collection.*",apply:"@collection."});const d=re(!E,!E&&i.text.startsWith("@c"));for(const x of d)c.push({label:x.endsWith(".")?x+"*":x,apply:x});return{from:i.from,options:c}}function z(){return Be.define(Fe({start:[{regex:/true|false|null/,token:"atom"},{regex:/\/\/.*/,token:"comment"},{regex:/"(?:[^\\]|\\.)*?(?:"|$)/,token:"string"},{regex:/'(?:[^\\]|\\.)*?(?:'|$)/,token:"string"},{regex:/0x[a-f\d]+|[-+]?(?:\.\d+|\d+\.?\d*)(?:e[-+]?\d+)?/i,token:"number"},{regex:/\&\&|\|\||\=|\!\=|\~|\!\~|\>|\<|\>\=|\<\=/,token:"operator"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0},{regex:/\w+[\w\.]*\w+/,token:"keyword"},{regex:h.escapeRegExp("@now"),token:"keyword"},{regex:h.escapeRegExp("@second"),token:"keyword"},{regex:h.escapeRegExp("@minute"),token:"keyword"},{regex:h.escapeRegExp("@hour"),token:"keyword"},{regex:h.escapeRegExp("@year"),token:"keyword"},{regex:h.escapeRegExp("@day"),token:"keyword"},{regex:h.escapeRegExp("@month"),token:"keyword"},{regex:h.escapeRegExp("@weekday"),token:"keyword"},{regex:h.escapeRegExp("@todayStart"),token:"keyword"},{regex:h.escapeRegExp("@todayEnd"),token:"keyword"},{regex:h.escapeRegExp("@monthStart"),token:"keyword"},{regex:h.escapeRegExp("@monthEnd"),token:"keyword"},{regex:h.escapeRegExp("@yearStart"),token:"keyword"},{regex:h.escapeRegExp("@yearEnd"),token:"keyword"},{regex:h.escapeRegExp("@request.method"),token:"keyword"}],meta:{lineComment:"//"}}))}ye(()=>{const t={key:"Enter",run:i=>{b&&y("submit",s)}};return G(),n(11,f=new C({parent:w,state:q.create({doc:s,extensions:[ke(),xe(),be(),we(),Ee(),q.allowMultipleSelections.of(!0),Se(Me,{fallback:!0}),Ke(),Ce(),qe(),Re(),Ie.of([t,...Le,...ve,Ae.find(i=>i.key==="Mod-d"),...De,...Oe]),C.lineWrapping,_e({override:[ie],icons:!1}),U.of(Y(l)),F.of(C.editable.of(!o)),T.of(q.readOnly.of(o)),H.of(z()),q.transactionFilter.of(i=>{var u,c,d;if(b&&i.newDoc.lines>1){if(!((d=(c=(u=i.changes)==null?void 0:u.inserted)==null?void 0:c.filter(m=>!!m.text.find(x=>x)))!=null&&d.length))return[];i.newDoc.text=[i.newDoc.text.join(" ")]}return i}),C.updateListener.of(i=>{!i.docChanged||o||(n(1,s=i.state.doc.toString()),P())})]})})),()=>{clearTimeout(_),V(),f==null||f.destroy()}});function oe(t){me[t?"unshift":"push"](()=>{w=t,n(0,w)})}return e.$$set=t=>{"id"in t&&n(2,g=t.id),"value"in t&&n(1,s=t.value),"disabled"in t&&n(3,o=t.disabled),"placeholder"in t&&n(4,l=t.placeholder),"baseCollection"in t&&n(5,a=t.baseCollection),"singleLine"in t&&n(6,b=t.singleLine),"extraAutocompleteKeys"in t&&n(7,v=t.extraAutocompleteKeys),"disableRequestKeys"in t&&n(8,E=t.disableRequestKeys),"disableIndirectCollectionsKeys"in t&&n(9,S=t.disableIndirectCollectionsKeys)},e.$$.update=()=>{e.$$.dirty[0]&32&&n(13,I=Ve(a)),e.$$.dirty[0]&25352&&!o&&(D!=I||E!==-1||S!==-1)&&(n(14,D=I),j()),e.$$.dirty[0]&4&&g&&G(),e.$$.dirty[0]&2080&&f&&a!=null&&a.schema&&f.dispatch({effects:[H.reconfigure(z())]}),e.$$.dirty[0]&6152&&f&&A!=o&&(f.dispatch({effects:[F.reconfigure(C.editable.of(!o)),T.reconfigure(q.readOnly.of(o))]}),n(12,A=o),P()),e.$$.dirty[0]&2050&&f&&s!=f.state.doc.toString()&&f.dispatch({changes:{from:0,to:f.state.doc.length,insert:s}}),e.$$.dirty[0]&2064&&f&&typeof l<"u"&&f.dispatch({effects:[U.reconfigure(Y(l))]})},[w,s,g,o,l,a,b,v,E,S,O,f,A,I,D,oe]}class Xe extends se{constructor(r){super(),ae(this,r,Ge,Pe,le,{id:2,value:1,disabled:3,placeholder:4,baseCollection:5,singleLine:6,extraAutocompleteKeys:7,disableRequestKeys:8,disableIndirectCollectionsKeys:9,focus:10},null,[-1,-1])}get focus(){return this.$$.ctx[10]}}export{Xe as default}; diff --git a/ui/dist/assets/ListApiDocs-12eafaac.js b/ui/dist/assets/ListApiDocs-f6a32340.js similarity index 99% rename from ui/dist/assets/ListApiDocs-12eafaac.js rename to ui/dist/assets/ListApiDocs-f6a32340.js index 0f988559..835bfc23 100644 --- a/ui/dist/assets/ListApiDocs-12eafaac.js +++ b/ui/dist/assets/ListApiDocs-f6a32340.js @@ -1,4 +1,4 @@ -import{S as Ze,i as tl,s as el,e,b as s,E as sl,f as a,g as u,u as ll,y as Qe,o as m,w as _,h as t,N as Fe,O as se,c as Qt,m as Ut,x as ke,P as Ue,Q as nl,k as ol,R as al,n as il,t as $t,a as Ct,d as jt,T as rl,C as ve,p as cl,r as Le}from"./index-09db7a88.js";import{S as dl}from"./SdkTabs-f85ceb47.js";import{F as pl}from"./FieldsQueryParam-8145215c.js";function fl(d){let n,o,i;return{c(){n=e("span"),n.textContent="Show details",o=s(),i=e("i"),a(n,"class","txt"),a(i,"class","ri-arrow-down-s-line")},m(f,h){u(f,n,h),u(f,o,h),u(f,i,h)},d(f){f&&(m(n),m(o),m(i))}}}function ul(d){let n,o,i;return{c(){n=e("span"),n.textContent="Hide details",o=s(),i=e("i"),a(n,"class","txt"),a(i,"class","ri-arrow-up-s-line")},m(f,h){u(f,n,h),u(f,o,h),u(f,i,h)},d(f){f&&(m(n),m(o),m(i))}}}function je(d){let n,o,i,f,h,r,b,$,C,g,p,tt,kt,zt,E,Kt,H,rt,R,et,ne,Q,U,oe,ct,yt,lt,vt,ae,dt,pt,st,N,Jt,Ft,y,nt,Lt,Vt,At,j,ot,Tt,Wt,Pt,F,ft,Rt,ie,ut,re,M,Ot,at,St,O,mt,ce,z,Et,Xt,Nt,de,q,Yt,K,ht,pe,I,fe,B,ue,P,qt,J,bt,me,gt,he,x,Dt,it,Ht,be,Mt,Zt,V,_t,ge,It,_e,wt,we,W,G,xe,xt,te,X,ee,L,Y,S,Bt,$e,Z,v,Gt;return{c(){n=e("p"),n.innerHTML=`The syntax basically follows the format +import{S as Ze,i as tl,s as el,e,b as s,E as sl,f as a,g as u,u as ll,y as Qe,o as m,w as _,h as t,N as Fe,O as se,c as Qt,m as Ut,x as ke,P as Ue,Q as nl,k as ol,R as al,n as il,t as $t,a as Ct,d as jt,T as rl,C as ve,p as cl,r as Le}from"./index-47fb2c5c.js";import{S as dl}from"./SdkTabs-13ccb207.js";import{F as pl}from"./FieldsQueryParam-e970c01f.js";function fl(d){let n,o,i;return{c(){n=e("span"),n.textContent="Show details",o=s(),i=e("i"),a(n,"class","txt"),a(i,"class","ri-arrow-down-s-line")},m(f,h){u(f,n,h),u(f,o,h),u(f,i,h)},d(f){f&&(m(n),m(o),m(i))}}}function ul(d){let n,o,i;return{c(){n=e("span"),n.textContent="Hide details",o=s(),i=e("i"),a(n,"class","txt"),a(i,"class","ri-arrow-up-s-line")},m(f,h){u(f,n,h),u(f,o,h),u(f,i,h)},d(f){f&&(m(n),m(o),m(i))}}}function je(d){let n,o,i,f,h,r,b,$,C,g,p,tt,kt,zt,E,Kt,H,rt,R,et,ne,Q,U,oe,ct,yt,lt,vt,ae,dt,pt,st,N,Jt,Ft,y,nt,Lt,Vt,At,j,ot,Tt,Wt,Pt,F,ft,Rt,ie,ut,re,M,Ot,at,St,O,mt,ce,z,Et,Xt,Nt,de,q,Yt,K,ht,pe,I,fe,B,ue,P,qt,J,bt,me,gt,he,x,Dt,it,Ht,be,Mt,Zt,V,_t,ge,It,_e,wt,we,W,G,xe,xt,te,X,ee,L,Y,S,Bt,$e,Z,v,Gt;return{c(){n=e("p"),n.innerHTML=`The syntax basically follows the format OPERAND OPERATOR OPERAND, where:`,o=s(),i=e("ul"),f=e("li"),f.innerHTML=`OPERAND - could be any of the above field literal, string (single or double quoted), number, null, true, false`,h=s(),r=e("li"),b=e("code"),b.textContent="OPERATOR",$=_(` - is one of: `),C=e("br"),g=s(),p=e("ul"),tt=e("li"),kt=e("code"),kt.textContent="=",zt=s(),E=e("span"),E.textContent="Equal",Kt=s(),H=e("li"),rt=e("code"),rt.textContent="!=",R=s(),et=e("span"),et.textContent="NOT equal",ne=s(),Q=e("li"),U=e("code"),U.textContent=">",oe=s(),ct=e("span"),ct.textContent="Greater than",yt=s(),lt=e("li"),vt=e("code"),vt.textContent=">=",ae=s(),dt=e("span"),dt.textContent="Greater than or equal",pt=s(),st=e("li"),N=e("code"),N.textContent="<",Jt=s(),Ft=e("span"),Ft.textContent="Less than",y=s(),nt=e("li"),Lt=e("code"),Lt.textContent="<=",Vt=s(),At=e("span"),At.textContent="Less than or equal",j=s(),ot=e("li"),Tt=e("code"),Tt.textContent="~",Wt=s(),Pt=e("span"),Pt.textContent=`Like/Contains (if not specified auto wraps the right string OPERAND in a "%" for diff --git a/ui/dist/assets/ListExternalAuthsDocs-87ac8f05.js b/ui/dist/assets/ListExternalAuthsDocs-0e691898.js similarity index 97% rename from ui/dist/assets/ListExternalAuthsDocs-87ac8f05.js rename to ui/dist/assets/ListExternalAuthsDocs-0e691898.js index 3b8bf00d..af3b10a2 100644 --- a/ui/dist/assets/ListExternalAuthsDocs-87ac8f05.js +++ b/ui/dist/assets/ListExternalAuthsDocs-0e691898.js @@ -1,4 +1,4 @@ -import{S as ze,i as Qe,s as Ue,O as F,e as i,w as v,b as m,c as pe,f as b,g as c,h as a,m as ue,x as N,P as Oe,Q as je,k as Fe,R as Ne,n as Ge,t as G,a as K,o as d,d as me,C as Ke,p as Je,r as J,u as Ve,N as Xe}from"./index-09db7a88.js";import{S as Ye}from"./SdkTabs-f85ceb47.js";import{F as Ze}from"./FieldsQueryParam-8145215c.js";function De(o,l,s){const n=o.slice();return n[5]=l[s],n}function He(o,l,s){const n=o.slice();return n[5]=l[s],n}function Re(o,l){let s,n=l[5].code+"",f,_,r,u;function h(){return l[4](l[5])}return{key:o,first:null,c(){s=i("button"),f=v(n),_=m(),b(s,"class","tab-item"),J(s,"active",l[1]===l[5].code),this.first=s},m(w,y){c(w,s,y),a(s,f),a(s,_),r||(u=Ve(s,"click",h),r=!0)},p(w,y){l=w,y&4&&n!==(n=l[5].code+"")&&N(f,n),y&6&&J(s,"active",l[1]===l[5].code)},d(w){w&&d(s),r=!1,u()}}}function We(o,l){let s,n,f,_;return n=new Xe({props:{content:l[5].body}}),{key:o,first:null,c(){s=i("div"),pe(n.$$.fragment),f=m(),b(s,"class","tab-item"),J(s,"active",l[1]===l[5].code),this.first=s},m(r,u){c(r,s,u),ue(n,s,null),a(s,f),_=!0},p(r,u){l=r;const h={};u&4&&(h.content=l[5].body),n.$set(h),(!_||u&6)&&J(s,"active",l[1]===l[5].code)},i(r){_||(G(n.$$.fragment,r),_=!0)},o(r){K(n.$$.fragment,r),_=!1},d(r){r&&d(s),me(n)}}}function xe(o){var Ce,Se,Ee,Ie;let l,s,n=o[0].name+"",f,_,r,u,h,w,y,R=o[0].name+"",V,be,fe,X,Y,P,Z,I,x,$,W,he,z,T,_e,ee,Q=o[0].name+"",te,ke,le,ve,ge,U,se,B,ae,q,oe,L,ne,A,ie,$e,ce,E,de,M,re,C,O,g=[],we=new Map,ye,D,k=[],Pe=new Map,S;P=new Ye({props:{js:` +import{S as ze,i as Qe,s as Ue,O as F,e as i,w as v,b as m,c as pe,f as b,g as c,h as a,m as ue,x as N,P as Oe,Q as je,k as Fe,R as Ne,n as Ge,t as G,a as K,o as d,d as me,C as Ke,p as Je,r as J,u as Ve,N as Xe}from"./index-47fb2c5c.js";import{S as Ye}from"./SdkTabs-13ccb207.js";import{F as Ze}from"./FieldsQueryParam-e970c01f.js";function De(o,l,s){const n=o.slice();return n[5]=l[s],n}function He(o,l,s){const n=o.slice();return n[5]=l[s],n}function Re(o,l){let s,n=l[5].code+"",f,_,r,u;function h(){return l[4](l[5])}return{key:o,first:null,c(){s=i("button"),f=v(n),_=m(),b(s,"class","tab-item"),J(s,"active",l[1]===l[5].code),this.first=s},m(w,y){c(w,s,y),a(s,f),a(s,_),r||(u=Ve(s,"click",h),r=!0)},p(w,y){l=w,y&4&&n!==(n=l[5].code+"")&&N(f,n),y&6&&J(s,"active",l[1]===l[5].code)},d(w){w&&d(s),r=!1,u()}}}function We(o,l){let s,n,f,_;return n=new Xe({props:{content:l[5].body}}),{key:o,first:null,c(){s=i("div"),pe(n.$$.fragment),f=m(),b(s,"class","tab-item"),J(s,"active",l[1]===l[5].code),this.first=s},m(r,u){c(r,s,u),ue(n,s,null),a(s,f),_=!0},p(r,u){l=r;const h={};u&4&&(h.content=l[5].body),n.$set(h),(!_||u&6)&&J(s,"active",l[1]===l[5].code)},i(r){_||(G(n.$$.fragment,r),_=!0)},o(r){K(n.$$.fragment,r),_=!1},d(r){r&&d(s),me(n)}}}function xe(o){var Ce,Se,Ee,Ie;let l,s,n=o[0].name+"",f,_,r,u,h,w,y,R=o[0].name+"",V,be,fe,X,Y,P,Z,I,x,$,W,he,z,T,_e,ee,Q=o[0].name+"",te,ke,le,ve,ge,U,se,B,ae,q,oe,L,ne,A,ie,$e,ce,E,de,M,re,C,O,g=[],we=new Map,ye,D,k=[],Pe=new Map,S;P=new Ye({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/PageAdminConfirmPasswordReset-033afe52.js b/ui/dist/assets/PageAdminConfirmPasswordReset-6489eaf2.js similarity index 98% rename from ui/dist/assets/PageAdminConfirmPasswordReset-033afe52.js rename to ui/dist/assets/PageAdminConfirmPasswordReset-6489eaf2.js index aa665b4a..93168ce3 100644 --- a/ui/dist/assets/PageAdminConfirmPasswordReset-033afe52.js +++ b/ui/dist/assets/PageAdminConfirmPasswordReset-6489eaf2.js @@ -1,2 +1,2 @@ -import{S as E,i as G,s as I,F as K,c as R,m as A,t as B,a as N,d as T,C as M,q as J,e as _,w as P,b as k,f,r as L,g as b,h as c,u as j,v as O,j as Q,l as U,o as w,A as V,p as W,B as X,D as Y,x as Z,z as q}from"./index-09db7a88.js";function y(i){let e,n,s;return{c(){e=P("for "),n=_("strong"),s=P(i[3]),f(n,"class","txt-nowrap")},m(l,t){b(l,e,t),b(l,n,t),c(n,s)},p(l,t){t&8&&Z(s,l[3])},d(l){l&&(w(e),w(n))}}}function x(i){let e,n,s,l,t,u,p,d;return{c(){e=_("label"),n=P("New password"),l=k(),t=_("input"),f(e,"for",s=i[8]),f(t,"type","password"),f(t,"id",u=i[8]),t.required=!0,t.autofocus=!0},m(r,a){b(r,e,a),c(e,n),b(r,l,a),b(r,t,a),q(t,i[0]),t.focus(),p||(d=j(t,"input",i[6]),p=!0)},p(r,a){a&256&&s!==(s=r[8])&&f(e,"for",s),a&256&&u!==(u=r[8])&&f(t,"id",u),a&1&&t.value!==r[0]&&q(t,r[0])},d(r){r&&(w(e),w(l),w(t)),p=!1,d()}}}function ee(i){let e,n,s,l,t,u,p,d;return{c(){e=_("label"),n=P("New password confirm"),l=k(),t=_("input"),f(e,"for",s=i[8]),f(t,"type","password"),f(t,"id",u=i[8]),t.required=!0},m(r,a){b(r,e,a),c(e,n),b(r,l,a),b(r,t,a),q(t,i[1]),p||(d=j(t,"input",i[7]),p=!0)},p(r,a){a&256&&s!==(s=r[8])&&f(e,"for",s),a&256&&u!==(u=r[8])&&f(t,"id",u),a&2&&t.value!==r[1]&&q(t,r[1])},d(r){r&&(w(e),w(l),w(t)),p=!1,d()}}}function te(i){let e,n,s,l,t,u,p,d,r,a,g,S,C,v,h,F,z,m=i[3]&&y(i);return u=new J({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:o})=>({8:o}),({uniqueId:o})=>o?256:0]},$$scope:{ctx:i}}}),d=new J({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:o})=>({8:o}),({uniqueId:o})=>o?256:0]},$$scope:{ctx:i}}}),{c(){e=_("form"),n=_("div"),s=_("h4"),l=P(`Reset your admin password +import{S as E,i as G,s as I,F as K,c as R,m as A,t as B,a as N,d as T,C as M,q as J,e as _,w as P,b as k,f,r as L,g as b,h as c,u as j,v as O,j as Q,l as U,o as w,A as V,p as W,B as X,D as Y,x as Z,z as q}from"./index-47fb2c5c.js";function y(i){let e,n,s;return{c(){e=P("for "),n=_("strong"),s=P(i[3]),f(n,"class","txt-nowrap")},m(l,t){b(l,e,t),b(l,n,t),c(n,s)},p(l,t){t&8&&Z(s,l[3])},d(l){l&&(w(e),w(n))}}}function x(i){let e,n,s,l,t,u,p,d;return{c(){e=_("label"),n=P("New password"),l=k(),t=_("input"),f(e,"for",s=i[8]),f(t,"type","password"),f(t,"id",u=i[8]),t.required=!0,t.autofocus=!0},m(r,a){b(r,e,a),c(e,n),b(r,l,a),b(r,t,a),q(t,i[0]),t.focus(),p||(d=j(t,"input",i[6]),p=!0)},p(r,a){a&256&&s!==(s=r[8])&&f(e,"for",s),a&256&&u!==(u=r[8])&&f(t,"id",u),a&1&&t.value!==r[0]&&q(t,r[0])},d(r){r&&(w(e),w(l),w(t)),p=!1,d()}}}function ee(i){let e,n,s,l,t,u,p,d;return{c(){e=_("label"),n=P("New password confirm"),l=k(),t=_("input"),f(e,"for",s=i[8]),f(t,"type","password"),f(t,"id",u=i[8]),t.required=!0},m(r,a){b(r,e,a),c(e,n),b(r,l,a),b(r,t,a),q(t,i[1]),p||(d=j(t,"input",i[7]),p=!0)},p(r,a){a&256&&s!==(s=r[8])&&f(e,"for",s),a&256&&u!==(u=r[8])&&f(t,"id",u),a&2&&t.value!==r[1]&&q(t,r[1])},d(r){r&&(w(e),w(l),w(t)),p=!1,d()}}}function te(i){let e,n,s,l,t,u,p,d,r,a,g,S,C,v,h,F,z,m=i[3]&&y(i);return u=new J({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:o})=>({8:o}),({uniqueId:o})=>o?256:0]},$$scope:{ctx:i}}}),d=new J({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:o})=>({8:o}),({uniqueId:o})=>o?256:0]},$$scope:{ctx:i}}}),{c(){e=_("form"),n=_("div"),s=_("h4"),l=P(`Reset your admin password `),m&&m.c(),t=k(),R(u.$$.fragment),p=k(),R(d.$$.fragment),r=k(),a=_("button"),g=_("span"),g.textContent="Set new password",S=k(),C=_("div"),v=_("a"),v.textContent="Back to login",f(s,"class","m-b-xs"),f(n,"class","content txt-center m-b-sm"),f(g,"class","txt"),f(a,"type","submit"),f(a,"class","btn btn-lg btn-block"),a.disabled=i[2],L(a,"btn-loading",i[2]),f(e,"class","m-b-base"),f(v,"href","/login"),f(v,"class","link-hint"),f(C,"class","content txt-center")},m(o,$){b(o,e,$),c(e,n),c(n,s),c(s,l),m&&m.m(s,null),c(e,t),A(u,e,null),c(e,p),A(d,e,null),c(e,r),c(e,a),c(a,g),b(o,S,$),b(o,C,$),c(C,v),h=!0,F||(z=[j(e,"submit",O(i[4])),Q(U.call(null,v))],F=!0)},p(o,$){o[3]?m?m.p(o,$):(m=y(o),m.c(),m.m(s,null)):m&&(m.d(1),m=null);const D={};$&769&&(D.$$scope={dirty:$,ctx:o}),u.$set(D);const H={};$&770&&(H.$$scope={dirty:$,ctx:o}),d.$set(H),(!h||$&4)&&(a.disabled=o[2]),(!h||$&4)&&L(a,"btn-loading",o[2])},i(o){h||(B(u.$$.fragment,o),B(d.$$.fragment,o),h=!0)},o(o){N(u.$$.fragment,o),N(d.$$.fragment,o),h=!1},d(o){o&&(w(e),w(S),w(C)),m&&m.d(),T(u),T(d),F=!1,V(z)}}}function se(i){let e,n;return e=new K({props:{$$slots:{default:[te]},$$scope:{ctx:i}}}),{c(){R(e.$$.fragment)},m(s,l){A(e,s,l),n=!0},p(s,[l]){const t={};l&527&&(t.$$scope={dirty:l,ctx:s}),e.$set(t)},i(s){n||(B(e.$$.fragment,s),n=!0)},o(s){N(e.$$.fragment,s),n=!1},d(s){T(e,s)}}}function le(i,e,n){let s,{params:l}=e,t="",u="",p=!1;async function d(){if(!p){n(2,p=!0);try{await W.admins.confirmPasswordReset(l==null?void 0:l.token,t,u),X("Successfully set a new admin password."),Y("/")}catch(g){W.error(g)}n(2,p=!1)}}function r(){t=this.value,n(0,t)}function a(){u=this.value,n(1,u)}return i.$$set=g=>{"params"in g&&n(5,l=g.params)},i.$$.update=()=>{i.$$.dirty&32&&n(3,s=M.getJWTPayload(l==null?void 0:l.token).email||"")},[t,u,p,s,d,l,r,a]}class ae extends E{constructor(e){super(),G(this,e,le,se,I,{params:5})}}export{ae as default}; diff --git a/ui/dist/assets/PageAdminRequestPasswordReset-c57a989d.js b/ui/dist/assets/PageAdminRequestPasswordReset-a310a6b5.js similarity index 98% rename from ui/dist/assets/PageAdminRequestPasswordReset-c57a989d.js rename to ui/dist/assets/PageAdminRequestPasswordReset-a310a6b5.js index 3ffc731c..26630f70 100644 --- a/ui/dist/assets/PageAdminRequestPasswordReset-c57a989d.js +++ b/ui/dist/assets/PageAdminRequestPasswordReset-a310a6b5.js @@ -1 +1 @@ -import{S as M,i as T,s as j,F as z,c as R,m as S,t as w,a as y,d as E,b as v,e as _,f as p,g,h as d,j as A,l as B,k as N,n as D,o as k,p as C,q as G,r as F,u as H,v as I,w as h,x as J,y as P,z as L}from"./index-09db7a88.js";function K(u){let e,s,n,l,t,o,c,m,r,a,b,f;return l=new G({props:{class:"form-field required",name:"email",$$slots:{default:[Q,({uniqueId:i})=>({5:i}),({uniqueId:i})=>i?32:0]},$$scope:{ctx:u}}}),{c(){e=_("form"),s=_("div"),s.innerHTML='

Forgotten admin password

Enter the email associated with your account and we’ll send you a recovery link:

',n=v(),R(l.$$.fragment),t=v(),o=_("button"),c=_("i"),m=v(),r=_("span"),r.textContent="Send recovery link",p(s,"class","content txt-center m-b-sm"),p(c,"class","ri-mail-send-line"),p(r,"class","txt"),p(o,"type","submit"),p(o,"class","btn btn-lg btn-block"),o.disabled=u[1],F(o,"btn-loading",u[1]),p(e,"class","m-b-base")},m(i,$){g(i,e,$),d(e,s),d(e,n),S(l,e,null),d(e,t),d(e,o),d(o,c),d(o,m),d(o,r),a=!0,b||(f=H(e,"submit",I(u[3])),b=!0)},p(i,$){const q={};$&97&&(q.$$scope={dirty:$,ctx:i}),l.$set(q),(!a||$&2)&&(o.disabled=i[1]),(!a||$&2)&&F(o,"btn-loading",i[1])},i(i){a||(w(l.$$.fragment,i),a=!0)},o(i){y(l.$$.fragment,i),a=!1},d(i){i&&k(e),E(l),b=!1,f()}}}function O(u){let e,s,n,l,t,o,c,m,r;return{c(){e=_("div"),s=_("div"),s.innerHTML='',n=v(),l=_("div"),t=_("p"),o=h("Check "),c=_("strong"),m=h(u[0]),r=h(" for the recovery link."),p(s,"class","icon"),p(c,"class","txt-nowrap"),p(l,"class","content"),p(e,"class","alert alert-success")},m(a,b){g(a,e,b),d(e,s),d(e,n),d(e,l),d(l,t),d(t,o),d(t,c),d(c,m),d(t,r)},p(a,b){b&1&&J(m,a[0])},i:P,o:P,d(a){a&&k(e)}}}function Q(u){let e,s,n,l,t,o,c,m;return{c(){e=_("label"),s=h("Email"),l=v(),t=_("input"),p(e,"for",n=u[5]),p(t,"type","email"),p(t,"id",o=u[5]),t.required=!0,t.autofocus=!0},m(r,a){g(r,e,a),d(e,s),g(r,l,a),g(r,t,a),L(t,u[0]),t.focus(),c||(m=H(t,"input",u[4]),c=!0)},p(r,a){a&32&&n!==(n=r[5])&&p(e,"for",n),a&32&&o!==(o=r[5])&&p(t,"id",o),a&1&&t.value!==r[0]&&L(t,r[0])},d(r){r&&(k(e),k(l),k(t)),c=!1,m()}}}function U(u){let e,s,n,l,t,o,c,m;const r=[O,K],a=[];function b(f,i){return f[2]?0:1}return e=b(u),s=a[e]=r[e](u),{c(){s.c(),n=v(),l=_("div"),t=_("a"),t.textContent="Back to login",p(t,"href","/login"),p(t,"class","link-hint"),p(l,"class","content txt-center")},m(f,i){a[e].m(f,i),g(f,n,i),g(f,l,i),d(l,t),o=!0,c||(m=A(B.call(null,t)),c=!0)},p(f,i){let $=e;e=b(f),e===$?a[e].p(f,i):(N(),y(a[$],1,1,()=>{a[$]=null}),D(),s=a[e],s?s.p(f,i):(s=a[e]=r[e](f),s.c()),w(s,1),s.m(n.parentNode,n))},i(f){o||(w(s),o=!0)},o(f){y(s),o=!1},d(f){f&&(k(n),k(l)),a[e].d(f),c=!1,m()}}}function V(u){let e,s;return e=new z({props:{$$slots:{default:[U]},$$scope:{ctx:u}}}),{c(){R(e.$$.fragment)},m(n,l){S(e,n,l),s=!0},p(n,[l]){const t={};l&71&&(t.$$scope={dirty:l,ctx:n}),e.$set(t)},i(n){s||(w(e.$$.fragment,n),s=!0)},o(n){y(e.$$.fragment,n),s=!1},d(n){E(e,n)}}}function W(u,e,s){let n="",l=!1,t=!1;async function o(){if(!l){s(1,l=!0);try{await C.admins.requestPasswordReset(n),s(2,t=!0)}catch(m){C.error(m)}s(1,l=!1)}}function c(){n=this.value,s(0,n)}return[n,l,t,o,c]}class Y extends M{constructor(e){super(),T(this,e,W,V,j,{})}}export{Y as default}; +import{S as M,i as T,s as j,F as z,c as R,m as S,t as w,a as y,d as E,b as v,e as _,f as p,g,h as d,j as A,l as B,k as N,n as D,o as k,p as C,q as G,r as F,u as H,v as I,w as h,x as J,y as P,z as L}from"./index-47fb2c5c.js";function K(u){let e,s,n,l,t,o,c,m,r,a,b,f;return l=new G({props:{class:"form-field required",name:"email",$$slots:{default:[Q,({uniqueId:i})=>({5:i}),({uniqueId:i})=>i?32:0]},$$scope:{ctx:u}}}),{c(){e=_("form"),s=_("div"),s.innerHTML='

Forgotten admin password

Enter the email associated with your account and we’ll send you a recovery link:

',n=v(),R(l.$$.fragment),t=v(),o=_("button"),c=_("i"),m=v(),r=_("span"),r.textContent="Send recovery link",p(s,"class","content txt-center m-b-sm"),p(c,"class","ri-mail-send-line"),p(r,"class","txt"),p(o,"type","submit"),p(o,"class","btn btn-lg btn-block"),o.disabled=u[1],F(o,"btn-loading",u[1]),p(e,"class","m-b-base")},m(i,$){g(i,e,$),d(e,s),d(e,n),S(l,e,null),d(e,t),d(e,o),d(o,c),d(o,m),d(o,r),a=!0,b||(f=H(e,"submit",I(u[3])),b=!0)},p(i,$){const q={};$&97&&(q.$$scope={dirty:$,ctx:i}),l.$set(q),(!a||$&2)&&(o.disabled=i[1]),(!a||$&2)&&F(o,"btn-loading",i[1])},i(i){a||(w(l.$$.fragment,i),a=!0)},o(i){y(l.$$.fragment,i),a=!1},d(i){i&&k(e),E(l),b=!1,f()}}}function O(u){let e,s,n,l,t,o,c,m,r;return{c(){e=_("div"),s=_("div"),s.innerHTML='',n=v(),l=_("div"),t=_("p"),o=h("Check "),c=_("strong"),m=h(u[0]),r=h(" for the recovery link."),p(s,"class","icon"),p(c,"class","txt-nowrap"),p(l,"class","content"),p(e,"class","alert alert-success")},m(a,b){g(a,e,b),d(e,s),d(e,n),d(e,l),d(l,t),d(t,o),d(t,c),d(c,m),d(t,r)},p(a,b){b&1&&J(m,a[0])},i:P,o:P,d(a){a&&k(e)}}}function Q(u){let e,s,n,l,t,o,c,m;return{c(){e=_("label"),s=h("Email"),l=v(),t=_("input"),p(e,"for",n=u[5]),p(t,"type","email"),p(t,"id",o=u[5]),t.required=!0,t.autofocus=!0},m(r,a){g(r,e,a),d(e,s),g(r,l,a),g(r,t,a),L(t,u[0]),t.focus(),c||(m=H(t,"input",u[4]),c=!0)},p(r,a){a&32&&n!==(n=r[5])&&p(e,"for",n),a&32&&o!==(o=r[5])&&p(t,"id",o),a&1&&t.value!==r[0]&&L(t,r[0])},d(r){r&&(k(e),k(l),k(t)),c=!1,m()}}}function U(u){let e,s,n,l,t,o,c,m;const r=[O,K],a=[];function b(f,i){return f[2]?0:1}return e=b(u),s=a[e]=r[e](u),{c(){s.c(),n=v(),l=_("div"),t=_("a"),t.textContent="Back to login",p(t,"href","/login"),p(t,"class","link-hint"),p(l,"class","content txt-center")},m(f,i){a[e].m(f,i),g(f,n,i),g(f,l,i),d(l,t),o=!0,c||(m=A(B.call(null,t)),c=!0)},p(f,i){let $=e;e=b(f),e===$?a[e].p(f,i):(N(),y(a[$],1,1,()=>{a[$]=null}),D(),s=a[e],s?s.p(f,i):(s=a[e]=r[e](f),s.c()),w(s,1),s.m(n.parentNode,n))},i(f){o||(w(s),o=!0)},o(f){y(s),o=!1},d(f){f&&(k(n),k(l)),a[e].d(f),c=!1,m()}}}function V(u){let e,s;return e=new z({props:{$$slots:{default:[U]},$$scope:{ctx:u}}}),{c(){R(e.$$.fragment)},m(n,l){S(e,n,l),s=!0},p(n,[l]){const t={};l&71&&(t.$$scope={dirty:l,ctx:n}),e.$set(t)},i(n){s||(w(e.$$.fragment,n),s=!0)},o(n){y(e.$$.fragment,n),s=!1},d(n){E(e,n)}}}function W(u,e,s){let n="",l=!1,t=!1;async function o(){if(!l){s(1,l=!0);try{await C.admins.requestPasswordReset(n),s(2,t=!0)}catch(m){C.error(m)}s(1,l=!1)}}function c(){n=this.value,s(0,n)}return[n,l,t,o,c]}class Y extends M{constructor(e){super(),T(this,e,W,V,j,{})}}export{Y as default}; diff --git a/ui/dist/assets/PageOAuth2Redirect-0932947d.js b/ui/dist/assets/PageOAuth2Redirect-da30a17e.js similarity index 86% rename from ui/dist/assets/PageOAuth2Redirect-0932947d.js rename to ui/dist/assets/PageOAuth2Redirect-da30a17e.js index 5060f543..a890d4d2 100644 --- a/ui/dist/assets/PageOAuth2Redirect-0932947d.js +++ b/ui/dist/assets/PageOAuth2Redirect-da30a17e.js @@ -1 +1 @@ -import{S as o,i as c,s as i,e as r,f as l,g as u,y as n,o as d,I as h}from"./index-09db7a88.js";function p(s){let t;return{c(){t=r("div"),t.innerHTML='

Auth completed.

You can close this window and go back to the app.
',l(t,"class","content txt-hint txt-center p-base")},m(e,a){u(e,t,a)},p:n,i:n,o:n,d(e){e&&d(t)}}}function f(s){return h(()=>{window.close()}),[]}class x extends o{constructor(t){super(),c(this,t,f,p,i,{})}}export{x as default}; +import{S as o,i as c,s as i,e as r,f as l,g as u,y as n,o as d,I as h}from"./index-47fb2c5c.js";function p(s){let t;return{c(){t=r("div"),t.innerHTML='

Auth completed.

You can close this window and go back to the app.
',l(t,"class","content txt-hint txt-center p-base")},m(e,a){u(e,t,a)},p:n,i:n,o:n,d(e){e&&d(t)}}}function f(s){return h(()=>{window.close()}),[]}class x extends o{constructor(t){super(),c(this,t,f,p,i,{})}}export{x as default}; diff --git a/ui/dist/assets/PageRecordConfirmEmailChange-302edc76.js b/ui/dist/assets/PageRecordConfirmEmailChange-d14d1f1e.js similarity index 98% rename from ui/dist/assets/PageRecordConfirmEmailChange-302edc76.js rename to ui/dist/assets/PageRecordConfirmEmailChange-d14d1f1e.js index 130e5d80..800371c4 100644 --- a/ui/dist/assets/PageRecordConfirmEmailChange-302edc76.js +++ b/ui/dist/assets/PageRecordConfirmEmailChange-d14d1f1e.js @@ -1,2 +1,2 @@ -import{S as G,i as I,s as J,F as M,c as S,m as L,t as h,a as v,d as z,C as N,E as R,g as _,k as W,n as Y,o as b,G as j,H as A,p as B,q as D,e as m,w as y,b as C,f as p,r as T,h as g,u as P,v as K,y as E,x as O,z as F}from"./index-09db7a88.js";function Q(i){let e,t,n,l,s,o,f,a,r,u,k,$,d=i[3]&&H(i);return o=new D({props:{class:"form-field required",name:"password",$$slots:{default:[V,({uniqueId:c})=>({8:c}),({uniqueId:c})=>c?256:0]},$$scope:{ctx:i}}}),{c(){e=m("form"),t=m("div"),n=m("h5"),l=y(`Type your password to confirm changing your email address +import{S as G,i as I,s as J,F as M,c as S,m as L,t as h,a as v,d as z,C as N,E as R,g as _,k as W,n as Y,o as b,G as j,H as A,p as B,q as D,e as m,w as y,b as C,f as p,r as T,h as g,u as P,v as K,y as E,x as O,z as F}from"./index-47fb2c5c.js";function Q(i){let e,t,n,l,s,o,f,a,r,u,k,$,d=i[3]&&H(i);return o=new D({props:{class:"form-field required",name:"password",$$slots:{default:[V,({uniqueId:c})=>({8:c}),({uniqueId:c})=>c?256:0]},$$scope:{ctx:i}}}),{c(){e=m("form"),t=m("div"),n=m("h5"),l=y(`Type your password to confirm changing your email address `),d&&d.c(),s=C(),S(o.$$.fragment),f=C(),a=m("button"),r=m("span"),r.textContent="Confirm new email",p(t,"class","content txt-center m-b-base"),p(r,"class","txt"),p(a,"type","submit"),p(a,"class","btn btn-lg btn-block"),a.disabled=i[1],T(a,"btn-loading",i[1])},m(c,w){_(c,e,w),g(e,t),g(t,n),g(n,l),d&&d.m(n,null),g(e,s),L(o,e,null),g(e,f),g(e,a),g(a,r),u=!0,k||($=P(e,"submit",K(i[4])),k=!0)},p(c,w){c[3]?d?d.p(c,w):(d=H(c),d.c(),d.m(n,null)):d&&(d.d(1),d=null);const q={};w&769&&(q.$$scope={dirty:w,ctx:c}),o.$set(q),(!u||w&2)&&(a.disabled=c[1]),(!u||w&2)&&T(a,"btn-loading",c[1])},i(c){u||(h(o.$$.fragment,c),u=!0)},o(c){v(o.$$.fragment,c),u=!1},d(c){c&&b(e),d&&d.d(),z(o),k=!1,$()}}}function U(i){let e,t,n,l,s;return{c(){e=m("div"),e.innerHTML='

Successfully changed the user email address.

You can now sign in with your new email address.

',t=C(),n=m("button"),n.textContent="Close",p(e,"class","alert alert-success"),p(n,"type","button"),p(n,"class","btn btn-transparent btn-block")},m(o,f){_(o,e,f),_(o,t,f),_(o,n,f),l||(s=P(n,"click",i[6]),l=!0)},p:E,i:E,o:E,d(o){o&&(b(e),b(t),b(n)),l=!1,s()}}}function H(i){let e,t,n;return{c(){e=y("to "),t=m("strong"),n=y(i[3]),p(t,"class","txt-nowrap")},m(l,s){_(l,e,s),_(l,t,s),g(t,n)},p(l,s){s&8&&O(n,l[3])},d(l){l&&(b(e),b(t))}}}function V(i){let e,t,n,l,s,o,f,a;return{c(){e=m("label"),t=y("Password"),l=C(),s=m("input"),p(e,"for",n=i[8]),p(s,"type","password"),p(s,"id",o=i[8]),s.required=!0,s.autofocus=!0},m(r,u){_(r,e,u),g(e,t),_(r,l,u),_(r,s,u),F(s,i[0]),s.focus(),f||(a=P(s,"input",i[7]),f=!0)},p(r,u){u&256&&n!==(n=r[8])&&p(e,"for",n),u&256&&o!==(o=r[8])&&p(s,"id",o),u&1&&s.value!==r[0]&&F(s,r[0])},d(r){r&&(b(e),b(l),b(s)),f=!1,a()}}}function X(i){let e,t,n,l;const s=[U,Q],o=[];function f(a,r){return a[2]?0:1}return e=f(i),t=o[e]=s[e](i),{c(){t.c(),n=R()},m(a,r){o[e].m(a,r),_(a,n,r),l=!0},p(a,r){let u=e;e=f(a),e===u?o[e].p(a,r):(W(),v(o[u],1,1,()=>{o[u]=null}),Y(),t=o[e],t?t.p(a,r):(t=o[e]=s[e](a),t.c()),h(t,1),t.m(n.parentNode,n))},i(a){l||(h(t),l=!0)},o(a){v(t),l=!1},d(a){a&&b(n),o[e].d(a)}}}function Z(i){let e,t;return e=new M({props:{nobranding:!0,$$slots:{default:[X]},$$scope:{ctx:i}}}),{c(){S(e.$$.fragment)},m(n,l){L(e,n,l),t=!0},p(n,[l]){const s={};l&527&&(s.$$scope={dirty:l,ctx:n}),e.$set(s)},i(n){t||(h(e.$$.fragment,n),t=!0)},o(n){v(e.$$.fragment,n),t=!1},d(n){z(e,n)}}}function x(i,e,t){let n,{params:l}=e,s="",o=!1,f=!1;async function a(){if(o)return;t(1,o=!0);const k=new j("../");try{const $=A(l==null?void 0:l.token);await k.collection($.collectionId).confirmEmailChange(l==null?void 0:l.token,s),t(2,f=!0)}catch($){B.error($)}t(1,o=!1)}const r=()=>window.close();function u(){s=this.value,t(0,s)}return i.$$set=k=>{"params"in k&&t(5,l=k.params)},i.$$.update=()=>{i.$$.dirty&32&&t(3,n=N.getJWTPayload(l==null?void 0:l.token).newEmail||"")},[s,o,f,n,a,l,r,u]}class te extends G{constructor(e){super(),I(this,e,x,Z,J,{params:5})}}export{te as default}; diff --git a/ui/dist/assets/PageRecordConfirmPasswordReset-ed5112fb.js b/ui/dist/assets/PageRecordConfirmPasswordReset-c524df89.js similarity index 98% rename from ui/dist/assets/PageRecordConfirmPasswordReset-ed5112fb.js rename to ui/dist/assets/PageRecordConfirmPasswordReset-c524df89.js index 02663350..14d7f243 100644 --- a/ui/dist/assets/PageRecordConfirmPasswordReset-ed5112fb.js +++ b/ui/dist/assets/PageRecordConfirmPasswordReset-c524df89.js @@ -1,2 +1,2 @@ -import{S as J,i as M,s as W,F as Y,c as H,m as N,t as P,a as y,d as T,C as j,E as A,g as _,k as B,n as D,o as m,G as K,H as O,p as Q,q as E,e as b,w as q,b as C,f as p,r as G,h as w,u as S,v as U,y as F,x as V,z as R}from"./index-09db7a88.js";function X(a){let e,l,s,n,t,o,c,r,i,u,v,g,k,h,d=a[4]&&I(a);return o=new E({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:a}}}),r=new E({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:a}}}),{c(){e=b("form"),l=b("div"),s=b("h5"),n=q(`Reset your user password +import{S as J,i as M,s as W,F as Y,c as H,m as N,t as P,a as y,d as T,C as j,E as A,g as _,k as B,n as D,o as m,G as K,H as O,p as Q,q as E,e as b,w as q,b as C,f as p,r as G,h as w,u as S,v as U,y as F,x as V,z as R}from"./index-47fb2c5c.js";function X(a){let e,l,s,n,t,o,c,r,i,u,v,g,k,h,d=a[4]&&I(a);return o=new E({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:a}}}),r=new E({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:a}}}),{c(){e=b("form"),l=b("div"),s=b("h5"),n=q(`Reset your user password `),d&&d.c(),t=C(),H(o.$$.fragment),c=C(),H(r.$$.fragment),i=C(),u=b("button"),v=b("span"),v.textContent="Set new password",p(l,"class","content txt-center m-b-base"),p(v,"class","txt"),p(u,"type","submit"),p(u,"class","btn btn-lg btn-block"),u.disabled=a[2],G(u,"btn-loading",a[2])},m(f,$){_(f,e,$),w(e,l),w(l,s),w(s,n),d&&d.m(s,null),w(e,t),N(o,e,null),w(e,c),N(r,e,null),w(e,i),w(e,u),w(u,v),g=!0,k||(h=S(e,"submit",U(a[5])),k=!0)},p(f,$){f[4]?d?d.p(f,$):(d=I(f),d.c(),d.m(s,null)):d&&(d.d(1),d=null);const L={};$&3073&&(L.$$scope={dirty:$,ctx:f}),o.$set(L);const z={};$&3074&&(z.$$scope={dirty:$,ctx:f}),r.$set(z),(!g||$&4)&&(u.disabled=f[2]),(!g||$&4)&&G(u,"btn-loading",f[2])},i(f){g||(P(o.$$.fragment,f),P(r.$$.fragment,f),g=!0)},o(f){y(o.$$.fragment,f),y(r.$$.fragment,f),g=!1},d(f){f&&m(e),d&&d.d(),T(o),T(r),k=!1,h()}}}function Z(a){let e,l,s,n,t;return{c(){e=b("div"),e.innerHTML='

Successfully changed the user password.

You can now sign in with your new password.

',l=C(),s=b("button"),s.textContent="Close",p(e,"class","alert alert-success"),p(s,"type","button"),p(s,"class","btn btn-transparent btn-block")},m(o,c){_(o,e,c),_(o,l,c),_(o,s,c),n||(t=S(s,"click",a[7]),n=!0)},p:F,i:F,o:F,d(o){o&&(m(e),m(l),m(s)),n=!1,t()}}}function I(a){let e,l,s;return{c(){e=q("for "),l=b("strong"),s=q(a[4])},m(n,t){_(n,e,t),_(n,l,t),w(l,s)},p(n,t){t&16&&V(s,n[4])},d(n){n&&(m(e),m(l))}}}function x(a){let e,l,s,n,t,o,c,r;return{c(){e=b("label"),l=q("New password"),n=C(),t=b("input"),p(e,"for",s=a[10]),p(t,"type","password"),p(t,"id",o=a[10]),t.required=!0,t.autofocus=!0},m(i,u){_(i,e,u),w(e,l),_(i,n,u),_(i,t,u),R(t,a[0]),t.focus(),c||(r=S(t,"input",a[8]),c=!0)},p(i,u){u&1024&&s!==(s=i[10])&&p(e,"for",s),u&1024&&o!==(o=i[10])&&p(t,"id",o),u&1&&t.value!==i[0]&&R(t,i[0])},d(i){i&&(m(e),m(n),m(t)),c=!1,r()}}}function ee(a){let e,l,s,n,t,o,c,r;return{c(){e=b("label"),l=q("New password confirm"),n=C(),t=b("input"),p(e,"for",s=a[10]),p(t,"type","password"),p(t,"id",o=a[10]),t.required=!0},m(i,u){_(i,e,u),w(e,l),_(i,n,u),_(i,t,u),R(t,a[1]),c||(r=S(t,"input",a[9]),c=!0)},p(i,u){u&1024&&s!==(s=i[10])&&p(e,"for",s),u&1024&&o!==(o=i[10])&&p(t,"id",o),u&2&&t.value!==i[1]&&R(t,i[1])},d(i){i&&(m(e),m(n),m(t)),c=!1,r()}}}function te(a){let e,l,s,n;const t=[Z,X],o=[];function c(r,i){return r[3]?0:1}return e=c(a),l=o[e]=t[e](a),{c(){l.c(),s=A()},m(r,i){o[e].m(r,i),_(r,s,i),n=!0},p(r,i){let u=e;e=c(r),e===u?o[e].p(r,i):(B(),y(o[u],1,1,()=>{o[u]=null}),D(),l=o[e],l?l.p(r,i):(l=o[e]=t[e](r),l.c()),P(l,1),l.m(s.parentNode,s))},i(r){n||(P(l),n=!0)},o(r){y(l),n=!1},d(r){r&&m(s),o[e].d(r)}}}function se(a){let e,l;return e=new Y({props:{nobranding:!0,$$slots:{default:[te]},$$scope:{ctx:a}}}),{c(){H(e.$$.fragment)},m(s,n){N(e,s,n),l=!0},p(s,[n]){const t={};n&2079&&(t.$$scope={dirty:n,ctx:s}),e.$set(t)},i(s){l||(P(e.$$.fragment,s),l=!0)},o(s){y(e.$$.fragment,s),l=!1},d(s){T(e,s)}}}function le(a,e,l){let s,{params:n}=e,t="",o="",c=!1,r=!1;async function i(){if(c)return;l(2,c=!0);const k=new K("../");try{const h=O(n==null?void 0:n.token);await k.collection(h.collectionId).confirmPasswordReset(n==null?void 0:n.token,t,o),l(3,r=!0)}catch(h){Q.error(h)}l(2,c=!1)}const u=()=>window.close();function v(){t=this.value,l(0,t)}function g(){o=this.value,l(1,o)}return a.$$set=k=>{"params"in k&&l(6,n=k.params)},a.$$.update=()=>{a.$$.dirty&64&&l(4,s=j.getJWTPayload(n==null?void 0:n.token).email||"")},[t,o,c,r,s,i,n,u,v,g]}class oe extends J{constructor(e){super(),M(this,e,le,se,W,{params:6})}}export{oe as default}; diff --git a/ui/dist/assets/PageRecordConfirmVerification-7214c578.js b/ui/dist/assets/PageRecordConfirmVerification-60a3d957.js similarity index 97% rename from ui/dist/assets/PageRecordConfirmVerification-7214c578.js rename to ui/dist/assets/PageRecordConfirmVerification-60a3d957.js index 0834160b..69a71705 100644 --- a/ui/dist/assets/PageRecordConfirmVerification-7214c578.js +++ b/ui/dist/assets/PageRecordConfirmVerification-60a3d957.js @@ -1 +1 @@ -import{S as v,i as y,s as g,F as w,c as C,m as x,t as $,a as H,d as L,G as P,H as T,E as M,g as a,o as r,e as f,b as _,f as d,u as b,y as p}from"./index-09db7a88.js";function S(c){let t,s,e,n,l;return{c(){t=f("div"),t.innerHTML='

Invalid or expired verification token.

',s=_(),e=f("button"),e.textContent="Close",d(t,"class","alert alert-danger"),d(e,"type","button"),d(e,"class","btn btn-transparent btn-block")},m(i,o){a(i,t,o),a(i,s,o),a(i,e,o),n||(l=b(e,"click",c[4]),n=!0)},p,d(i){i&&(r(t),r(s),r(e)),n=!1,l()}}}function h(c){let t,s,e,n,l;return{c(){t=f("div"),t.innerHTML='

Successfully verified email address.

',s=_(),e=f("button"),e.textContent="Close",d(t,"class","alert alert-success"),d(e,"type","button"),d(e,"class","btn btn-transparent btn-block")},m(i,o){a(i,t,o),a(i,s,o),a(i,e,o),n||(l=b(e,"click",c[3]),n=!0)},p,d(i){i&&(r(t),r(s),r(e)),n=!1,l()}}}function F(c){let t;return{c(){t=f("div"),t.innerHTML='
Please wait...
',d(t,"class","txt-center")},m(s,e){a(s,t,e)},p,d(s){s&&r(t)}}}function I(c){let t;function s(l,i){return l[1]?F:l[0]?h:S}let e=s(c),n=e(c);return{c(){n.c(),t=M()},m(l,i){n.m(l,i),a(l,t,i)},p(l,i){e===(e=s(l))&&n?n.p(l,i):(n.d(1),n=e(l),n&&(n.c(),n.m(t.parentNode,t)))},d(l){l&&r(t),n.d(l)}}}function V(c){let t,s;return t=new w({props:{nobranding:!0,$$slots:{default:[I]},$$scope:{ctx:c}}}),{c(){C(t.$$.fragment)},m(e,n){x(t,e,n),s=!0},p(e,[n]){const l={};n&67&&(l.$$scope={dirty:n,ctx:e}),t.$set(l)},i(e){s||($(t.$$.fragment,e),s=!0)},o(e){H(t.$$.fragment,e),s=!1},d(e){L(t,e)}}}function q(c,t,s){let{params:e}=t,n=!1,l=!1;i();async function i(){s(1,l=!0);const u=new P("../");try{const m=T(e==null?void 0:e.token);await u.collection(m.collectionId).confirmVerification(e==null?void 0:e.token),s(0,n=!0)}catch{s(0,n=!1)}s(1,l=!1)}const o=()=>window.close(),k=()=>window.close();return c.$$set=u=>{"params"in u&&s(2,e=u.params)},[n,l,e,o,k]}class G extends v{constructor(t){super(),y(this,t,q,V,g,{params:2})}}export{G as default}; +import{S as v,i as y,s as g,F as w,c as C,m as x,t as $,a as H,d as L,G as P,H as T,E as M,g as a,o as r,e as f,b as _,f as d,u as b,y as p}from"./index-47fb2c5c.js";function S(c){let t,s,e,n,l;return{c(){t=f("div"),t.innerHTML='

Invalid or expired verification token.

',s=_(),e=f("button"),e.textContent="Close",d(t,"class","alert alert-danger"),d(e,"type","button"),d(e,"class","btn btn-transparent btn-block")},m(i,o){a(i,t,o),a(i,s,o),a(i,e,o),n||(l=b(e,"click",c[4]),n=!0)},p,d(i){i&&(r(t),r(s),r(e)),n=!1,l()}}}function h(c){let t,s,e,n,l;return{c(){t=f("div"),t.innerHTML='

Successfully verified email address.

',s=_(),e=f("button"),e.textContent="Close",d(t,"class","alert alert-success"),d(e,"type","button"),d(e,"class","btn btn-transparent btn-block")},m(i,o){a(i,t,o),a(i,s,o),a(i,e,o),n||(l=b(e,"click",c[3]),n=!0)},p,d(i){i&&(r(t),r(s),r(e)),n=!1,l()}}}function F(c){let t;return{c(){t=f("div"),t.innerHTML='
Please wait...
',d(t,"class","txt-center")},m(s,e){a(s,t,e)},p,d(s){s&&r(t)}}}function I(c){let t;function s(l,i){return l[1]?F:l[0]?h:S}let e=s(c),n=e(c);return{c(){n.c(),t=M()},m(l,i){n.m(l,i),a(l,t,i)},p(l,i){e===(e=s(l))&&n?n.p(l,i):(n.d(1),n=e(l),n&&(n.c(),n.m(t.parentNode,t)))},d(l){l&&r(t),n.d(l)}}}function V(c){let t,s;return t=new w({props:{nobranding:!0,$$slots:{default:[I]},$$scope:{ctx:c}}}),{c(){C(t.$$.fragment)},m(e,n){x(t,e,n),s=!0},p(e,[n]){const l={};n&67&&(l.$$scope={dirty:n,ctx:e}),t.$set(l)},i(e){s||($(t.$$.fragment,e),s=!0)},o(e){H(t.$$.fragment,e),s=!1},d(e){L(t,e)}}}function q(c,t,s){let{params:e}=t,n=!1,l=!1;i();async function i(){s(1,l=!0);const u=new P("../");try{const m=T(e==null?void 0:e.token);await u.collection(m.collectionId).confirmVerification(e==null?void 0:e.token),s(0,n=!0)}catch{s(0,n=!1)}s(1,l=!1)}const o=()=>window.close(),k=()=>window.close();return c.$$set=u=>{"params"in u&&s(2,e=u.params)},[n,l,e,o,k]}class G extends v{constructor(t){super(),y(this,t,q,V,g,{params:2})}}export{G as default}; diff --git a/ui/dist/assets/RealtimeApiDocs-28f47e72.js b/ui/dist/assets/RealtimeApiDocs-1da78095.js similarity index 98% rename from ui/dist/assets/RealtimeApiDocs-28f47e72.js rename to ui/dist/assets/RealtimeApiDocs-1da78095.js index 2b49a8fd..1df4cd19 100644 --- a/ui/dist/assets/RealtimeApiDocs-28f47e72.js +++ b/ui/dist/assets/RealtimeApiDocs-1da78095.js @@ -1,4 +1,4 @@ -import{S as re,i as ae,s as be,N as pe,C as P,e as p,w as y,b as a,c as se,f as u,g as s,h as I,m as ne,x as ue,t as ie,a as ce,o as n,d as le,p as me}from"./index-09db7a88.js";import{S as de}from"./SdkTabs-f85ceb47.js";function he(t){var B,U,W,A,H,L,T,q,M,N,j,J;let i,m,c=t[0].name+"",b,d,k,h,D,f,_,l,S,$,C,g,w,v,E,r,R;return l=new de({props:{js:` +import{S as re,i as ae,s as be,N as pe,C as P,e as p,w as y,b as a,c as se,f as u,g as s,h as I,m as ne,x as ue,t as ie,a as ce,o as n,d as le,p as me}from"./index-47fb2c5c.js";import{S as de}from"./SdkTabs-13ccb207.js";function he(t){var B,U,W,A,H,L,T,q,M,N,j,J;let i,m,c=t[0].name+"",b,d,k,h,D,f,_,l,S,$,C,g,w,v,E,r,R;return l=new de({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${t[1]}'); diff --git a/ui/dist/assets/RequestEmailChangeDocs-d2afb223.js b/ui/dist/assets/RequestEmailChangeDocs-98e9cd0b.js similarity index 98% rename from ui/dist/assets/RequestEmailChangeDocs-d2afb223.js rename to ui/dist/assets/RequestEmailChangeDocs-98e9cd0b.js index e026aaf0..09157e32 100644 --- a/ui/dist/assets/RequestEmailChangeDocs-d2afb223.js +++ b/ui/dist/assets/RequestEmailChangeDocs-98e9cd0b.js @@ -1,4 +1,4 @@ -import{S as Ee,i as Be,s as Se,O as L,e as r,w as v,b as k,c as Ce,f as b,g as d,h as n,m as ye,x as N,P as ve,Q as Re,k as Me,R as Ae,n as We,t as ee,a as te,o as m,d as Te,C as ze,p as He,r as F,u as Oe,N as Ue}from"./index-09db7a88.js";import{S as je}from"./SdkTabs-f85ceb47.js";function we(o,l,a){const s=o.slice();return s[5]=l[a],s}function $e(o,l,a){const s=o.slice();return s[5]=l[a],s}function qe(o,l){let a,s=l[5].code+"",h,f,i,p;function u(){return l[4](l[5])}return{key:o,first:null,c(){a=r("button"),h=v(s),f=k(),b(a,"class","tab-item"),F(a,"active",l[1]===l[5].code),this.first=a},m($,q){d($,a,q),n(a,h),n(a,f),i||(p=Oe(a,"click",u),i=!0)},p($,q){l=$,q&4&&s!==(s=l[5].code+"")&&N(h,s),q&6&&F(a,"active",l[1]===l[5].code)},d($){$&&m(a),i=!1,p()}}}function Pe(o,l){let a,s,h,f;return s=new Ue({props:{content:l[5].body}}),{key:o,first:null,c(){a=r("div"),Ce(s.$$.fragment),h=k(),b(a,"class","tab-item"),F(a,"active",l[1]===l[5].code),this.first=a},m(i,p){d(i,a,p),ye(s,a,null),n(a,h),f=!0},p(i,p){l=i;const u={};p&4&&(u.content=l[5].body),s.$set(u),(!f||p&6)&&F(a,"active",l[1]===l[5].code)},i(i){f||(ee(s.$$.fragment,i),f=!0)},o(i){te(s.$$.fragment,i),f=!1},d(i){i&&m(a),Te(s)}}}function De(o){var pe,ue,be,fe;let l,a,s=o[0].name+"",h,f,i,p,u,$,q,z=o[0].name+"",I,le,K,P,Q,T,G,w,H,ae,O,E,se,J,U=o[0].name+"",V,oe,ne,j,X,B,Y,S,Z,R,x,C,M,g=[],ie=new Map,ce,A,_=[],re=new Map,y;P=new je({props:{js:` +import{S as Ee,i as Be,s as Se,O as L,e as r,w as v,b as k,c as Ce,f as b,g as d,h as n,m as ye,x as N,P as ve,Q as Re,k as Me,R as Ae,n as We,t as ee,a as te,o as m,d as Te,C as ze,p as He,r as F,u as Oe,N as Ue}from"./index-47fb2c5c.js";import{S as je}from"./SdkTabs-13ccb207.js";function we(o,l,a){const s=o.slice();return s[5]=l[a],s}function $e(o,l,a){const s=o.slice();return s[5]=l[a],s}function qe(o,l){let a,s=l[5].code+"",h,f,i,p;function u(){return l[4](l[5])}return{key:o,first:null,c(){a=r("button"),h=v(s),f=k(),b(a,"class","tab-item"),F(a,"active",l[1]===l[5].code),this.first=a},m($,q){d($,a,q),n(a,h),n(a,f),i||(p=Oe(a,"click",u),i=!0)},p($,q){l=$,q&4&&s!==(s=l[5].code+"")&&N(h,s),q&6&&F(a,"active",l[1]===l[5].code)},d($){$&&m(a),i=!1,p()}}}function Pe(o,l){let a,s,h,f;return s=new Ue({props:{content:l[5].body}}),{key:o,first:null,c(){a=r("div"),Ce(s.$$.fragment),h=k(),b(a,"class","tab-item"),F(a,"active",l[1]===l[5].code),this.first=a},m(i,p){d(i,a,p),ye(s,a,null),n(a,h),f=!0},p(i,p){l=i;const u={};p&4&&(u.content=l[5].body),s.$set(u),(!f||p&6)&&F(a,"active",l[1]===l[5].code)},i(i){f||(ee(s.$$.fragment,i),f=!0)},o(i){te(s.$$.fragment,i),f=!1},d(i){i&&m(a),Te(s)}}}function De(o){var pe,ue,be,fe;let l,a,s=o[0].name+"",h,f,i,p,u,$,q,z=o[0].name+"",I,le,K,P,Q,T,G,w,H,ae,O,E,se,J,U=o[0].name+"",V,oe,ne,j,X,B,Y,S,Z,R,x,C,M,g=[],ie=new Map,ce,A,_=[],re=new Map,y;P=new je({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/RequestPasswordResetDocs-b8cca36f.js b/ui/dist/assets/RequestPasswordResetDocs-ec08c230.js similarity index 97% rename from ui/dist/assets/RequestPasswordResetDocs-b8cca36f.js rename to ui/dist/assets/RequestPasswordResetDocs-ec08c230.js index e755ca0a..1bbd2c6f 100644 --- a/ui/dist/assets/RequestPasswordResetDocs-b8cca36f.js +++ b/ui/dist/assets/RequestPasswordResetDocs-ec08c230.js @@ -1,4 +1,4 @@ -import{S as Pe,i as $e,s as qe,O as I,e as r,w as g,b as h,c as ve,f as b,g as d,h as n,m as ge,x as L,P as fe,Q as ye,k as Re,R as Be,n as Ce,t as x,a as ee,o as p,d as we,C as Se,p as Te,r as N,u as Me,N as Ae}from"./index-09db7a88.js";import{S as Ue}from"./SdkTabs-f85ceb47.js";function be(o,s,l){const a=o.slice();return a[5]=s[l],a}function _e(o,s,l){const a=o.slice();return a[5]=s[l],a}function ke(o,s){let l,a=s[5].code+"",_,f,i,u;function m(){return s[4](s[5])}return{key:o,first:null,c(){l=r("button"),_=g(a),f=h(),b(l,"class","tab-item"),N(l,"active",s[1]===s[5].code),this.first=l},m(w,P){d(w,l,P),n(l,_),n(l,f),i||(u=Me(l,"click",m),i=!0)},p(w,P){s=w,P&4&&a!==(a=s[5].code+"")&&L(_,a),P&6&&N(l,"active",s[1]===s[5].code)},d(w){w&&p(l),i=!1,u()}}}function he(o,s){let l,a,_,f;return a=new Ae({props:{content:s[5].body}}),{key:o,first:null,c(){l=r("div"),ve(a.$$.fragment),_=h(),b(l,"class","tab-item"),N(l,"active",s[1]===s[5].code),this.first=l},m(i,u){d(i,l,u),ge(a,l,null),n(l,_),f=!0},p(i,u){s=i;const m={};u&4&&(m.content=s[5].body),a.$set(m),(!f||u&6)&&N(l,"active",s[1]===s[5].code)},i(i){f||(x(a.$$.fragment,i),f=!0)},o(i){ee(a.$$.fragment,i),f=!1},d(i){i&&p(l),we(a)}}}function je(o){var de,pe;let s,l,a=o[0].name+"",_,f,i,u,m,w,P,D=o[0].name+"",Q,te,z,$,G,B,J,q,H,se,O,C,le,K,E=o[0].name+"",V,ae,W,S,X,T,Y,M,Z,y,A,v=[],oe=new Map,ne,U,k=[],ie=new Map,R;$=new Ue({props:{js:` +import{S as Pe,i as $e,s as qe,O as I,e as r,w as g,b as h,c as ve,f as b,g as d,h as n,m as ge,x as L,P as fe,Q as ye,k as Re,R as Be,n as Ce,t as x,a as ee,o as p,d as we,C as Se,p as Te,r as N,u as Me,N as Ae}from"./index-47fb2c5c.js";import{S as Ue}from"./SdkTabs-13ccb207.js";function be(o,s,l){const a=o.slice();return a[5]=s[l],a}function _e(o,s,l){const a=o.slice();return a[5]=s[l],a}function ke(o,s){let l,a=s[5].code+"",_,f,i,u;function m(){return s[4](s[5])}return{key:o,first:null,c(){l=r("button"),_=g(a),f=h(),b(l,"class","tab-item"),N(l,"active",s[1]===s[5].code),this.first=l},m(w,P){d(w,l,P),n(l,_),n(l,f),i||(u=Me(l,"click",m),i=!0)},p(w,P){s=w,P&4&&a!==(a=s[5].code+"")&&L(_,a),P&6&&N(l,"active",s[1]===s[5].code)},d(w){w&&p(l),i=!1,u()}}}function he(o,s){let l,a,_,f;return a=new Ae({props:{content:s[5].body}}),{key:o,first:null,c(){l=r("div"),ve(a.$$.fragment),_=h(),b(l,"class","tab-item"),N(l,"active",s[1]===s[5].code),this.first=l},m(i,u){d(i,l,u),ge(a,l,null),n(l,_),f=!0},p(i,u){s=i;const m={};u&4&&(m.content=s[5].body),a.$set(m),(!f||u&6)&&N(l,"active",s[1]===s[5].code)},i(i){f||(x(a.$$.fragment,i),f=!0)},o(i){ee(a.$$.fragment,i),f=!1},d(i){i&&p(l),we(a)}}}function je(o){var de,pe;let s,l,a=o[0].name+"",_,f,i,u,m,w,P,D=o[0].name+"",Q,te,z,$,G,B,J,q,H,se,O,C,le,K,E=o[0].name+"",V,ae,W,S,X,T,Y,M,Z,y,A,v=[],oe=new Map,ne,U,k=[],ie=new Map,R;$=new Ue({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/RequestVerificationDocs-711c0807.js b/ui/dist/assets/RequestVerificationDocs-22d41431.js similarity index 97% rename from ui/dist/assets/RequestVerificationDocs-711c0807.js rename to ui/dist/assets/RequestVerificationDocs-22d41431.js index d943a232..f0f094a1 100644 --- a/ui/dist/assets/RequestVerificationDocs-711c0807.js +++ b/ui/dist/assets/RequestVerificationDocs-22d41431.js @@ -1,4 +1,4 @@ -import{S as qe,i as we,s as Pe,O as F,e as r,w as g,b as h,c as ve,f as b,g as d,h as n,m as ge,x as I,P as pe,Q as ye,k as Be,R as Ce,n as Se,t as x,a as ee,o as f,d as $e,C as Te,p as Re,r as L,u as Ve,N as Me}from"./index-09db7a88.js";import{S as Ae}from"./SdkTabs-f85ceb47.js";function be(o,l,s){const a=o.slice();return a[5]=l[s],a}function _e(o,l,s){const a=o.slice();return a[5]=l[s],a}function ke(o,l){let s,a=l[5].code+"",_,p,i,u;function m(){return l[4](l[5])}return{key:o,first:null,c(){s=r("button"),_=g(a),p=h(),b(s,"class","tab-item"),L(s,"active",l[1]===l[5].code),this.first=s},m($,q){d($,s,q),n(s,_),n(s,p),i||(u=Ve(s,"click",m),i=!0)},p($,q){l=$,q&4&&a!==(a=l[5].code+"")&&I(_,a),q&6&&L(s,"active",l[1]===l[5].code)},d($){$&&f(s),i=!1,u()}}}function he(o,l){let s,a,_,p;return a=new Me({props:{content:l[5].body}}),{key:o,first:null,c(){s=r("div"),ve(a.$$.fragment),_=h(),b(s,"class","tab-item"),L(s,"active",l[1]===l[5].code),this.first=s},m(i,u){d(i,s,u),ge(a,s,null),n(s,_),p=!0},p(i,u){l=i;const m={};u&4&&(m.content=l[5].body),a.$set(m),(!p||u&6)&&L(s,"active",l[1]===l[5].code)},i(i){p||(x(a.$$.fragment,i),p=!0)},o(i){ee(a.$$.fragment,i),p=!1},d(i){i&&f(s),$e(a)}}}function Ue(o){var de,fe;let l,s,a=o[0].name+"",_,p,i,u,m,$,q,j=o[0].name+"",N,te,Q,w,z,C,G,P,D,le,H,S,se,J,O=o[0].name+"",K,ae,W,T,X,R,Y,V,Z,y,M,v=[],oe=new Map,ne,A,k=[],ie=new Map,B;w=new Ae({props:{js:` +import{S as qe,i as we,s as Pe,O as F,e as r,w as g,b as h,c as ve,f as b,g as d,h as n,m as ge,x as I,P as pe,Q as ye,k as Be,R as Ce,n as Se,t as x,a as ee,o as f,d as $e,C as Te,p as Re,r as L,u as Ve,N as Me}from"./index-47fb2c5c.js";import{S as Ae}from"./SdkTabs-13ccb207.js";function be(o,l,s){const a=o.slice();return a[5]=l[s],a}function _e(o,l,s){const a=o.slice();return a[5]=l[s],a}function ke(o,l){let s,a=l[5].code+"",_,p,i,u;function m(){return l[4](l[5])}return{key:o,first:null,c(){s=r("button"),_=g(a),p=h(),b(s,"class","tab-item"),L(s,"active",l[1]===l[5].code),this.first=s},m($,q){d($,s,q),n(s,_),n(s,p),i||(u=Ve(s,"click",m),i=!0)},p($,q){l=$,q&4&&a!==(a=l[5].code+"")&&I(_,a),q&6&&L(s,"active",l[1]===l[5].code)},d($){$&&f(s),i=!1,u()}}}function he(o,l){let s,a,_,p;return a=new Me({props:{content:l[5].body}}),{key:o,first:null,c(){s=r("div"),ve(a.$$.fragment),_=h(),b(s,"class","tab-item"),L(s,"active",l[1]===l[5].code),this.first=s},m(i,u){d(i,s,u),ge(a,s,null),n(s,_),p=!0},p(i,u){l=i;const m={};u&4&&(m.content=l[5].body),a.$set(m),(!p||u&6)&&L(s,"active",l[1]===l[5].code)},i(i){p||(x(a.$$.fragment,i),p=!0)},o(i){ee(a.$$.fragment,i),p=!1},d(i){i&&f(s),$e(a)}}}function Ue(o){var de,fe;let l,s,a=o[0].name+"",_,p,i,u,m,$,q,j=o[0].name+"",N,te,Q,w,z,C,G,P,D,le,H,S,se,J,O=o[0].name+"",K,ae,W,T,X,R,Y,V,Z,y,M,v=[],oe=new Map,ne,A,k=[],ie=new Map,B;w=new Ae({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${o[3]}'); diff --git a/ui/dist/assets/SdkTabs-f85ceb47.js b/ui/dist/assets/SdkTabs-13ccb207.js similarity index 98% rename from ui/dist/assets/SdkTabs-f85ceb47.js rename to ui/dist/assets/SdkTabs-13ccb207.js index bd502f59..caabf9a9 100644 --- a/ui/dist/assets/SdkTabs-f85ceb47.js +++ b/ui/dist/assets/SdkTabs-13ccb207.js @@ -1 +1 @@ -import{S as B,i as F,s as J,O as j,e as v,b as S,f as h,g as w,h as m,P as D,Q as O,k as Q,R as Y,n as z,t as N,a as P,o as C,w as E,r as y,u as A,x as q,N as G,c as H,m as L,d as U}from"./index-09db7a88.js";function K(o,e,l){const s=o.slice();return s[6]=e[l],s}function R(o,e,l){const s=o.slice();return s[6]=e[l],s}function T(o,e){let l,s,g=e[6].title+"",r,i,n,k;function c(){return e[5](e[6])}return{key:o,first:null,c(){l=v("button"),s=v("div"),r=E(g),i=S(),h(s,"class","txt"),h(l,"class","tab-item svelte-1maocj6"),y(l,"active",e[1]===e[6].language),this.first=l},m(_,f){w(_,l,f),m(l,s),m(s,r),m(l,i),n||(k=A(l,"click",c),n=!0)},p(_,f){e=_,f&4&&g!==(g=e[6].title+"")&&q(r,g),f&6&&y(l,"active",e[1]===e[6].language)},d(_){_&&C(l),n=!1,k()}}}function I(o,e){let l,s,g,r,i,n,k=e[6].title+"",c,_,f,p,d;return s=new G({props:{language:e[6].language,content:e[6].content}}),{key:o,first:null,c(){l=v("div"),H(s.$$.fragment),g=S(),r=v("div"),i=v("em"),n=v("a"),c=E(k),_=E(" SDK"),p=S(),h(n,"href",f=e[6].url),h(n,"target","_blank"),h(n,"rel","noopener noreferrer"),h(i,"class","txt-sm txt-hint"),h(r,"class","txt-right"),h(l,"class","tab-item svelte-1maocj6"),y(l,"active",e[1]===e[6].language),this.first=l},m(b,t){w(b,l,t),L(s,l,null),m(l,g),m(l,r),m(r,i),m(i,n),m(n,c),m(n,_),m(l,p),d=!0},p(b,t){e=b;const a={};t&4&&(a.language=e[6].language),t&4&&(a.content=e[6].content),s.$set(a),(!d||t&4)&&k!==(k=e[6].title+"")&&q(c,k),(!d||t&4&&f!==(f=e[6].url))&&h(n,"href",f),(!d||t&6)&&y(l,"active",e[1]===e[6].language)},i(b){d||(N(s.$$.fragment,b),d=!0)},o(b){P(s.$$.fragment,b),d=!1},d(b){b&&C(l),U(s)}}}function V(o){let e,l,s=[],g=new Map,r,i,n=[],k=new Map,c,_,f=j(o[2]);const p=t=>t[6].language;for(let t=0;tt[6].language;for(let t=0;tl(1,n=c.language);return o.$$set=c=>{"class"in c&&l(0,g=c.class),"js"in c&&l(3,r=c.js),"dart"in c&&l(4,i=c.dart)},o.$$.update=()=>{o.$$.dirty&2&&n&&localStorage.setItem(M,n),o.$$.dirty&24&&l(2,s=[{title:"JavaScript",language:"javascript",content:r,url:"https://github.com/pocketbase/js-sdk"},{title:"Dart",language:"dart",content:i,url:"https://github.com/pocketbase/dart-sdk"}])},[g,n,s,r,i,k]}class Z extends B{constructor(e){super(),F(this,e,W,V,J,{class:0,js:3,dart:4})}}export{Z as S}; +import{S as B,i as F,s as J,O as j,e as v,b as S,f as h,g as w,h as m,P as D,Q as O,k as Q,R as Y,n as z,t as N,a as P,o as C,w as E,r as y,u as A,x as q,N as G,c as H,m as L,d as U}from"./index-47fb2c5c.js";function K(o,e,l){const s=o.slice();return s[6]=e[l],s}function R(o,e,l){const s=o.slice();return s[6]=e[l],s}function T(o,e){let l,s,g=e[6].title+"",r,i,n,k;function c(){return e[5](e[6])}return{key:o,first:null,c(){l=v("button"),s=v("div"),r=E(g),i=S(),h(s,"class","txt"),h(l,"class","tab-item svelte-1maocj6"),y(l,"active",e[1]===e[6].language),this.first=l},m(_,f){w(_,l,f),m(l,s),m(s,r),m(l,i),n||(k=A(l,"click",c),n=!0)},p(_,f){e=_,f&4&&g!==(g=e[6].title+"")&&q(r,g),f&6&&y(l,"active",e[1]===e[6].language)},d(_){_&&C(l),n=!1,k()}}}function I(o,e){let l,s,g,r,i,n,k=e[6].title+"",c,_,f,p,d;return s=new G({props:{language:e[6].language,content:e[6].content}}),{key:o,first:null,c(){l=v("div"),H(s.$$.fragment),g=S(),r=v("div"),i=v("em"),n=v("a"),c=E(k),_=E(" SDK"),p=S(),h(n,"href",f=e[6].url),h(n,"target","_blank"),h(n,"rel","noopener noreferrer"),h(i,"class","txt-sm txt-hint"),h(r,"class","txt-right"),h(l,"class","tab-item svelte-1maocj6"),y(l,"active",e[1]===e[6].language),this.first=l},m(b,t){w(b,l,t),L(s,l,null),m(l,g),m(l,r),m(r,i),m(i,n),m(n,c),m(n,_),m(l,p),d=!0},p(b,t){e=b;const a={};t&4&&(a.language=e[6].language),t&4&&(a.content=e[6].content),s.$set(a),(!d||t&4)&&k!==(k=e[6].title+"")&&q(c,k),(!d||t&4&&f!==(f=e[6].url))&&h(n,"href",f),(!d||t&6)&&y(l,"active",e[1]===e[6].language)},i(b){d||(N(s.$$.fragment,b),d=!0)},o(b){P(s.$$.fragment,b),d=!1},d(b){b&&C(l),U(s)}}}function V(o){let e,l,s=[],g=new Map,r,i,n=[],k=new Map,c,_,f=j(o[2]);const p=t=>t[6].language;for(let t=0;tt[6].language;for(let t=0;tl(1,n=c.language);return o.$$set=c=>{"class"in c&&l(0,g=c.class),"js"in c&&l(3,r=c.js),"dart"in c&&l(4,i=c.dart)},o.$$.update=()=>{o.$$.dirty&2&&n&&localStorage.setItem(M,n),o.$$.dirty&24&&l(2,s=[{title:"JavaScript",language:"javascript",content:r,url:"https://github.com/pocketbase/js-sdk"},{title:"Dart",language:"dart",content:i,url:"https://github.com/pocketbase/dart-sdk"}])},[g,n,s,r,i,k]}class Z extends B{constructor(e){super(),F(this,e,W,V,J,{class:0,js:3,dart:4})}}export{Z as S}; diff --git a/ui/dist/assets/UnlinkExternalAuthDocs-5b37db26.js b/ui/dist/assets/UnlinkExternalAuthDocs-e7edd773.js similarity index 98% rename from ui/dist/assets/UnlinkExternalAuthDocs-5b37db26.js rename to ui/dist/assets/UnlinkExternalAuthDocs-e7edd773.js index 3d73e504..12318fd9 100644 --- a/ui/dist/assets/UnlinkExternalAuthDocs-5b37db26.js +++ b/ui/dist/assets/UnlinkExternalAuthDocs-e7edd773.js @@ -1,4 +1,4 @@ -import{S as Oe,i as De,s as Me,O as j,e as i,w as g,b as f,c as Be,f as b,g as d,h as a,m as Ue,x as I,P as Ae,Q as We,k as ze,R as He,n as Le,t as oe,a as ae,o as u,d as qe,C as Re,p as je,r as N,u as Ie,N as Ne}from"./index-09db7a88.js";import{S as Ke}from"./SdkTabs-f85ceb47.js";function Ce(n,l,o){const s=n.slice();return s[5]=l[o],s}function Te(n,l,o){const s=n.slice();return s[5]=l[o],s}function Ee(n,l){let o,s=l[5].code+"",_,h,c,p;function m(){return l[4](l[5])}return{key:n,first:null,c(){o=i("button"),_=g(s),h=f(),b(o,"class","tab-item"),N(o,"active",l[1]===l[5].code),this.first=o},m($,P){d($,o,P),a(o,_),a(o,h),c||(p=Ie(o,"click",m),c=!0)},p($,P){l=$,P&4&&s!==(s=l[5].code+"")&&I(_,s),P&6&&N(o,"active",l[1]===l[5].code)},d($){$&&u(o),c=!1,p()}}}function Se(n,l){let o,s,_,h;return s=new Ne({props:{content:l[5].body}}),{key:n,first:null,c(){o=i("div"),Be(s.$$.fragment),_=f(),b(o,"class","tab-item"),N(o,"active",l[1]===l[5].code),this.first=o},m(c,p){d(c,o,p),Ue(s,o,null),a(o,_),h=!0},p(c,p){l=c;const m={};p&4&&(m.content=l[5].body),s.$set(m),(!h||p&6)&&N(o,"active",l[1]===l[5].code)},i(c){h||(oe(s.$$.fragment,c),h=!0)},o(c){ae(s.$$.fragment,c),h=!1},d(c){c&&u(o),qe(s)}}}function Qe(n){var _e,ke,ge,ve;let l,o,s=n[0].name+"",_,h,c,p,m,$,P,M=n[0].name+"",K,se,ne,Q,F,A,G,E,J,w,W,ie,z,y,ce,V,H=n[0].name+"",X,re,Y,de,Z,ue,L,x,S,ee,B,te,U,le,C,q,v=[],pe=new Map,me,O,k=[],be=new Map,T;A=new Ke({props:{js:` +import{S as Oe,i as De,s as Me,O as j,e as i,w as g,b as f,c as Be,f as b,g as d,h as a,m as Ue,x as I,P as Ae,Q as We,k as ze,R as He,n as Le,t as oe,a as ae,o as u,d as qe,C as Re,p as je,r as N,u as Ie,N as Ne}from"./index-47fb2c5c.js";import{S as Ke}from"./SdkTabs-13ccb207.js";function Ce(n,l,o){const s=n.slice();return s[5]=l[o],s}function Te(n,l,o){const s=n.slice();return s[5]=l[o],s}function Ee(n,l){let o,s=l[5].code+"",_,h,c,p;function m(){return l[4](l[5])}return{key:n,first:null,c(){o=i("button"),_=g(s),h=f(),b(o,"class","tab-item"),N(o,"active",l[1]===l[5].code),this.first=o},m($,P){d($,o,P),a(o,_),a(o,h),c||(p=Ie(o,"click",m),c=!0)},p($,P){l=$,P&4&&s!==(s=l[5].code+"")&&I(_,s),P&6&&N(o,"active",l[1]===l[5].code)},d($){$&&u(o),c=!1,p()}}}function Se(n,l){let o,s,_,h;return s=new Ne({props:{content:l[5].body}}),{key:n,first:null,c(){o=i("div"),Be(s.$$.fragment),_=f(),b(o,"class","tab-item"),N(o,"active",l[1]===l[5].code),this.first=o},m(c,p){d(c,o,p),Ue(s,o,null),a(o,_),h=!0},p(c,p){l=c;const m={};p&4&&(m.content=l[5].body),s.$set(m),(!h||p&6)&&N(o,"active",l[1]===l[5].code)},i(c){h||(oe(s.$$.fragment,c),h=!0)},o(c){ae(s.$$.fragment,c),h=!1},d(c){c&&u(o),qe(s)}}}function Qe(n){var _e,ke,ge,ve;let l,o,s=n[0].name+"",_,h,c,p,m,$,P,M=n[0].name+"",K,se,ne,Q,F,A,G,E,J,w,W,ie,z,y,ce,V,H=n[0].name+"",X,re,Y,de,Z,ue,L,x,S,ee,B,te,U,le,C,q,v=[],pe=new Map,me,O,k=[],be=new Map,T;A=new Ke({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${n[3]}'); diff --git a/ui/dist/assets/UpdateApiDocs-0ce7d166.js b/ui/dist/assets/UpdateApiDocs-b65dc7ea.js similarity index 98% rename from ui/dist/assets/UpdateApiDocs-0ce7d166.js rename to ui/dist/assets/UpdateApiDocs-b65dc7ea.js index 3de7417d..a8dbef5a 100644 --- a/ui/dist/assets/UpdateApiDocs-0ce7d166.js +++ b/ui/dist/assets/UpdateApiDocs-b65dc7ea.js @@ -1,4 +1,4 @@ -import{S as $t,i as Mt,s as qt,C as I,O as Z,N as Ot,e as r,w as b,b as f,c as he,f as v,g as i,h as s,m as ye,x as J,P as Ee,Q as _t,k as Ht,R as Rt,n as Dt,t as ce,a as pe,o as d,d as ke,p as Lt,r as ve,u as Pt,y as ee}from"./index-09db7a88.js";import{S as Ft}from"./SdkTabs-f85ceb47.js";import{F as Nt}from"./FieldsQueryParam-8145215c.js";function ht(c,e,t){const n=c.slice();return n[8]=e[t],n}function yt(c,e,t){const n=c.slice();return n[8]=e[t],n}function kt(c,e,t){const n=c.slice();return n[13]=e[t],n}function vt(c){let e;return{c(){e=r("p"),e.innerHTML=`Note that in case of a password change all previously issued tokens for the current record +import{S as $t,i as Mt,s as qt,C as I,O as Z,N as Ot,e as r,w as b,b as f,c as he,f as v,g as i,h as s,m as ye,x as J,P as Ee,Q as _t,k as Ht,R as Rt,n as Dt,t as ce,a as pe,o as d,d as ke,p as Lt,r as ve,u as Pt,y as ee}from"./index-47fb2c5c.js";import{S as Ft}from"./SdkTabs-13ccb207.js";import{F as Nt}from"./FieldsQueryParam-e970c01f.js";function ht(c,e,t){const n=c.slice();return n[8]=e[t],n}function yt(c,e,t){const n=c.slice();return n[8]=e[t],n}function kt(c,e,t){const n=c.slice();return n[13]=e[t],n}function vt(c){let e;return{c(){e=r("p"),e.innerHTML=`Note that in case of a password change all previously issued tokens for the current record will be automatically invalidated and if you want your user to remain signed in you need to reauthenticate manually after the update call.`},m(t,n){i(t,e,n)},d(t){t&&d(e)}}}function gt(c){let e;return{c(){e=r("p"),e.innerHTML="Requires admin Authorization:TOKEN header",v(e,"class","txt-hint txt-sm txt-right")},m(t,n){i(t,e,n)},d(t){t&&d(e)}}}function wt(c){let e,t,n,u,m,o,p,h,w,S,g,$,P,E,M,U,F;return{c(){e=r("tr"),e.innerHTML='Auth fields',t=f(),n=r("tr"),n.innerHTML='
Optional username
String The username of the auth record.',u=f(),m=r("tr"),m.innerHTML=`
Optional email
String The auth record email address.
diff --git a/ui/dist/assets/ViewApiDocs-86eb625e.js b/ui/dist/assets/ViewApiDocs-e8aac727.js similarity index 97% rename from ui/dist/assets/ViewApiDocs-86eb625e.js rename to ui/dist/assets/ViewApiDocs-e8aac727.js index 99bad8aa..dd92727e 100644 --- a/ui/dist/assets/ViewApiDocs-86eb625e.js +++ b/ui/dist/assets/ViewApiDocs-e8aac727.js @@ -1,4 +1,4 @@ -import{S as lt,i as nt,s as st,N as tt,O as K,e as o,w as _,b as m,c as W,f as b,g as r,h as l,m as X,x as ve,P as Je,Q as ot,k as at,R as it,n as rt,t as Q,a as U,o as d,d as Y,C as Ke,p as dt,r as Z,u as ct}from"./index-09db7a88.js";import{S as pt}from"./SdkTabs-f85ceb47.js";import{F as ut}from"./FieldsQueryParam-8145215c.js";function We(a,n,s){const i=a.slice();return i[6]=n[s],i}function Xe(a,n,s){const i=a.slice();return i[6]=n[s],i}function Ye(a){let n;return{c(){n=o("p"),n.innerHTML="Requires admin Authorization:TOKEN header",b(n,"class","txt-hint txt-sm txt-right")},m(s,i){r(s,n,i)},d(s){s&&d(n)}}}function Ze(a,n){let s,i,v;function p(){return n[5](n[6])}return{key:a,first:null,c(){s=o("button"),s.textContent=`${n[6].code} `,b(s,"class","tab-item"),Z(s,"active",n[2]===n[6].code),this.first=s},m(c,f){r(c,s,f),i||(v=ct(s,"click",p),i=!0)},p(c,f){n=c,f&20&&Z(s,"active",n[2]===n[6].code)},d(c){c&&d(s),i=!1,v()}}}function et(a,n){let s,i,v,p;return i=new tt({props:{content:n[6].body}}),{key:a,first:null,c(){s=o("div"),W(i.$$.fragment),v=m(),b(s,"class","tab-item"),Z(s,"active",n[2]===n[6].code),this.first=s},m(c,f){r(c,s,f),X(i,s,null),l(s,v),p=!0},p(c,f){n=c,(!p||f&20)&&Z(s,"active",n[2]===n[6].code)},i(c){p||(Q(i.$$.fragment,c),p=!0)},o(c){U(i.$$.fragment,c),p=!1},d(c){c&&d(s),Y(i)}}}function ft(a){var je,Ve;let n,s,i=a[0].name+"",v,p,c,f,w,C,ee,j=a[0].name+"",te,$e,le,F,ne,x,se,$,V,ye,z,T,we,oe,G=a[0].name+"",ae,Ce,ie,Fe,re,B,de,A,ce,I,pe,R,ue,Re,M,O,fe,Oe,me,Pe,h,De,E,Te,Ee,Se,be,xe,_e,Be,Ae,Ie,he,Me,qe,S,ke,q,ge,P,H,y=[],He=new Map,Le,L,k=[],Ne=new Map,D;F=new pt({props:{js:` +import{S as lt,i as nt,s as st,N as tt,O as K,e as o,w as _,b as m,c as W,f as b,g as r,h as l,m as X,x as ve,P as Je,Q as ot,k as at,R as it,n as rt,t as Q,a as U,o as d,d as Y,C as Ke,p as dt,r as Z,u as ct}from"./index-47fb2c5c.js";import{S as pt}from"./SdkTabs-13ccb207.js";import{F as ut}from"./FieldsQueryParam-e970c01f.js";function We(a,n,s){const i=a.slice();return i[6]=n[s],i}function Xe(a,n,s){const i=a.slice();return i[6]=n[s],i}function Ye(a){let n;return{c(){n=o("p"),n.innerHTML="Requires admin Authorization:TOKEN header",b(n,"class","txt-hint txt-sm txt-right")},m(s,i){r(s,n,i)},d(s){s&&d(n)}}}function Ze(a,n){let s,i,v;function p(){return n[5](n[6])}return{key:a,first:null,c(){s=o("button"),s.textContent=`${n[6].code} `,b(s,"class","tab-item"),Z(s,"active",n[2]===n[6].code),this.first=s},m(c,f){r(c,s,f),i||(v=ct(s,"click",p),i=!0)},p(c,f){n=c,f&20&&Z(s,"active",n[2]===n[6].code)},d(c){c&&d(s),i=!1,v()}}}function et(a,n){let s,i,v,p;return i=new tt({props:{content:n[6].body}}),{key:a,first:null,c(){s=o("div"),W(i.$$.fragment),v=m(),b(s,"class","tab-item"),Z(s,"active",n[2]===n[6].code),this.first=s},m(c,f){r(c,s,f),X(i,s,null),l(s,v),p=!0},p(c,f){n=c,(!p||f&20)&&Z(s,"active",n[2]===n[6].code)},i(c){p||(Q(i.$$.fragment,c),p=!0)},o(c){U(i.$$.fragment,c),p=!1},d(c){c&&d(s),Y(i)}}}function ft(a){var je,Ve;let n,s,i=a[0].name+"",v,p,c,f,w,C,ee,j=a[0].name+"",te,$e,le,F,ne,x,se,$,V,ye,z,T,we,oe,G=a[0].name+"",ae,Ce,ie,Fe,re,B,de,A,ce,I,pe,R,ue,Re,M,O,fe,Oe,me,Pe,h,De,E,Te,Ee,Se,be,xe,_e,Be,Ae,Ie,he,Me,qe,S,ke,q,ge,P,H,y=[],He=new Map,Le,L,k=[],Ne=new Map,D;F=new pt({props:{js:` import PocketBase from 'pocketbase'; const pb = new PocketBase('${a[3]}'); diff --git a/ui/dist/assets/index-09db7a88.js b/ui/dist/assets/index-47fb2c5c.js similarity index 99% rename from ui/dist/assets/index-09db7a88.js rename to ui/dist/assets/index-47fb2c5c.js index 35ef02f0..a71df72d 100644 --- a/ui/dist/assets/index-09db7a88.js +++ b/ui/dist/assets/index-47fb2c5c.js @@ -4,14 +4,14 @@ var xb=Object.defineProperty;var e0=(n,e,t)=>e in n?xb(n,e,{enumerable:!0,config }`,c=`__svelte_${f0(f)}_${r}`,d=Tg(n),{stylesheet:m,rules:h}=yo.get(d)||c0(d,n);h[c]||(h[c]=!0,m.insertRule(`@keyframes ${c} ${f}`,m.cssRules.length));const _=n.style.animation||"";return n.style.animation=`${_?`${_}, `:""}${c} ${i}ms linear ${l}ms 1 both`,ko+=1,c}function as(n,e){const t=(n.style.animation||"").split(", "),i=t.filter(e?s=>s.indexOf(e)<0:s=>s.indexOf("__svelte")===-1),l=t.length-i.length;l&&(n.style.animation=i.join(", "),ko-=l,ko||d0())}function d0(){da(()=>{ko||(yo.forEach(n=>{const{ownerNode:e}=n.stylesheet;e&&v(e)}),yo.clear())})}function p0(n,e,t,i){if(!e)return Q;const l=n.getBoundingClientRect();if(e.left===l.left&&e.right===l.right&&e.top===l.top&&e.bottom===l.bottom)return Q;const{delay:s=0,duration:o=300,easing:r=ks,start:a=jo()+s,end:u=a+o,tick:f=Q,css:c}=t(n,{from:e,to:l},i);let d=!0,m=!1,h;function _(){c&&(h=rs(n,0,1,o,s,r,c)),s||(m=!0)}function g(){c&&as(n,h),d=!1}return Ho(k=>{if(!m&&k>=a&&(m=!0),m&&k>=u&&(f(1,0),g()),!d)return!1;if(m){const S=k-a,T=0+1*r(S/o);f(T,1-T)}return!0}),_(),f(0,1),g}function m0(n){const e=getComputedStyle(n);if(e.position!=="absolute"&&e.position!=="fixed"){const{width:t,height:i}=e,l=n.getBoundingClientRect();n.style.position="absolute",n.style.width=t,n.style.height=i,Mg(n,l)}}function Mg(n,e){const t=n.getBoundingClientRect();if(e.left!==t.left||e.top!==t.top){const i=getComputedStyle(n),l=i.transform==="none"?"":i.transform;n.style.transform=`${l} translate(${e.left-t.left}px, ${e.top-t.top}px)`}}let us;function di(n){us=n}function vs(){if(!us)throw new Error("Function called outside component initialization");return us}function Vt(n){vs().$$.on_mount.push(n)}function h0(n){vs().$$.after_update.push(n)}function ws(n){vs().$$.on_destroy.push(n)}function ot(){const n=vs();return(e,t,{cancelable:i=!1}={})=>{const l=n.$$.callbacks[e];if(l){const s=Cg(e,t,{cancelable:i});return l.slice().forEach(o=>{o.call(n,s)}),!s.defaultPrevented}return!0}}function Ae(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach(i=>i.call(this,e))}const hl=[],te=[];let gl=[];const jr=[],Og=Promise.resolve();let Hr=!1;function Dg(){Hr||(Hr=!0,Og.then(pa))}function Qt(){return Dg(),Og}function Ke(n){gl.push(n)}function ye(n){jr.push(n)}const ir=new Set;let cl=0;function pa(){if(cl!==0)return;const n=us;do{try{for(;cln.indexOf(i)===-1?e.push(i):t.push(i)),t.forEach(i=>i()),gl=e}let Fl;function ma(){return Fl||(Fl=Promise.resolve(),Fl.then(()=>{Fl=null})),Fl}function Gi(n,e,t){n.dispatchEvent(Cg(`${e?"intro":"outro"}${t}`))}const oo=new Set;let ei;function oe(){ei={r:0,c:[],p:ei}}function re(){ei.r||we(ei.c),ei=ei.p}function A(n,e){n&&n.i&&(oo.delete(n),n.i(e))}function I(n,e,t,i){if(n&&n.o){if(oo.has(n))return;oo.add(n),ei.c.push(()=>{oo.delete(n),i&&(t&&n.d(1),i())}),n.o(e)}else i&&i()}const ha={duration:0};function Eg(n,e,t){const i={direction:"in"};let l=e(n,t,i),s=!1,o,r,a=0;function u(){o&&as(n,o)}function f(){const{delay:d=0,duration:m=300,easing:h=ks,tick:_=Q,css:g}=l||ha;g&&(o=rs(n,0,1,m,d,h,g,a++)),_(0,1);const k=jo()+d,S=k+m;r&&r.abort(),s=!0,Ke(()=>Gi(n,!0,"start")),r=Ho(T=>{if(s){if(T>=S)return _(1,0),Gi(n,!0,"end"),u(),s=!1;if(T>=k){const $=h((T-k)/m);_($,1-$)}}return s})}let c=!1;return{start(){c||(c=!0,as(n),$t(l)?(l=l(i),ma().then(f)):f())},invalidate(){c=!1},end(){s&&(u(),s=!1)}}}function _a(n,e,t){const i={direction:"out"};let l=e(n,t,i),s=!0,o;const r=ei;r.r+=1;let a;function u(){const{delay:f=0,duration:c=300,easing:d=ks,tick:m=Q,css:h}=l||ha;h&&(o=rs(n,1,0,c,f,d,h));const _=jo()+f,g=_+c;Ke(()=>Gi(n,!1,"start")),"inert"in n&&(a=n.inert,n.inert=!0),Ho(k=>{if(s){if(k>=g)return m(0,1),Gi(n,!1,"end"),--r.r||we(r.c),!1;if(k>=_){const S=d((k-_)/c);m(1-S,S)}}return s})}return $t(l)?ma().then(()=>{l=l(i),u()}):u(),{end(f){f&&"inert"in n&&(n.inert=a),f&&l.tick&&l.tick(1,0),s&&(o&&as(n,o),s=!1)}}}function Pe(n,e,t,i){let s=e(n,t,{direction:"both"}),o=i?0:1,r=null,a=null,u=null,f;function c(){u&&as(n,u)}function d(h,_){const g=h.b-o;return _*=Math.abs(g),{a:o,b:h.b,d:g,duration:_,start:h.start,end:h.start+_,group:h.group}}function m(h){const{delay:_=0,duration:g=300,easing:k=ks,tick:S=Q,css:T}=s||ha,$={start:jo()+_,b:h};h||($.group=ei,ei.r+=1),"inert"in n&&(h?f!==void 0&&(n.inert=f):(f=n.inert,n.inert=!0)),r||a?a=$:(T&&(c(),u=rs(n,o,h,g,_,k,T)),h&&S(0,1),r=d($,g),Ke(()=>Gi(n,h,"start")),Ho(C=>{if(a&&C>a.start&&(r=d(a,g),a=null,Gi(n,r.b,"start"),T&&(c(),u=rs(n,o,r.b,r.duration,0,k,s.css))),r){if(C>=r.end)S(o=r.b,1-o),Gi(n,r.b,"end"),a||(r.b?c():--r.group.r||we(r.group.c)),r=null;else if(C>=r.start){const D=C-r.start;o=r.a+r.d*k(D/r.duration),S(o,1-o)}}return!!(r||a)}))}return{run(h){$t(s)?ma().then(()=>{s=s({direction:h?"in":"out"}),m(h)}):m(h)},end(){c(),r=a=null}}}function lu(n,e){const t=e.token={};function i(l,s,o,r){if(e.token!==t)return;e.resolved=r;let a=e.ctx;o!==void 0&&(a=a.slice(),a[o]=r);const u=l&&(e.current=l)(a);let f=!1;e.block&&(e.blocks?e.blocks.forEach((c,d)=>{d!==s&&c&&(oe(),I(c,1,1,()=>{e.blocks[d]===c&&(e.blocks[d]=null)}),re())}):e.block.d(1),u.c(),A(u,1),u.m(e.mount(),e.anchor),f=!0),e.block=u,e.blocks&&(e.blocks[s]=u),f&&pa()}if(t0(n)){const l=vs();if(n.then(s=>{di(l),i(e.then,1,e.value,s),di(null)},s=>{if(di(l),i(e.catch,2,e.error,s),di(null),!e.hasCatch)throw s}),e.current!==e.pending)return i(e.pending,0),!0}else{if(e.current!==e.then)return i(e.then,1,e.value,n),!0;e.resolved=n}}function b0(n,e,t){const i=e.slice(),{resolved:l}=n;n.current===n.then&&(i[n.value]=l),n.current===n.catch&&(i[n.error]=l),n.block.p(i,t)}function pe(n){return(n==null?void 0:n.length)!==void 0?n:Array.from(n)}function Li(n,e){n.d(1),e.delete(n.key)}function Lt(n,e){I(n,1,1,()=>{e.delete(n.key)})}function y0(n,e){n.f(),Lt(n,e)}function dt(n,e,t,i,l,s,o,r,a,u,f,c){let d=n.length,m=s.length,h=d;const _={};for(;h--;)_[n[h].key]=h;const g=[],k=new Map,S=new Map,T=[];for(h=m;h--;){const O=c(l,s,h),E=t(O);let L=o.get(E);L?i&&T.push(()=>L.p(O,e)):(L=u(E,O),L.c()),k.set(E,g[h]=L),E in _&&S.set(E,Math.abs(h-_[E]))}const $=new Set,C=new Set;function D(O){A(O,1),O.m(r,f),o.set(O.key,O),f=O.first,m--}for(;d&&m;){const O=g[m-1],E=n[d-1],L=O.key,F=E.key;O===E?(f=O.first,d--,m--):k.has(F)?!o.has(L)||$.has(L)?D(O):C.has(F)?d--:S.get(L)>S.get(F)?(C.add(L),D(O)):($.add(F),d--):(a(E,o),d--)}for(;d--;){const O=n[d];k.has(O.key)||a(O,o)}for(;m;)D(g[m-1]);return we(T),g}function pt(n,e){const t={},i={},l={$$scope:1};let s=n.length;for(;s--;){const o=n[s],r=e[s];if(r){for(const a in o)a in r||(i[a]=1);for(const a in r)l[a]||(t[a]=r[a],l[a]=1);n[s]=r}else for(const a in o)l[a]=1}for(const o in i)o in t||(t[o]=void 0);return t}function Tt(n){return typeof n=="object"&&n!==null?n:{}}function be(n,e,t){const i=n.$$.props[e];i!==void 0&&(n.$$.bound[i]=t,t(n.$$.ctx[i]))}function V(n){n&&n.c()}function H(n,e,t){const{fragment:i,after_update:l}=n.$$;i&&i.m(e,t),Ke(()=>{const s=n.$$.on_mount.map(vg).filter($t);n.$$.on_destroy?n.$$.on_destroy.push(...s):we(s),n.$$.on_mount=[]}),l.forEach(Ke)}function z(n,e){const t=n.$$;t.fragment!==null&&(g0(t.after_update),we(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function k0(n,e){n.$$.dirty[0]===-1&&(hl.push(n),Dg(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{const h=m.length?m[0]:d;return u.ctx&&l(u.ctx[c],u.ctx[c]=h)&&(!u.skip_bound&&u.bound[c]&&u.bound[c](h),f&&k0(n,c)),d}):[],u.update(),f=!0,we(u.before_update),u.fragment=i?i(u.ctx):!1,e.target){if(e.hydrate){const c=a0(e.target);u.fragment&&u.fragment.l(c),c.forEach(v)}else u.fragment&&u.fragment.c();e.intro&&A(n.$$.fragment),H(n,e.target,e.anchor),pa()}di(a)}class ge{constructor(){Ue(this,"$$");Ue(this,"$$set")}$destroy(){z(this,1),this.$destroy=Q}$on(e,t){if(!$t(t))return Q;const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(t),()=>{const l=i.indexOf(t);l!==-1&&i.splice(l,1)}}$set(e){this.$$set&&!n0(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const v0="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(v0);function Ft(n){if(!n)throw Error("Parameter args is required");if(!n.component==!n.asyncComponent)throw Error("One and only one of component and asyncComponent is required");if(n.component&&(n.asyncComponent=()=>Promise.resolve(n.component)),typeof n.asyncComponent!="function")throw Error("Parameter asyncComponent must be a function");if(n.conditions){Array.isArray(n.conditions)||(n.conditions=[n.conditions]);for(let t=0;t{i.delete(u),i.size===0&&t&&(t(),t=null)}}return{set:l,update:s,subscribe:o}}function Ig(n,e,t){const i=!Array.isArray(n),l=i?[n]:n;if(!l.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const s=e.length<2;return Ag(t,(o,r)=>{let a=!1;const u=[];let f=0,c=Q;const d=()=>{if(f)return;c();const h=e(i?u[0]:u,o,r);s?o(h):c=$t(h)?h:Q},m=l.map((h,_)=>ca(h,g=>{u[_]=g,f&=~(1<<_),a&&d()},()=>{f|=1<<_}));return a=!0,d(),function(){we(m),c(),a=!1}})}function Lg(n,e){if(n instanceof RegExp)return{keys:!1,pattern:n};var t,i,l,s,o=[],r="",a=n.split("/");for(a[0]||a.shift();l=a.shift();)t=l[0],t==="*"?(o.push("wild"),r+="/(.*)"):t===":"?(i=l.indexOf("?",1),s=l.indexOf(".",1),o.push(l.substring(1,~i?i:~s?s:l.length)),r+=~i&&!~s?"(?:/([^/]+?))?":"/([^/]+?)",~s&&(r+=(~i?"?":"")+"\\"+l.substring(s))):r+="/"+l;return{keys:o,pattern:new RegExp("^"+r+(e?"(?=$|/)":"/?$"),"i")}}function w0(n){let e,t,i;const l=[n[2]];var s=n[0];function o(r,a){let u={};if(a!==void 0&&a&4)u=pt(l,[Tt(r[2])]);else for(let f=0;f{z(u,1)}),re()}s?(e=Ot(s,o(r,a)),e.$on("routeEvent",r[7]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else if(s){const u=a&4?pt(l,[Tt(r[2])]):{};e.$set(u)}},i(r){i||(e&&A(e.$$.fragment,r),i=!0)},o(r){e&&I(e.$$.fragment,r),i=!1},d(r){r&&v(t),e&&z(e,r)}}}function S0(n){let e,t,i;const l=[{params:n[1]},n[2]];var s=n[0];function o(r,a){let u={};if(a!==void 0&&a&6)u=pt(l,[a&2&&{params:r[1]},a&4&&Tt(r[2])]);else for(let f=0;f{z(u,1)}),re()}s?(e=Ot(s,o(r,a)),e.$on("routeEvent",r[6]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else if(s){const u=a&6?pt(l,[a&2&&{params:r[1]},a&4&&Tt(r[2])]):{};e.$set(u)}},i(r){i||(e&&A(e.$$.fragment,r),i=!0)},o(r){e&&I(e.$$.fragment,r),i=!1},d(r){r&&v(t),e&&z(e,r)}}}function $0(n){let e,t,i,l;const s=[S0,w0],o=[];function r(a,u){return a[1]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,[u]){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}function su(){const n=window.location.href.indexOf("#/");let e=n>-1?window.location.href.substr(n+1):"/";const t=e.indexOf("?");let i="";return t>-1&&(i=e.substr(t+1),e=e.substr(0,t)),{location:e,querystring:i}}const zo=Ag(null,function(e){e(su());const t=()=>{e(su())};return window.addEventListener("hashchange",t,!1),function(){window.removeEventListener("hashchange",t,!1)}});Ig(zo,n=>n.location);const Vo=Ig(zo,n=>n.querystring),ou=Dn(void 0);async function nl(n){if(!n||n.length<1||n.charAt(0)!="/"&&n.indexOf("#/")!==0)throw Error("Invalid parameter location");await Qt();const e=(n.charAt(0)=="#"?"":"#")+n;try{const t={...history.state};delete t.__svelte_spa_router_scrollX,delete t.__svelte_spa_router_scrollY,window.history.replaceState(t,void 0,e)}catch{console.warn("Caught exception while replacing the current page. If you're running this in the Svelte REPL, please note that the `replace` method might not work in this environment.")}window.dispatchEvent(new Event("hashchange"))}function ln(n,e){if(e=au(e),!n||!n.tagName||n.tagName.toLowerCase()!="a")throw Error('Action "link" can only be used with tags');return ru(n,e),{update(t){t=au(t),ru(n,t)}}}function T0(n){n?window.scrollTo(n.__svelte_spa_router_scrollX,n.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function ru(n,e){let t=e.href||n.getAttribute("href");if(t&&t.charAt(0)=="/")t="#"+t;else if(!t||t.length<2||t.slice(0,2)!="#/")throw Error('Invalid value for "href" attribute: '+t);n.setAttribute("href",t),n.addEventListener("click",i=>{i.preventDefault(),e.disabled||C0(i.currentTarget.getAttribute("href"))})}function au(n){return n&&typeof n=="string"?{href:n}:n||{}}function C0(n){history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=n}function M0(n,e,t){let{routes:i={}}=e,{prefix:l=""}=e,{restoreScrollState:s=!1}=e;class o{constructor(C,D){if(!D||typeof D!="function"&&(typeof D!="object"||D._sveltesparouter!==!0))throw Error("Invalid component object");if(!C||typeof C=="string"&&(C.length<1||C.charAt(0)!="/"&&C.charAt(0)!="*")||typeof C=="object"&&!(C instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:O,keys:E}=Lg(C);this.path=C,typeof D=="object"&&D._sveltesparouter===!0?(this.component=D.component,this.conditions=D.conditions||[],this.userData=D.userData,this.props=D.props||{}):(this.component=()=>Promise.resolve(D),this.conditions=[],this.props={}),this._pattern=O,this._keys=E}match(C){if(l){if(typeof l=="string")if(C.startsWith(l))C=C.substr(l.length)||"/";else return null;else if(l instanceof RegExp){const L=C.match(l);if(L&&L[0])C=C.substr(L[0].length)||"/";else return null}}const D=this._pattern.exec(C);if(D===null)return null;if(this._keys===!1)return D;const O={};let E=0;for(;E{r.push(new o(C,$))}):Object.keys(i).forEach($=>{r.push(new o($,i[$]))});let a=null,u=null,f={};const c=ot();async function d($,C){await Qt(),c($,C)}let m=null,h=null;s&&(h=$=>{$.state&&($.state.__svelte_spa_router_scrollY||$.state.__svelte_spa_router_scrollX)?m=$.state:m=null},window.addEventListener("popstate",h),h0(()=>{T0(m)}));let _=null,g=null;const k=zo.subscribe(async $=>{_=$;let C=0;for(;C{ou.set(u)});return}t(0,a=null),g=null,ou.set(void 0)});ws(()=>{k(),h&&window.removeEventListener("popstate",h)});function S($){Ae.call(this,n,$)}function T($){Ae.call(this,n,$)}return n.$$set=$=>{"routes"in $&&t(3,i=$.routes),"prefix"in $&&t(4,l=$.prefix),"restoreScrollState"in $&&t(5,s=$.restoreScrollState)},n.$$.update=()=>{n.$$.dirty&32&&(history.scrollRestoration=s?"manual":"auto")},[a,u,f,i,l,s,S,T]}class O0 extends ge{constructor(e){super(),_e(this,e,M0,$0,he,{routes:3,prefix:4,restoreScrollState:5})}}const ro=[];let Pg;function Ng(n){const e=n.pattern.test(Pg);uu(n,n.className,e),uu(n,n.inactiveClassName,!e)}function uu(n,e,t){(e||"").split(" ").forEach(i=>{i&&(n.node.classList.remove(i),t&&n.node.classList.add(i))})}zo.subscribe(n=>{Pg=n.location+(n.querystring?"?"+n.querystring:""),ro.map(Ng)});function Pn(n,e){if(e&&(typeof e=="string"||typeof e=="object"&&e instanceof RegExp)?e={path:e}:e=e||{},!e.path&&n.hasAttribute("href")&&(e.path=n.getAttribute("href"),e.path&&e.path.length>1&&e.path.charAt(0)=="#"&&(e.path=e.path.substring(1))),e.className||(e.className="active"),!e.path||typeof e.path=="string"&&(e.path.length<1||e.path.charAt(0)!="/"&&e.path.charAt(0)!="*"))throw Error('Invalid value for "path" argument');const{pattern:t}=typeof e.path=="string"?Lg(e.path):{pattern:e.path},i={node:n,className:e.className,inactiveClassName:e.inactiveClassName,pattern:t};return ro.push(i),Ng(i),{destroy(){ro.splice(ro.indexOf(i),1)}}}const D0="modulepreload",E0=function(n,e){return new URL(n,e).href},fu={},rt=function(e,t,i){if(!t||t.length===0)return e();const l=document.getElementsByTagName("link");return Promise.all(t.map(s=>{if(s=E0(s,i),s in fu)return;fu[s]=!0;const o=s.endsWith(".css"),r=o?'[rel="stylesheet"]':"";if(!!i)for(let f=l.length-1;f>=0;f--){const c=l[f];if(c.href===s&&(!o||c.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${r}`))return;const u=document.createElement("link");if(u.rel=o?"stylesheet":D0,o||(u.as="script",u.crossOrigin=""),u.href=s,document.head.appendChild(u),o)return new Promise((f,c)=>{u.addEventListener("load",f),u.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};class qn extends Error{constructor(e){var t,i,l,s;super("ClientResponseError"),this.url="",this.status=0,this.response={},this.isAbort=!1,this.originalError=null,Object.setPrototypeOf(this,qn.prototype),e!==null&&typeof e=="object"&&(this.url=typeof e.url=="string"?e.url:"",this.status=typeof e.status=="number"?e.status:0,this.isAbort=!!e.isAbort,this.originalError=e.originalError,e.response!==null&&typeof e.response=="object"?this.response=e.response:e.data!==null&&typeof e.data=="object"?this.response=e.data:this.response={}),this.originalError||e instanceof qn||(this.originalError=e),typeof DOMException<"u"&&e instanceof DOMException&&(this.isAbort=!0),this.name="ClientResponseError "+this.status,this.message=(t=this.response)==null?void 0:t.message,this.message||(this.isAbort?this.message="The request was autocancelled. You can find more info in https://github.com/pocketbase/js-sdk#auto-cancellation.":(s=(l=(i=this.originalError)==null?void 0:i.cause)==null?void 0:l.message)!=null&&s.includes("ECONNREFUSED ::1")?this.message="Failed to connect to the PocketBase server. Try changing the SDK URL from localhost to 127.0.0.1 (https://github.com/pocketbase/js-sdk/issues/21).":this.message="Something went wrong while processing your request.")}get data(){return this.response}toJSON(){return{...this}}}const Ls=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function A0(n,e){const t={};if(typeof n!="string")return t;const i=Object.assign({},e||{}).decode||I0;let l=0;for(;l0&&(!t.exp||t.exp-e>Date.now()/1e3))}Fg=typeof atob=="function"?atob:n=>{let e=String(n).replace(/=+$/,"");if(e.length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var t,i,l=0,s=0,o="";i=e.charAt(s++);~i&&(t=l%4?64*t+i:i,l++%4)?o+=String.fromCharCode(255&t>>(-2*l&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return o};const du="pb_auth";class P0{constructor(){this.baseToken="",this.baseModel=null,this._onChangeCallbacks=[]}get token(){return this.baseToken}get model(){return this.baseModel}get isValid(){return!ga(this.token)}get isAdmin(){return ao(this.token).type==="admin"}get isAuthRecord(){return ao(this.token).type==="authRecord"}save(e,t){this.baseToken=e||"",this.baseModel=t||null,this.triggerChange()}clear(){this.baseToken="",this.baseModel=null,this.triggerChange()}loadFromCookie(e,t=du){const i=A0(e||"")[t]||"";let l={};try{l=JSON.parse(i),(typeof l===null||typeof l!="object"||Array.isArray(l))&&(l={})}catch{}this.save(l.token||"",l.model||null)}exportToCookie(e,t=du){var a,u;const i={secure:!0,sameSite:!0,httpOnly:!0,path:"/"},l=ao(this.token);i.expires=l!=null&&l.exp?new Date(1e3*l.exp):new Date("1970-01-01"),e=Object.assign({},i,e);const s={token:this.token,model:this.model?JSON.parse(JSON.stringify(this.model)):null};let o=cu(t,JSON.stringify(s),e);const r=typeof Blob<"u"?new Blob([o]).size:o.length;if(s.model&&r>4096){s.model={id:(a=s==null?void 0:s.model)==null?void 0:a.id,email:(u=s==null?void 0:s.model)==null?void 0:u.email};const f=["collectionId","username","verified"];for(const c in this.model)f.includes(c)&&(s.model[c]=this.model[c]);o=cu(t,JSON.stringify(s),e)}return o}onChange(e,t=!1){return this._onChangeCallbacks.push(e),t&&e(this.token,this.model),()=>{for(let i=this._onChangeCallbacks.length-1;i>=0;i--)if(this._onChangeCallbacks[i]==e)return delete this._onChangeCallbacks[i],void this._onChangeCallbacks.splice(i,1)}}triggerChange(){for(const e of this._onChangeCallbacks)e&&e(this.token,this.model)}}class Rg extends P0{constructor(e="pocketbase_auth"){super(),this.storageFallback={},this.storageKey=e,this._bindStorageEvent()}get token(){return(this._storageGet(this.storageKey)||{}).token||""}get model(){return(this._storageGet(this.storageKey)||{}).model||null}save(e,t){this._storageSet(this.storageKey,{token:e,model:t}),super.save(e,t)}clear(){this._storageRemove(this.storageKey),super.clear()}_storageGet(e){if(typeof window<"u"&&(window!=null&&window.localStorage)){const t=window.localStorage.getItem(e)||"";try{return JSON.parse(t)}catch{return t}}return this.storageFallback[e]}_storageSet(e,t){if(typeof window<"u"&&(window!=null&&window.localStorage)){let i=t;typeof t!="string"&&(i=JSON.stringify(t)),window.localStorage.setItem(e,i)}else this.storageFallback[e]=t}_storageRemove(e){var t;typeof window<"u"&&(window!=null&&window.localStorage)&&((t=window.localStorage)==null||t.removeItem(e)),delete this.storageFallback[e]}_bindStorageEvent(){typeof window<"u"&&(window!=null&&window.localStorage)&&window.addEventListener&&window.addEventListener("storage",e=>{if(e.key!=this.storageKey)return;const t=this._storageGet(this.storageKey)||{};super.save(t.token||"",t.model||null)})}}class il{constructor(e){this.client=e}}class N0 extends il{getAll(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/settings",e)}update(e,t){return t=Object.assign({method:"PATCH",body:e},t),this.client.send("/api/settings",t)}testS3(e="storage",t){return t=Object.assign({method:"POST",body:{filesystem:e}},t),this.client.send("/api/settings/test/s3",t).then(()=>!0)}testEmail(e,t,i){return i=Object.assign({method:"POST",body:{email:e,template:t}},i),this.client.send("/api/settings/test/email",i).then(()=>!0)}generateAppleClientSecret(e,t,i,l,s,o){return o=Object.assign({method:"POST",body:{clientId:e,teamId:t,keyId:i,privateKey:l,duration:s}},o),this.client.send("/api/settings/apple/generate-client-secret",o)}}class ba extends il{decode(e){return e}getFullList(e,t){if(typeof e=="number")return this._getFullList(e,t);let i=500;return(t=Object.assign({},e,t)).batch&&(i=t.batch,delete t.batch),this._getFullList(i,t)}getList(e=1,t=30,i){return(i=Object.assign({method:"GET"},i)).query=Object.assign({page:e,perPage:t},i.query),this.client.send(this.baseCrudPath,i).then(l=>{var s;return l.items=((s=l.items)==null?void 0:s.map(o=>this.decode(o)))||[],l})}getFirstListItem(e,t){return(t=Object.assign({requestKey:"one_by_filter_"+this.baseCrudPath+"_"+e},t)).query=Object.assign({filter:e,skipTotal:1},t.query),this.getList(1,1,t).then(i=>{var l;if(!((l=i==null?void 0:i.items)!=null&&l.length))throw new qn({status:404,data:{code:404,message:"The requested resource wasn't found.",data:{}}});return i.items[0]})}getOne(e,t){return t=Object.assign({method:"GET"},t),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e),t).then(i=>this.decode(i))}create(e,t){return t=Object.assign({method:"POST",body:e},t),this.client.send(this.baseCrudPath,t).then(i=>this.decode(i))}update(e,t,i){return i=Object.assign({method:"PATCH",body:t},i),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e),i).then(l=>this.decode(l))}delete(e,t){return t=Object.assign({method:"DELETE"},t),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e),t).then(()=>!0)}_getFullList(e=500,t){(t=t||{}).query=Object.assign({skipTotal:1},t.query);let i=[],l=async s=>this.getList(s,e||500,t).then(o=>{const r=o.items;return i=i.concat(r),r.length==o.perPage?l(s+1):i});return l(1)}}function wn(n,e,t,i){const l=i!==void 0;return l||t!==void 0?l?(console.warn(n),e.body=Object.assign({},e.body,t),e.query=Object.assign({},e.query,i),e):Object.assign(e,t):e}function lr(n){var e;(e=n._resetAutoRefresh)==null||e.call(n)}class F0 extends ba{get baseCrudPath(){return"/api/admins"}update(e,t,i){return super.update(e,t,i).then(l=>{var s,o;return((s=this.client.authStore.model)==null?void 0:s.id)===l.id&&((o=this.client.authStore.model)==null?void 0:o.collectionId)===void 0&&this.client.authStore.save(this.client.authStore.token,l),l})}delete(e,t){return super.delete(e,t).then(i=>{var l,s;return i&&((l=this.client.authStore.model)==null?void 0:l.id)===e&&((s=this.client.authStore.model)==null?void 0:s.collectionId)===void 0&&this.client.authStore.clear(),i})}authResponse(e){const t=this.decode((e==null?void 0:e.admin)||{});return e!=null&&e.token&&(e!=null&&e.admin)&&this.client.authStore.save(e.token,t),Object.assign({},e,{token:(e==null?void 0:e.token)||"",admin:t})}async authWithPassword(e,t,i,l){let s={method:"POST",body:{identity:e,password:t}};s=wn("This form of authWithPassword(email, pass, body?, query?) is deprecated. Consider replacing it with authWithPassword(email, pass, options?).",s,i,l);const o=s.autoRefreshThreshold;delete s.autoRefreshThreshold,s.autoRefresh||lr(this.client);let r=await this.client.send(this.baseCrudPath+"/auth-with-password",s);return r=this.authResponse(r),o&&function(u,f,c,d){lr(u);const m=u.beforeSend,h=u.authStore.model,_=u.authStore.onChange((g,k)=>{(!g||(k==null?void 0:k.id)!=(h==null?void 0:h.id)||(k!=null&&k.collectionId||h!=null&&h.collectionId)&&(k==null?void 0:k.collectionId)!=(h==null?void 0:h.collectionId))&&lr(u)});u._resetAutoRefresh=function(){_(),u.beforeSend=m,delete u._resetAutoRefresh},u.beforeSend=async(g,k)=>{var C;const S=u.authStore.token;if((C=k.query)!=null&&C.autoRefresh)return m?m(g,k):{url:g,sendOptions:k};let T=u.authStore.isValid;if(T&&ga(u.authStore.token,f))try{await c()}catch{T=!1}T||await d();const $=k.headers||{};for(let D in $)if(D.toLowerCase()=="authorization"&&S==$[D]&&u.authStore.token){$[D]=u.authStore.token;break}return k.headers=$,m?m(g,k):{url:g,sendOptions:k}}}(this.client,o,()=>this.authRefresh({autoRefresh:!0}),()=>this.authWithPassword(e,t,Object.assign({autoRefresh:!0},s))),r}authRefresh(e,t){let i={method:"POST"};return i=wn("This form of authRefresh(body?, query?) is deprecated. Consider replacing it with authRefresh(options?).",i,e,t),this.client.send(this.baseCrudPath+"/auth-refresh",i).then(this.authResponse.bind(this))}requestPasswordReset(e,t,i){let l={method:"POST",body:{email:e}};return l=wn("This form of requestPasswordReset(email, body?, query?) is deprecated. Consider replacing it with requestPasswordReset(email, options?).",l,t,i),this.client.send(this.baseCrudPath+"/request-password-reset",l).then(()=>!0)}confirmPasswordReset(e,t,i,l,s){let o={method:"POST",body:{token:e,password:t,passwordConfirm:i}};return o=wn("This form of confirmPasswordReset(resetToken, password, passwordConfirm, body?, query?) is deprecated. Consider replacing it with confirmPasswordReset(resetToken, password, passwordConfirm, options?).",o,l,s),this.client.send(this.baseCrudPath+"/confirm-password-reset",o).then(()=>!0)}}const R0=["requestKey","$cancelKey","$autoCancel","fetch","headers","body","query","params","cache","credentials","headers","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","signal","window"];function qg(n){if(n){n.query=n.query||{};for(let e in n)R0.includes(e)||(n.query[e]=n[e],delete n[e])}}class jg extends il{constructor(){super(...arguments),this.clientId="",this.eventSource=null,this.subscriptions={},this.lastSentSubscriptions=[],this.maxConnectTimeout=15e3,this.reconnectAttempts=0,this.maxReconnectAttempts=1/0,this.predefinedReconnectIntervals=[200,300,500,1e3,1200,1500,2e3],this.pendingConnects=[]}get isConnected(){return!!this.eventSource&&!!this.clientId&&!this.pendingConnects.length}async subscribe(e,t,i){var o;if(!e)throw new Error("topic must be set.");let l=e;if(i){qg(i);const r="options="+encodeURIComponent(JSON.stringify({query:i.query,headers:i.headers}));l+=(l.includes("?")?"&":"?")+r}const s=function(r){const a=r;let u;try{u=JSON.parse(a==null?void 0:a.data)}catch{}t(u||{})};return this.subscriptions[l]||(this.subscriptions[l]=[]),this.subscriptions[l].push(s),this.isConnected?this.subscriptions[l].length===1?await this.submitSubscriptions():(o=this.eventSource)==null||o.addEventListener(l,s):await this.connect(),async()=>this.unsubscribeByTopicAndListener(e,s)}async unsubscribe(e){var i;let t=!1;if(e){const l=this.getSubscriptionsByTopic(e);for(let s in l)if(this.hasSubscriptionListeners(s)){for(let o of this.subscriptions[s])(i=this.eventSource)==null||i.removeEventListener(s,o);delete this.subscriptions[s],t||(t=!0)}}else this.subscriptions={};this.hasSubscriptionListeners()?t&&await this.submitSubscriptions():this.disconnect()}async unsubscribeByPrefix(e){var i;let t=!1;for(let l in this.subscriptions)if((l+"?").startsWith(e)){t=!0;for(let s of this.subscriptions[l])(i=this.eventSource)==null||i.removeEventListener(l,s);delete this.subscriptions[l]}t&&(this.hasSubscriptionListeners()?await this.submitSubscriptions():this.disconnect())}async unsubscribeByTopicAndListener(e,t){var s;let i=!1;const l=this.getSubscriptionsByTopic(e);for(let o in l){if(!Array.isArray(this.subscriptions[o])||!this.subscriptions[o].length)continue;let r=!1;for(let a=this.subscriptions[o].length-1;a>=0;a--)this.subscriptions[o][a]===t&&(r=!0,delete this.subscriptions[o][a],this.subscriptions[o].splice(a,1),(s=this.eventSource)==null||s.removeEventListener(o,t));r&&(this.subscriptions[o].length||delete this.subscriptions[o],i||this.hasSubscriptionListeners(o)||(i=!0))}this.hasSubscriptionListeners()?i&&await this.submitSubscriptions():this.disconnect()}hasSubscriptionListeners(e){var t,i;if(this.subscriptions=this.subscriptions||{},e)return!!((t=this.subscriptions[e])!=null&&t.length);for(let l in this.subscriptions)if((i=this.subscriptions[l])!=null&&i.length)return!0;return!1}async submitSubscriptions(){if(this.clientId)return this.addAllSubscriptionListeners(),this.lastSentSubscriptions=this.getNonEmptySubscriptionKeys(),this.client.send("/api/realtime",{method:"POST",body:{clientId:this.clientId,subscriptions:this.lastSentSubscriptions},requestKey:this.getSubscriptionsCancelKey()}).catch(e=>{if(!(e!=null&&e.isAbort))throw e})}getSubscriptionsCancelKey(){return"realtime_"+this.clientId}getSubscriptionsByTopic(e){const t={};e=e.includes("?")?e:e+"?";for(let i in this.subscriptions)(i+"?").startsWith(e)&&(t[i]=this.subscriptions[i]);return t}getNonEmptySubscriptionKeys(){const e=[];for(let t in this.subscriptions)this.subscriptions[t].length&&e.push(t);return e}addAllSubscriptionListeners(){if(this.eventSource){this.removeAllSubscriptionListeners();for(let e in this.subscriptions)for(let t of this.subscriptions[e])this.eventSource.addEventListener(e,t)}}removeAllSubscriptionListeners(){if(this.eventSource)for(let e in this.subscriptions)for(let t of this.subscriptions[e])this.eventSource.removeEventListener(e,t)}async connect(){if(!(this.reconnectAttempts>0))return new Promise((e,t)=>{this.pendingConnects.push({resolve:e,reject:t}),this.pendingConnects.length>1||this.initConnect()})}initConnect(){this.disconnect(!0),clearTimeout(this.connectTimeoutId),this.connectTimeoutId=setTimeout(()=>{this.connectErrorHandler(new Error("EventSource connect took too long."))},this.maxConnectTimeout),this.eventSource=new EventSource(this.client.buildUrl("/api/realtime")),this.eventSource.onerror=e=>{this.connectErrorHandler(new Error("Failed to establish realtime connection."))},this.eventSource.addEventListener("PB_CONNECT",e=>{const t=e;this.clientId=t==null?void 0:t.lastEventId,this.submitSubscriptions().then(async()=>{let i=3;for(;this.hasUnsentSubscriptions()&&i>0;)i--,await this.submitSubscriptions()}).then(()=>{for(let i of this.pendingConnects)i.resolve();this.pendingConnects=[],this.reconnectAttempts=0,clearTimeout(this.reconnectTimeoutId),clearTimeout(this.connectTimeoutId)}).catch(i=>{this.clientId="",this.connectErrorHandler(i)})})}hasUnsentSubscriptions(){const e=this.getNonEmptySubscriptionKeys();if(e.length!=this.lastSentSubscriptions.length)return!0;for(const t of e)if(!this.lastSentSubscriptions.includes(t))return!0;return!1}connectErrorHandler(e){if(clearTimeout(this.connectTimeoutId),clearTimeout(this.reconnectTimeoutId),!this.clientId&&!this.reconnectAttempts||this.reconnectAttempts>this.maxReconnectAttempts){for(let i of this.pendingConnects)i.reject(new qn(e));return this.pendingConnects=[],void this.disconnect()}this.disconnect(!0);const t=this.predefinedReconnectIntervals[this.reconnectAttempts]||this.predefinedReconnectIntervals[this.predefinedReconnectIntervals.length-1];this.reconnectAttempts++,this.reconnectTimeoutId=setTimeout(()=>{this.initConnect()},t)}disconnect(e=!1){var t;if(clearTimeout(this.connectTimeoutId),clearTimeout(this.reconnectTimeoutId),this.removeAllSubscriptionListeners(),this.client.cancelRequest(this.getSubscriptionsCancelKey()),(t=this.eventSource)==null||t.close(),this.eventSource=null,this.clientId="",!e){this.reconnectAttempts=0;for(let i of this.pendingConnects)i.resolve();this.pendingConnects=[]}}}class q0 extends ba{constructor(e,t){super(e),this.collectionIdOrName=t}get baseCrudPath(){return this.baseCollectionPath+"/records"}get baseCollectionPath(){return"/api/collections/"+encodeURIComponent(this.collectionIdOrName)}async subscribe(e,t,i){if(!e)throw new Error("Missing topic.");if(!t)throw new Error("Missing subscription callback.");return this.client.realtime.subscribe(this.collectionIdOrName+"/"+e,t,i)}async unsubscribe(e){return e?this.client.realtime.unsubscribe(this.collectionIdOrName+"/"+e):this.client.realtime.unsubscribeByPrefix(this.collectionIdOrName)}getFullList(e,t){if(typeof e=="number")return super.getFullList(e,t);const i=Object.assign({},e,t);return super.getFullList(i)}getList(e=1,t=30,i){return super.getList(e,t,i)}getFirstListItem(e,t){return super.getFirstListItem(e,t)}getOne(e,t){return super.getOne(e,t)}create(e,t){return super.create(e,t)}update(e,t,i){return super.update(e,t,i).then(l=>{var s,o,r;return((s=this.client.authStore.model)==null?void 0:s.id)!==(l==null?void 0:l.id)||((o=this.client.authStore.model)==null?void 0:o.collectionId)!==this.collectionIdOrName&&((r=this.client.authStore.model)==null?void 0:r.collectionName)!==this.collectionIdOrName||this.client.authStore.save(this.client.authStore.token,l),l})}delete(e,t){return super.delete(e,t).then(i=>{var l,s,o;return!i||((l=this.client.authStore.model)==null?void 0:l.id)!==e||((s=this.client.authStore.model)==null?void 0:s.collectionId)!==this.collectionIdOrName&&((o=this.client.authStore.model)==null?void 0:o.collectionName)!==this.collectionIdOrName||this.client.authStore.clear(),i})}authResponse(e){const t=this.decode((e==null?void 0:e.record)||{});return this.client.authStore.save(e==null?void 0:e.token,t),Object.assign({},e,{token:(e==null?void 0:e.token)||"",record:t})}listAuthMethods(e){return e=Object.assign({method:"GET"},e),this.client.send(this.baseCollectionPath+"/auth-methods",e).then(t=>Object.assign({},t,{usernamePassword:!!(t!=null&&t.usernamePassword),emailPassword:!!(t!=null&&t.emailPassword),authProviders:Array.isArray(t==null?void 0:t.authProviders)?t==null?void 0:t.authProviders:[]}))}authWithPassword(e,t,i,l){let s={method:"POST",body:{identity:e,password:t}};return s=wn("This form of authWithPassword(usernameOrEmail, pass, body?, query?) is deprecated. Consider replacing it with authWithPassword(usernameOrEmail, pass, options?).",s,i,l),this.client.send(this.baseCollectionPath+"/auth-with-password",s).then(o=>this.authResponse(o))}authWithOAuth2Code(e,t,i,l,s,o,r){let a={method:"POST",body:{provider:e,code:t,codeVerifier:i,redirectUrl:l,createData:s}};return a=wn("This form of authWithOAuth2Code(provider, code, codeVerifier, redirectUrl, createData?, body?, query?) is deprecated. Consider replacing it with authWithOAuth2Code(provider, code, codeVerifier, redirectUrl, createData?, options?).",a,o,r),this.client.send(this.baseCollectionPath+"/auth-with-oauth2",a).then(u=>this.authResponse(u))}async authWithOAuth2(...e){if(e.length>1||typeof(e==null?void 0:e[0])=="string")return console.warn("PocketBase: This form of authWithOAuth2() is deprecated and may get removed in the future. Please replace with authWithOAuth2Code() OR use the authWithOAuth2() realtime form as shown in https://pocketbase.io/docs/authentication/#oauth2-integration."),this.authWithOAuth2Code((e==null?void 0:e[0])||"",(e==null?void 0:e[1])||"",(e==null?void 0:e[2])||"",(e==null?void 0:e[3])||"",(e==null?void 0:e[4])||{},(e==null?void 0:e[5])||{},(e==null?void 0:e[6])||{});const t=(e==null?void 0:e[0])||{},i=(await this.listAuthMethods()).authProviders.find(a=>a.name===t.provider);if(!i)throw new qn(new Error(`Missing or invalid provider "${t.provider}".`));const l=this.client.buildUrl("/api/oauth2-redirect"),s=new jg(this.client);let o=null;function r(){o==null||o.close(),s.unsubscribe()}return t.urlCallback||(o=pu(void 0)),new Promise(async(a,u)=>{var f;try{await s.subscribe("@oauth2",async h=>{const _=s.clientId;try{if(!h.state||_!==h.state)throw new Error("State parameters don't match.");const g=Object.assign({},t);delete g.provider,delete g.scopes,delete g.createData,delete g.urlCallback;const k=await this.authWithOAuth2Code(i.name,h.code,i.codeVerifier,l,t.createData,g);a(k)}catch(g){u(new qn(g))}r()});const c={state:s.clientId};(f=t.scopes)!=null&&f.length&&(c.scope=t.scopes.join(" "));const d=this._replaceQueryParams(i.authUrl+l,c);await(t.urlCallback||function(h){o?o.location.href=h:o=pu(h)})(d)}catch(c){r(),u(new qn(c))}})}authRefresh(e,t){let i={method:"POST"};return i=wn("This form of authRefresh(body?, query?) is deprecated. Consider replacing it with authRefresh(options?).",i,e,t),this.client.send(this.baseCollectionPath+"/auth-refresh",i).then(l=>this.authResponse(l))}requestPasswordReset(e,t,i){let l={method:"POST",body:{email:e}};return l=wn("This form of requestPasswordReset(email, body?, query?) is deprecated. Consider replacing it with requestPasswordReset(email, options?).",l,t,i),this.client.send(this.baseCollectionPath+"/request-password-reset",l).then(()=>!0)}confirmPasswordReset(e,t,i,l,s){let o={method:"POST",body:{token:e,password:t,passwordConfirm:i}};return o=wn("This form of confirmPasswordReset(token, password, passwordConfirm, body?, query?) is deprecated. Consider replacing it with confirmPasswordReset(token, password, passwordConfirm, options?).",o,l,s),this.client.send(this.baseCollectionPath+"/confirm-password-reset",o).then(()=>!0)}requestVerification(e,t,i){let l={method:"POST",body:{email:e}};return l=wn("This form of requestVerification(email, body?, query?) is deprecated. Consider replacing it with requestVerification(email, options?).",l,t,i),this.client.send(this.baseCollectionPath+"/request-verification",l).then(()=>!0)}confirmVerification(e,t,i){let l={method:"POST",body:{token:e}};return l=wn("This form of confirmVerification(token, body?, query?) is deprecated. Consider replacing it with confirmVerification(token, options?).",l,t,i),this.client.send(this.baseCollectionPath+"/confirm-verification",l).then(()=>!0)}requestEmailChange(e,t,i){let l={method:"POST",body:{newEmail:e}};return l=wn("This form of requestEmailChange(newEmail, body?, query?) is deprecated. Consider replacing it with requestEmailChange(newEmail, options?).",l,t,i),this.client.send(this.baseCollectionPath+"/request-email-change",l).then(()=>!0)}confirmEmailChange(e,t,i,l){let s={method:"POST",body:{token:e,password:t}};return s=wn("This form of confirmEmailChange(token, password, body?, query?) is deprecated. Consider replacing it with confirmEmailChange(token, password, options?).",s,i,l),this.client.send(this.baseCollectionPath+"/confirm-email-change",s).then(()=>!0)}listExternalAuths(e,t){return t=Object.assign({method:"GET"},t),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e)+"/external-auths",t)}unlinkExternalAuth(e,t,i){return i=Object.assign({method:"DELETE"},i),this.client.send(this.baseCrudPath+"/"+encodeURIComponent(e)+"/external-auths/"+encodeURIComponent(t),i).then(()=>!0)}_replaceQueryParams(e,t={}){let i=e,l="";e.indexOf("?")>=0&&(i=e.substring(0,e.indexOf("?")),l=e.substring(e.indexOf("?")+1));const s={},o=l.split("&");for(const r of o){if(r=="")continue;const a=r.split("=");s[decodeURIComponent(a[0].replace(/\+/g," "))]=decodeURIComponent((a[1]||"").replace(/\+/g," "))}for(let r in t)t.hasOwnProperty(r)&&(t[r]==null?delete s[r]:s[r]=t[r]);l="";for(let r in s)s.hasOwnProperty(r)&&(l!=""&&(l+="&"),l+=encodeURIComponent(r.replace(/%20/g,"+"))+"="+encodeURIComponent(s[r].replace(/%20/g,"+")));return l!=""?i+"?"+l:i}}function pu(n){if(typeof window>"u"||!(window!=null&&window.open))throw new qn(new Error("Not in a browser context - please pass a custom urlCallback function."));let e=1024,t=768,i=window.innerWidth,l=window.innerHeight;e=e>i?i:e,t=t>l?l:t;let s=i/2-e/2,o=l/2-t/2;return window.open(n,"popup_window","width="+e+",height="+t+",top="+o+",left="+s+",resizable,menubar=no")}class j0 extends ba{get baseCrudPath(){return"/api/collections"}async import(e,t=!1,i){return i=Object.assign({method:"PUT",body:{collections:e,deleteMissing:t}},i),this.client.send(this.baseCrudPath+"/import",i).then(()=>!0)}}class H0 extends il{getList(e=1,t=30,i){return(i=Object.assign({method:"GET"},i)).query=Object.assign({page:e,perPage:t},i.query),this.client.send("/api/logs",i)}getOne(e,t){return t=Object.assign({method:"GET"},t),this.client.send("/api/logs/"+encodeURIComponent(e),t)}getStats(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/logs/stats",e)}}class z0 extends il{check(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/health",e)}}class V0 extends il{getUrl(e,t,i={}){if(!t||!(e!=null&&e.id)||!(e!=null&&e.collectionId)&&!(e!=null&&e.collectionName))return"";const l=[];l.push("api"),l.push("files"),l.push(encodeURIComponent(e.collectionId||e.collectionName)),l.push(encodeURIComponent(e.id)),l.push(encodeURIComponent(t));let s=this.client.buildUrl(l.join("/"));if(Object.keys(i).length){i.download===!1&&delete i.download;const o=new URLSearchParams(i);s+=(s.includes("?")?"&":"?")+o}return s}getToken(e){return e=Object.assign({method:"POST"},e),this.client.send("/api/files/token",e).then(t=>(t==null?void 0:t.token)||"")}}class B0 extends il{getFullList(e){return e=Object.assign({method:"GET"},e),this.client.send("/api/backups",e)}create(e,t){return t=Object.assign({method:"POST",body:{name:e}},t),this.client.send("/api/backups",t).then(()=>!0)}upload(e,t){return t=Object.assign({method:"POST",body:e},t),this.client.send("/api/backups/upload",t).then(()=>!0)}delete(e,t){return t=Object.assign({method:"DELETE"},t),this.client.send(`/api/backups/${encodeURIComponent(e)}`,t).then(()=>!0)}restore(e,t){return t=Object.assign({method:"POST"},t),this.client.send(`/api/backups/${encodeURIComponent(e)}/restore`,t).then(()=>!0)}getDownloadUrl(e,t){return this.client.buildUrl(`/api/backups/${encodeURIComponent(t)}?token=${encodeURIComponent(e)}`)}}class Bo{constructor(e="/",t,i="en-US"){this.cancelControllers={},this.recordServices={},this.enableAutoCancellation=!0,this.baseUrl=e,this.lang=i,this.authStore=t||new Rg,this.admins=new F0(this),this.collections=new j0(this),this.files=new V0(this),this.logs=new H0(this),this.settings=new N0(this),this.realtime=new jg(this),this.health=new z0(this),this.backups=new B0(this)}collection(e){return this.recordServices[e]||(this.recordServices[e]=new q0(this,e)),this.recordServices[e]}autoCancellation(e){return this.enableAutoCancellation=!!e,this}cancelRequest(e){return this.cancelControllers[e]&&(this.cancelControllers[e].abort(),delete this.cancelControllers[e]),this}cancelAllRequests(){for(let e in this.cancelControllers)this.cancelControllers[e].abort();return this.cancelControllers={},this}filter(e,t){if(!t)return e;for(let i in t){let l=t[i];switch(typeof l){case"boolean":case"number":l=""+l;break;case"string":l="'"+l.replace(/'/g,"\\'")+"'";break;default:l=l===null?"null":l instanceof Date?"'"+l.toISOString().replace("T"," ")+"'":"'"+JSON.stringify(l).replace(/'/g,"\\'")+"'"}e=e.replaceAll("{:"+i+"}",l)}return e}getFileUrl(e,t,i={}){return this.files.getUrl(e,t,i)}buildUrl(e){var i;let t=this.baseUrl;return typeof window>"u"||!window.location||t.startsWith("https://")||t.startsWith("http://")||(t=(i=window.location.origin)!=null&&i.endsWith("/")?window.location.origin.substring(0,window.location.origin.length-1):window.location.origin||"",this.baseUrl.startsWith("/")||(t+=window.location.pathname||"/",t+=t.endsWith("/")?"":"/"),t+=this.baseUrl),e&&(t+=t.endsWith("/")?"":"/",t+=e.startsWith("/")?e.substring(1):e),t}async send(e,t){t=this.initSendOptions(e,t);let i=this.buildUrl(e);if(this.beforeSend){const l=Object.assign({},await this.beforeSend(i,t));l.url!==void 0||l.options!==void 0?(i=l.url||i,t=l.options||t):Object.keys(l).length&&(t=l,console!=null&&console.warn&&console.warn("Deprecated format of beforeSend return: please use `return { url, options }`, instead of `return options`."))}if(t.query!==void 0){const l=this.serializeQueryParams(t.query);l&&(i+=(i.includes("?")?"&":"?")+l),delete t.query}return this.getHeader(t.headers,"Content-Type")=="application/json"&&t.body&&typeof t.body!="string"&&(t.body=JSON.stringify(t.body)),(t.fetch||fetch)(i,t).then(async l=>{let s={};try{s=await l.json()}catch{}if(this.afterSend&&(s=await this.afterSend(l,s)),l.status>=400)throw new qn({url:l.url,status:l.status,data:s});return s}).catch(l=>{throw new qn(l)})}initSendOptions(e,t){if((t=Object.assign({method:"GET"},t)).body=this.convertToFormDataIfNeeded(t.body),qg(t),t.query=Object.assign({},t.params,t.query),t.requestKey===void 0&&(t.$autoCancel===!1||t.query.$autoCancel===!1?t.requestKey=null:(t.$cancelKey||t.query.$cancelKey)&&(t.requestKey=t.$cancelKey||t.query.$cancelKey)),delete t.$autoCancel,delete t.query.$autoCancel,delete t.$cancelKey,delete t.query.$cancelKey,this.getHeader(t.headers,"Content-Type")!==null||this.isFormData(t.body)||(t.headers=Object.assign({},t.headers,{"Content-Type":"application/json"})),this.getHeader(t.headers,"Accept-Language")===null&&(t.headers=Object.assign({},t.headers,{"Accept-Language":this.lang})),this.authStore.token&&this.getHeader(t.headers,"Authorization")===null&&(t.headers=Object.assign({},t.headers,{Authorization:this.authStore.token})),this.enableAutoCancellation&&t.requestKey!==null){const i=t.requestKey||(t.method||"GET")+e;delete t.requestKey,this.cancelRequest(i);const l=new AbortController;this.cancelControllers[i]=l,t.signal=l.signal}return t}convertToFormDataIfNeeded(e){if(typeof FormData>"u"||e===void 0||typeof e!="object"||e===null||this.isFormData(e)||!this.hasBlobField(e))return e;const t=new FormData;for(let i in e){const l=Array.isArray(e[i])?e[i]:[e[i]];for(let s of l)t.append(i,s)}return t}hasBlobField(e){for(let t in e){const i=Array.isArray(e[t])?e[t]:[e[t]];for(let l of i)if(typeof Blob<"u"&&l instanceof Blob||typeof File<"u"&&l instanceof File)return!0}return!1}getHeader(e,t){e=e||{},t=t.toLowerCase();for(let i in e)if(i.toLowerCase()==t)return e[i];return null}isFormData(e){return e&&(e.constructor.name==="FormData"||typeof FormData<"u"&&e instanceof FormData)}serializeQueryParams(e){const t=[];for(const i in e){if(e[i]===null)continue;const l=e[i],s=encodeURIComponent(i);if(Array.isArray(l))for(const o of l)t.push(s+"="+encodeURIComponent(o));else l instanceof Date?t.push(s+"="+encodeURIComponent(l.toISOString())):typeof l!==null&&typeof l=="object"?t.push(s+"="+encodeURIComponent(JSON.stringify(l))):t.push(s+"="+encodeURIComponent(l))}return t.join("&")}}class ll extends Error{}class U0 extends ll{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class W0 extends ll{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class Y0 extends ll{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class Kl extends ll{}class Hg extends ll{constructor(e){super(`Invalid unit ${e}`)}}class Fn extends ll{}class vi extends ll{constructor(){super("Zone is an abstract class")}}const Me="numeric",Zn="short",Mn="long",zr={year:Me,month:Me,day:Me},zg={year:Me,month:Zn,day:Me},K0={year:Me,month:Zn,day:Me,weekday:Zn},Vg={year:Me,month:Mn,day:Me},Bg={year:Me,month:Mn,day:Me,weekday:Mn},Ug={hour:Me,minute:Me},Wg={hour:Me,minute:Me,second:Me},Yg={hour:Me,minute:Me,second:Me,timeZoneName:Zn},Kg={hour:Me,minute:Me,second:Me,timeZoneName:Mn},Jg={hour:Me,minute:Me,hourCycle:"h23"},Zg={hour:Me,minute:Me,second:Me,hourCycle:"h23"},Gg={hour:Me,minute:Me,second:Me,hourCycle:"h23",timeZoneName:Zn},Xg={hour:Me,minute:Me,second:Me,hourCycle:"h23",timeZoneName:Mn},Qg={year:Me,month:Me,day:Me,hour:Me,minute:Me},xg={year:Me,month:Me,day:Me,hour:Me,minute:Me,second:Me},e1={year:Me,month:Zn,day:Me,hour:Me,minute:Me},t1={year:Me,month:Zn,day:Me,hour:Me,minute:Me,second:Me},J0={year:Me,month:Zn,day:Me,weekday:Zn,hour:Me,minute:Me},n1={year:Me,month:Mn,day:Me,hour:Me,minute:Me,timeZoneName:Zn},i1={year:Me,month:Mn,day:Me,hour:Me,minute:Me,second:Me,timeZoneName:Zn},l1={year:Me,month:Mn,day:Me,weekday:Mn,hour:Me,minute:Me,timeZoneName:Mn},s1={year:Me,month:Mn,day:Me,weekday:Mn,hour:Me,minute:Me,second:Me,timeZoneName:Mn};function it(n){return typeof n>"u"}function Xi(n){return typeof n=="number"}function Uo(n){return typeof n=="number"&&n%1===0}function Z0(n){return typeof n=="string"}function G0(n){return Object.prototype.toString.call(n)==="[object Date]"}function o1(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function X0(n){return Array.isArray(n)?n:[n]}function mu(n,e,t){if(n.length!==0)return n.reduce((i,l)=>{const s=[e(l),l];return i&&t(i[0],s[0])===i[0]?i:s},null)[1]}function Q0(n,e){return e.reduce((t,i)=>(t[i]=n[i],t),{})}function wl(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function pi(n,e,t){return Uo(n)&&n>=e&&n<=t}function x0(n,e){return n-e*Math.floor(n/e)}function Ut(n,e=2){const t=n<0;let i;return t?i="-"+(""+-n).padStart(e,"0"):i=(""+n).padStart(e,"0"),i}function wi(n){if(!(it(n)||n===null||n===""))return parseInt(n,10)}function Ri(n){if(!(it(n)||n===null||n===""))return parseFloat(n)}function ya(n){if(!(it(n)||n===null||n==="")){const e=parseFloat("0."+n)*1e3;return Math.floor(e)}}function ka(n,e,t=!1){const i=10**e;return(t?Math.trunc:Math.round)(n*i)/i}function Ss(n){return n%4===0&&(n%100!==0||n%400===0)}function Ql(n){return Ss(n)?366:365}function vo(n,e){const t=x0(e-1,12)+1,i=n+(e-t)/12;return t===2?Ss(i)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][t-1]}function va(n){let e=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);return n.year<100&&n.year>=0&&(e=new Date(e),e.setUTCFullYear(e.getUTCFullYear()-1900)),+e}function wo(n){const e=(n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400))%7,t=n-1,i=(t+Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))%7;return e===4||i===3?53:52}function Vr(n){return n>99?n:n>60?1900+n:2e3+n}function r1(n,e,t,i=null){const l=new Date(n),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};i&&(s.timeZone=i);const o={timeZoneName:e,...s},r=new Intl.DateTimeFormat(t,o).formatToParts(l).find(a=>a.type.toLowerCase()==="timezonename");return r?r.value:null}function Wo(n,e){let t=parseInt(n,10);Number.isNaN(t)&&(t=0);const i=parseInt(e,10)||0,l=t<0||Object.is(t,-0)?-i:i;return t*60+l}function a1(n){const e=Number(n);if(typeof n=="boolean"||n===""||Number.isNaN(e))throw new Fn(`Invalid unit value ${n}`);return e}function So(n,e){const t={};for(const i in n)if(wl(n,i)){const l=n[i];if(l==null)continue;t[e(i)]=a1(l)}return t}function xl(n,e){const t=Math.trunc(Math.abs(n/60)),i=Math.trunc(Math.abs(n%60)),l=n>=0?"+":"-";switch(e){case"short":return`${l}${Ut(t,2)}:${Ut(i,2)}`;case"narrow":return`${l}${t}${i>0?`:${i}`:""}`;case"techie":return`${l}${Ut(t,2)}${Ut(i,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function Yo(n){return Q0(n,["hour","minute","second","millisecond"])}const u1=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,ey=["January","February","March","April","May","June","July","August","September","October","November","December"],f1=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ty=["J","F","M","A","M","J","J","A","S","O","N","D"];function c1(n){switch(n){case"narrow":return[...ty];case"short":return[...f1];case"long":return[...ey];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const d1=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],p1=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],ny=["M","T","W","T","F","S","S"];function m1(n){switch(n){case"narrow":return[...ny];case"short":return[...p1];case"long":return[...d1];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const h1=["AM","PM"],iy=["Before Christ","Anno Domini"],ly=["BC","AD"],sy=["B","A"];function _1(n){switch(n){case"narrow":return[...sy];case"short":return[...ly];case"long":return[...iy];default:return null}}function oy(n){return h1[n.hour<12?0:1]}function ry(n,e){return m1(e)[n.weekday-1]}function ay(n,e){return c1(e)[n.month-1]}function uy(n,e){return _1(e)[n.year<0?0:1]}function fy(n,e,t="always",i=!1){const l={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=["hours","minutes","seconds"].indexOf(n)===-1;if(t==="auto"&&s){const c=n==="days";switch(e){case 1:return c?"tomorrow":`next ${l[n][0]}`;case-1:return c?"yesterday":`last ${l[n][0]}`;case 0:return c?"today":`this ${l[n][0]}`}}const o=Object.is(e,-0)||e<0,r=Math.abs(e),a=r===1,u=l[n],f=i?a?u[1]:u[2]||u[1]:a?l[n][0]:n;return o?`${r} ${f} ago`:`in ${r} ${f}`}function hu(n,e){let t="";for(const i of n)i.literal?t+=i.val:t+=e(i.val);return t}const cy={D:zr,DD:zg,DDD:Vg,DDDD:Bg,t:Ug,tt:Wg,ttt:Yg,tttt:Kg,T:Jg,TT:Zg,TTT:Gg,TTTT:Xg,f:Qg,ff:e1,fff:n1,ffff:l1,F:xg,FF:t1,FFF:i1,FFFF:s1};class _n{static create(e,t={}){return new _n(e,t)}static parseFormat(e){let t=null,i="",l=!1;const s=[];for(let o=0;o0&&s.push({literal:l,val:i}),t=null,i="",l=!l):l||r===t?i+=r:(i.length>0&&s.push({literal:!1,val:i}),i=r,t=r)}return i.length>0&&s.push({literal:l,val:i}),s}static macroTokenToFormatOpts(e){return cy[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}formatDateTime(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).format()}formatDateTimeParts(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).formatToParts()}resolvedOptions(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return Ut(e,t);const i={...this.opts};return t>0&&(i.padTo=t),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,t){const i=this.loc.listingMode()==="en",l=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",s=(m,h)=>this.loc.extract(e,m,h),o=m=>e.isOffsetFixed&&e.offset===0&&m.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,m.format):"",r=()=>i?oy(e):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),a=(m,h)=>i?ay(e,m):s(h?{month:m}:{month:m,day:"numeric"},"month"),u=(m,h)=>i?ry(e,m):s(h?{weekday:m}:{weekday:m,month:"long",day:"numeric"},"weekday"),f=m=>{const h=_n.macroTokenToFormatOpts(m);return h?this.formatWithSystemDefault(e,h):m},c=m=>i?uy(e,m):s({era:m},"era"),d=m=>{switch(m){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return r();case"d":return l?s({day:"numeric"},"day"):this.num(e.day);case"dd":return l?s({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return u("short",!0);case"cccc":return u("long",!0);case"ccccc":return u("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return u("short",!1);case"EEEE":return u("long",!1);case"EEEEE":return u("narrow",!1);case"L":return l?s({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return l?s({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return a("short",!0);case"LLLL":return a("long",!0);case"LLLLL":return a("narrow",!0);case"M":return l?s({month:"numeric"},"month"):this.num(e.month);case"MM":return l?s({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return a("short",!1);case"MMMM":return a("long",!1);case"MMMMM":return a("narrow",!1);case"y":return l?s({year:"numeric"},"year"):this.num(e.year);case"yy":return l?s({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return l?s({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return l?s({year:"numeric"},"year"):this.num(e.year,6);case"G":return c("short");case"GG":return c("long");case"GGGGG":return c("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return f(m)}};return hu(_n.parseFormat(t),d)}formatDurationFromString(e,t){const i=a=>{switch(a[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},l=a=>u=>{const f=i(u);return f?this.num(a.get(f),u.length):u},s=_n.parseFormat(t),o=s.reduce((a,{literal:u,val:f})=>u?a:a.concat(f),[]),r=e.shiftTo(...o.map(i).filter(a=>a));return hu(s,l(r))}}class Yn{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}class $s{get type(){throw new vi}get name(){throw new vi}get ianaName(){return this.name}get isUniversal(){throw new vi}offsetName(e,t){throw new vi}formatOffset(e,t){throw new vi}offset(e){throw new vi}equals(e){throw new vi}get isValid(){throw new vi}}let sr=null;class wa extends $s{static get instance(){return sr===null&&(sr=new wa),sr}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:i}){return r1(e,t,i)}formatOffset(e,t){return xl(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}}let uo={};function dy(n){return uo[n]||(uo[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),uo[n]}const py={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function my(n,e){const t=n.format(e).replace(/\u200E/g,""),i=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(t),[,l,s,o,r,a,u,f]=i;return[o,l,s,r,a,u,f]}function hy(n,e){const t=n.formatToParts(e),i=[];for(let l=0;l=0?h:1e3+h,(d-m)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}}let or=null;class un extends $s{static get utcInstance(){return or===null&&(or=new un(0)),or}static instance(e){return e===0?un.utcInstance:new un(e)}static parseSpecifier(e){if(e){const t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new un(Wo(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${xl(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${xl(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return xl(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}}class _y extends $s{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function $i(n,e){if(it(n)||n===null)return e;if(n instanceof $s)return n;if(Z0(n)){const t=n.toLowerCase();return t==="local"||t==="system"?e:t==="utc"||t==="gmt"?un.utcInstance:un.parseSpecifier(t)||hi.create(n)}else return Xi(n)?un.instance(n):typeof n=="object"&&n.offset&&typeof n.offset=="number"?n:new _y(n)}let _u=()=>Date.now(),gu="system",bu=null,yu=null,ku=null,vu;class Zt{static get now(){return _u}static set now(e){_u=e}static set defaultZone(e){gu=e}static get defaultZone(){return $i(gu,wa.instance)}static get defaultLocale(){return bu}static set defaultLocale(e){bu=e}static get defaultNumberingSystem(){return yu}static set defaultNumberingSystem(e){yu=e}static get defaultOutputCalendar(){return ku}static set defaultOutputCalendar(e){ku=e}static get throwOnInvalid(){return vu}static set throwOnInvalid(e){vu=e}static resetCaches(){Et.resetCache(),hi.resetCache()}}let wu={};function gy(n,e={}){const t=JSON.stringify([n,e]);let i=wu[t];return i||(i=new Intl.ListFormat(n,e),wu[t]=i),i}let Br={};function Ur(n,e={}){const t=JSON.stringify([n,e]);let i=Br[t];return i||(i=new Intl.DateTimeFormat(n,e),Br[t]=i),i}let Wr={};function by(n,e={}){const t=JSON.stringify([n,e]);let i=Wr[t];return i||(i=new Intl.NumberFormat(n,e),Wr[t]=i),i}let Yr={};function yy(n,e={}){const{base:t,...i}=e,l=JSON.stringify([n,i]);let s=Yr[l];return s||(s=new Intl.RelativeTimeFormat(n,e),Yr[l]=s),s}let Jl=null;function ky(){return Jl||(Jl=new Intl.DateTimeFormat().resolvedOptions().locale,Jl)}function vy(n){const e=n.indexOf("-u-");if(e===-1)return[n];{let t;const i=n.substring(0,e);try{t=Ur(n).resolvedOptions()}catch{t=Ur(i).resolvedOptions()}const{numberingSystem:l,calendar:s}=t;return[i,l,s]}}function wy(n,e,t){return(t||e)&&(n+="-u",t&&(n+=`-ca-${t}`),e&&(n+=`-nu-${e}`)),n}function Sy(n){const e=[];for(let t=1;t<=12;t++){const i=He.utc(2016,t,1);e.push(n(i))}return e}function $y(n){const e=[];for(let t=1;t<=7;t++){const i=He.utc(2016,11,13+t);e.push(n(i))}return e}function Ns(n,e,t,i,l){const s=n.listingMode(t);return s==="error"?null:s==="en"?i(e):l(e)}function Ty(n){return n.numberingSystem&&n.numberingSystem!=="latn"?!1:n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}class Cy{constructor(e,t,i){this.padTo=i.padTo||0,this.floor=i.floor||!1;const{padTo:l,floor:s,...o}=i;if(!t||Object.keys(o).length>0){const r={useGrouping:!1,...i};i.padTo>0&&(r.minimumIntegerDigits=i.padTo),this.inf=by(e,r)}}format(e){if(this.inf){const t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{const t=this.floor?Math.floor(e):ka(e,3);return Ut(t,this.padTo)}}}class My{constructor(e,t,i){this.opts=i;let l;if(e.zone.isUniversal){const o=-1*(e.offset/60),r=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;e.offset!==0&&hi.create(r).valid?(l=r,this.dt=e):(l="UTC",i.timeZoneName?this.dt=e:this.dt=e.offset===0?e:He.fromMillis(e.ts+e.offset*60*1e3))}else e.zone.type==="system"?this.dt=e:(this.dt=e,l=e.zone.name);const s={...this.opts};l&&(s.timeZone=l),this.dtf=Ur(t,s)}format(){return this.dtf.format(this.dt.toJSDate())}formatToParts(){return this.dtf.formatToParts(this.dt.toJSDate())}resolvedOptions(){return this.dtf.resolvedOptions()}}class Oy{constructor(e,t,i){this.opts={style:"long",...i},!t&&o1()&&(this.rtf=yy(e,i))}format(e,t){return this.rtf?this.rtf.format(e,t):fy(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}class Et{static fromOpts(e){return Et.create(e.locale,e.numberingSystem,e.outputCalendar,e.defaultToEN)}static create(e,t,i,l=!1){const s=e||Zt.defaultLocale,o=s||(l?"en-US":ky()),r=t||Zt.defaultNumberingSystem,a=i||Zt.defaultOutputCalendar;return new Et(o,r,a,s)}static resetCache(){Jl=null,Br={},Wr={},Yr={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:i}={}){return Et.create(e,t,i)}constructor(e,t,i,l){const[s,o,r]=vy(e);this.locale=s,this.numberingSystem=t||o||null,this.outputCalendar=i||r||null,this.intl=wy(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=l,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Ty(this)),this.fastNumbersCached}listingMode(){const e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:Et.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1,i=!0){return Ns(this,e,i,c1,()=>{const l=t?{month:e,day:"numeric"}:{month:e},s=t?"format":"standalone";return this.monthsCache[s][e]||(this.monthsCache[s][e]=Sy(o=>this.extract(o,l,"month"))),this.monthsCache[s][e]})}weekdays(e,t=!1,i=!0){return Ns(this,e,i,m1,()=>{const l=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},s=t?"format":"standalone";return this.weekdaysCache[s][e]||(this.weekdaysCache[s][e]=$y(o=>this.extract(o,l,"weekday"))),this.weekdaysCache[s][e]})}meridiems(e=!0){return Ns(this,void 0,e,()=>h1,()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[He.utc(2016,11,13,9),He.utc(2016,11,13,19)].map(i=>this.extract(i,t,"dayperiod"))}return this.meridiemCache})}eras(e,t=!0){return Ns(this,e,t,_1,()=>{const i={era:e};return this.eraCache[e]||(this.eraCache[e]=[He.utc(-40,1,1),He.utc(2017,1,1)].map(l=>this.extract(l,i,"era"))),this.eraCache[e]})}extract(e,t,i){const l=this.dtFormatter(e,t),s=l.formatToParts(),o=s.find(r=>r.type.toLowerCase()===i);return o?o.value:null}numberFormatter(e={}){return new Cy(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new My(e,this.intl,t)}relFormatter(e={}){return new Oy(this.intl,this.isEnglish(),e)}listFormatter(e={}){return gy(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}}function Ol(...n){const e=n.reduce((t,i)=>t+i.source,"");return RegExp(`^${e}$`)}function Dl(...n){return e=>n.reduce(([t,i,l],s)=>{const[o,r,a]=s(e,l);return[{...t,...o},r||i,a]},[{},null,1]).slice(0,2)}function El(n,...e){if(n==null)return[null,null];for(const[t,i]of e){const l=t.exec(n);if(l)return i(l)}return[null,null]}function g1(...n){return(e,t)=>{const i={};let l;for(l=0;lm!==void 0&&(h||m&&f)?-m:m;return[{years:d(Ri(t)),months:d(Ri(i)),weeks:d(Ri(l)),days:d(Ri(s)),hours:d(Ri(o)),minutes:d(Ri(r)),seconds:d(Ri(a),a==="-0"),milliseconds:d(ya(u),c)}]}const zy={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Ta(n,e,t,i,l,s,o){const r={year:e.length===2?Vr(wi(e)):wi(e),month:f1.indexOf(t)+1,day:wi(i),hour:wi(l),minute:wi(s)};return o&&(r.second=wi(o)),n&&(r.weekday=n.length>3?d1.indexOf(n)+1:p1.indexOf(n)+1),r}const Vy=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function By(n){const[,e,t,i,l,s,o,r,a,u,f,c]=n,d=Ta(e,l,i,t,s,o,r);let m;return a?m=zy[a]:u?m=0:m=Wo(f,c),[d,new un(m)]}function Uy(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const Wy=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Yy=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Ky=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Su(n){const[,e,t,i,l,s,o,r]=n;return[Ta(e,l,i,t,s,o,r),un.utcInstance]}function Jy(n){const[,e,t,i,l,s,o,r]=n;return[Ta(e,r,t,i,l,s,o),un.utcInstance]}const Zy=Ol(Ey,$a),Gy=Ol(Ay,$a),Xy=Ol(Iy,$a),Qy=Ol(y1),v1=Dl(Ry,Al,Ts,Cs),xy=Dl(Ly,Al,Ts,Cs),ek=Dl(Py,Al,Ts,Cs),tk=Dl(Al,Ts,Cs);function nk(n){return El(n,[Zy,v1],[Gy,xy],[Xy,ek],[Qy,tk])}function ik(n){return El(Uy(n),[Vy,By])}function lk(n){return El(n,[Wy,Su],[Yy,Su],[Ky,Jy])}function sk(n){return El(n,[jy,Hy])}const ok=Dl(Al);function rk(n){return El(n,[qy,ok])}const ak=Ol(Ny,Fy),uk=Ol(k1),fk=Dl(Al,Ts,Cs);function ck(n){return El(n,[ak,v1],[uk,fk])}const dk="Invalid Duration",w1={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},pk={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...w1},An=146097/400,pl=146097/4800,mk={years:{quarters:4,months:12,weeks:An/7,days:An,hours:An*24,minutes:An*24*60,seconds:An*24*60*60,milliseconds:An*24*60*60*1e3},quarters:{months:3,weeks:An/28,days:An/4,hours:An*24/4,minutes:An*24*60/4,seconds:An*24*60*60/4,milliseconds:An*24*60*60*1e3/4},months:{weeks:pl/7,days:pl,hours:pl*24,minutes:pl*24*60,seconds:pl*24*60*60,milliseconds:pl*24*60*60*1e3},...w1},Wi=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],hk=Wi.slice(0).reverse();function qi(n,e,t=!1){const i={values:t?e.values:{...n.values,...e.values||{}},loc:n.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||n.conversionAccuracy};return new at(i)}function _k(n){return n<0?Math.floor(n):Math.ceil(n)}function S1(n,e,t,i,l){const s=n[l][t],o=e[t]/s,r=Math.sign(o)===Math.sign(i[l]),a=!r&&i[l]!==0&&Math.abs(o)<=1?_k(o):Math.trunc(o);i[l]+=a,e[t]-=a*s}function gk(n,e){hk.reduce((t,i)=>it(e[i])?t:(t&&S1(n,e,t,e,i),i),null)}class at{constructor(e){const t=e.conversionAccuracy==="longterm"||!1;this.values=e.values,this.loc=e.loc||Et.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=t?mk:pk,this.isLuxonDuration=!0}static fromMillis(e,t){return at.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(e==null||typeof e!="object")throw new Fn(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new at({values:So(e,at.normalizeUnit),loc:Et.fromObject(t),conversionAccuracy:t.conversionAccuracy})}static fromDurationLike(e){if(Xi(e))return at.fromMillis(e);if(at.isDuration(e))return e;if(typeof e=="object")return at.fromObject(e);throw new Fn(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){const[i]=sk(e);return i?at.fromObject(i,t):at.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){const[i]=rk(e);return i?at.fromObject(i,t):at.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new Fn("need to specify a reason the Duration is invalid");const i=e instanceof Yn?e:new Yn(e,t);if(Zt.throwOnInvalid)throw new Y0(i);return new at({invalid:i})}static normalizeUnit(e){const t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!t)throw new Hg(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){const i={...t,floor:t.round!==!1&&t.floor!==!1};return this.isValid?_n.create(this.loc,i).formatDurationFromString(this,e):dk}toHuman(e={}){const t=Wi.map(i=>{const l=this.values[i];return it(l)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:i.slice(0,-1)}).format(l)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(t)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=ka(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;const t=this.toMillis();if(t<0||t>=864e5)return null;e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e};const i=this.shiftTo("hours","minutes","seconds","milliseconds");let l=e.format==="basic"?"hhmm":"hh:mm";(!e.suppressSeconds||i.seconds!==0||i.milliseconds!==0)&&(l+=e.format==="basic"?"ss":":ss",(!e.suppressMilliseconds||i.milliseconds!==0)&&(l+=".SSS"));let s=i.toFormat(l);return e.includePrefix&&(s="T"+s),s}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;const t=at.fromDurationLike(e),i={};for(const l of Wi)(wl(t.values,l)||wl(this.values,l))&&(i[l]=t.get(l)+this.get(l));return qi(this,{values:i},!0)}minus(e){if(!this.isValid)return this;const t=at.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;const t={};for(const i of Object.keys(this.values))t[i]=a1(e(this.values[i],i));return qi(this,{values:t},!0)}get(e){return this[at.normalizeUnit(e)]}set(e){if(!this.isValid)return this;const t={...this.values,...So(e,at.normalizeUnit)};return qi(this,{values:t})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:i}={}){const l=this.loc.clone({locale:e,numberingSystem:t}),s={loc:l};return i&&(s.conversionAccuracy=i),qi(this,s)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;const e=this.toObject();return gk(this.matrix,e),qi(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(o=>at.normalizeUnit(o));const t={},i={},l=this.toObject();let s;for(const o of Wi)if(e.indexOf(o)>=0){s=o;let r=0;for(const u in i)r+=this.matrix[u][o]*i[u],i[u]=0;Xi(l[o])&&(r+=l[o]);const a=Math.trunc(r);t[o]=a,i[o]=(r*1e3-a*1e3)/1e3;for(const u in l)Wi.indexOf(u)>Wi.indexOf(o)&&S1(this.matrix,l,u,t,o)}else Xi(l[o])&&(i[o]=l[o]);for(const o in i)i[o]!==0&&(t[s]+=o===s?i[o]:i[o]/this.matrix[s][o]);return qi(this,{values:t},!0).normalize()}negate(){if(!this.isValid)return this;const e={};for(const t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return qi(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(i,l){return i===void 0||i===0?l===void 0||l===0:i===l}for(const i of Wi)if(!t(this.values[i],e.values[i]))return!1;return!0}}const Rl="Invalid Interval";function bk(n,e){return!n||!n.isValid?Rt.invalid("missing or invalid start"):!e||!e.isValid?Rt.invalid("missing or invalid end"):ee:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:t}={}){return this.isValid?Rt.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];const t=e.map(Hl).filter(o=>this.contains(o)).sort(),i=[];let{s:l}=this,s=0;for(;l+this.e?this.e:o;i.push(Rt.fromDateTimes(l,r)),l=r,s+=1}return i}splitBy(e){const t=at.fromDurationLike(e);if(!this.isValid||!t.isValid||t.as("milliseconds")===0)return[];let{s:i}=this,l=1,s;const o=[];for(;ia*l));s=+r>+this.e?this.e:r,o.push(Rt.fromDateTimes(i,s)),i=s,l+=1}return o}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;const t=this.s>e.s?this.s:e.s,i=this.e=i?null:Rt.fromDateTimes(t,i)}union(e){if(!this.isValid)return this;const t=this.se.e?this.e:e.e;return Rt.fromDateTimes(t,i)}static merge(e){const[t,i]=e.sort((l,s)=>l.s-s.s).reduce(([l,s],o)=>s?s.overlaps(o)||s.abutsStart(o)?[l,s.union(o)]:[l.concat([s]),o]:[l,o],[[],null]);return i&&t.push(i),t}static xor(e){let t=null,i=0;const l=[],s=e.map(a=>[{time:a.s,type:"s"},{time:a.e,type:"e"}]),o=Array.prototype.concat(...s),r=o.sort((a,u)=>a.time-u.time);for(const a of r)i+=a.type==="s"?1:-1,i===1?t=a.time:(t&&+t!=+a.time&&l.push(Rt.fromDateTimes(t,a.time)),t=null);return Rt.merge(l)}difference(...e){return Rt.xor([this].concat(e)).map(t=>this.intersection(t)).filter(t=>t&&!t.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:Rl}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Rl}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Rl}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Rl}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:Rl}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):at.invalid(this.invalidReason)}mapEndpoints(e){return Rt.fromDateTimes(e(this.s),e(this.e))}}class Fs{static hasDST(e=Zt.defaultZone){const t=He.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return hi.isValidZone(e)}static normalizeZone(e){return $i(e,Zt.defaultZone)}static months(e="long",{locale:t=null,numberingSystem:i=null,locObj:l=null,outputCalendar:s="gregory"}={}){return(l||Et.create(t,i,s)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:i=null,locObj:l=null,outputCalendar:s="gregory"}={}){return(l||Et.create(t,i,s)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:i=null,locObj:l=null}={}){return(l||Et.create(t,i,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:i=null,locObj:l=null}={}){return(l||Et.create(t,i,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return Et.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return Et.create(t,null,"gregory").eras(e)}static features(){return{relative:o1()}}}function $u(n,e){const t=l=>l.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),i=t(e)-t(n);return Math.floor(at.fromMillis(i).as("days"))}function yk(n,e,t){const i=[["years",(r,a)=>a.year-r.year],["quarters",(r,a)=>a.quarter-r.quarter],["months",(r,a)=>a.month-r.month+(a.year-r.year)*12],["weeks",(r,a)=>{const u=$u(r,a);return(u-u%7)/7}],["days",$u]],l={};let s,o;for(const[r,a]of i)if(t.indexOf(r)>=0){s=r;let u=a(n,e);o=n.plus({[r]:u}),o>e?(n=n.plus({[r]:u-1}),u-=1):n=o,l[r]=u}return[n,l,o,s]}function kk(n,e,t,i){let[l,s,o,r]=yk(n,e,t);const a=e-l,u=t.filter(c=>["hours","minutes","seconds","milliseconds"].indexOf(c)>=0);u.length===0&&(o0?at.fromMillis(a,i).shiftTo(...u).plus(f):f}const Ca={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},Tu={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},vk=Ca.hanidec.replace(/[\[|\]]/g,"").split("");function wk(n){let e=parseInt(n,10);if(isNaN(e)){e="";for(let t=0;t=s&&i<=o&&(e+=i-s)}}return parseInt(e,10)}else return e}function Un({numberingSystem:n},e=""){return new RegExp(`${Ca[n||"latn"]}${e}`)}const Sk="missing Intl.DateTimeFormat.formatToParts support";function ft(n,e=t=>t){return{regex:n,deser:([t])=>e(wk(t))}}const $k=String.fromCharCode(160),$1=`[ ${$k}]`,T1=new RegExp($1,"g");function Tk(n){return n.replace(/\./g,"\\.?").replace(T1,$1)}function Cu(n){return n.replace(/\./g,"").replace(T1," ").toLowerCase()}function Wn(n,e){return n===null?null:{regex:RegExp(n.map(Tk).join("|")),deser:([t])=>n.findIndex(i=>Cu(t)===Cu(i))+e}}function Mu(n,e){return{regex:n,deser:([,t,i])=>Wo(t,i),groups:e}}function rr(n){return{regex:n,deser:([e])=>e}}function Ck(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Mk(n,e){const t=Un(e),i=Un(e,"{2}"),l=Un(e,"{3}"),s=Un(e,"{4}"),o=Un(e,"{6}"),r=Un(e,"{1,2}"),a=Un(e,"{1,3}"),u=Un(e,"{1,6}"),f=Un(e,"{1,9}"),c=Un(e,"{2,4}"),d=Un(e,"{4,6}"),m=g=>({regex:RegExp(Ck(g.val)),deser:([k])=>k,literal:!0}),_=(g=>{if(n.literal)return m(g);switch(g.val){case"G":return Wn(e.eras("short",!1),0);case"GG":return Wn(e.eras("long",!1),0);case"y":return ft(u);case"yy":return ft(c,Vr);case"yyyy":return ft(s);case"yyyyy":return ft(d);case"yyyyyy":return ft(o);case"M":return ft(r);case"MM":return ft(i);case"MMM":return Wn(e.months("short",!0,!1),1);case"MMMM":return Wn(e.months("long",!0,!1),1);case"L":return ft(r);case"LL":return ft(i);case"LLL":return Wn(e.months("short",!1,!1),1);case"LLLL":return Wn(e.months("long",!1,!1),1);case"d":return ft(r);case"dd":return ft(i);case"o":return ft(a);case"ooo":return ft(l);case"HH":return ft(i);case"H":return ft(r);case"hh":return ft(i);case"h":return ft(r);case"mm":return ft(i);case"m":return ft(r);case"q":return ft(r);case"qq":return ft(i);case"s":return ft(r);case"ss":return ft(i);case"S":return ft(a);case"SSS":return ft(l);case"u":return rr(f);case"uu":return rr(r);case"uuu":return ft(t);case"a":return Wn(e.meridiems(),0);case"kkkk":return ft(s);case"kk":return ft(c,Vr);case"W":return ft(r);case"WW":return ft(i);case"E":case"c":return ft(t);case"EEE":return Wn(e.weekdays("short",!1,!1),1);case"EEEE":return Wn(e.weekdays("long",!1,!1),1);case"ccc":return Wn(e.weekdays("short",!0,!1),1);case"cccc":return Wn(e.weekdays("long",!0,!1),1);case"Z":case"ZZ":return Mu(new RegExp(`([+-]${r.source})(?::(${i.source}))?`),2);case"ZZZ":return Mu(new RegExp(`([+-]${r.source})(${i.source})?`),2);case"z":return rr(/[a-z_+-/]{1,256}?/i);default:return m(g)}})(n)||{invalidReason:Sk};return _.token=n,_}const Ok={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};function Dk(n,e,t){const{type:i,value:l}=n;if(i==="literal")return{literal:!0,val:l};const s=t[i];let o=Ok[i];if(typeof o=="object"&&(o=o[s]),o)return{literal:!1,val:o}}function Ek(n){return[`^${n.map(t=>t.regex).reduce((t,i)=>`${t}(${i.source})`,"")}$`,n]}function Ak(n,e,t){const i=n.match(e);if(i){const l={};let s=1;for(const o in t)if(wl(t,o)){const r=t[o],a=r.groups?r.groups+1:1;!r.literal&&r.token&&(l[r.token.val[0]]=r.deser(i.slice(s,s+a))),s+=a}return[i,l]}else return[i,{}]}function Ik(n){const e=s=>{switch(s){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let t=null,i;return it(n.z)||(t=hi.create(n.z)),it(n.Z)||(t||(t=new un(n.Z)),i=n.Z),it(n.q)||(n.M=(n.q-1)*3+1),it(n.h)||(n.h<12&&n.a===1?n.h+=12:n.h===12&&n.a===0&&(n.h=0)),n.G===0&&n.y&&(n.y=-n.y),it(n.u)||(n.S=ya(n.u)),[Object.keys(n).reduce((s,o)=>{const r=e(o);return r&&(s[r]=n[o]),s},{}),t,i]}let ar=null;function Lk(){return ar||(ar=He.fromMillis(1555555555555)),ar}function Pk(n,e){if(n.literal)return n;const t=_n.macroTokenToFormatOpts(n.val);if(!t)return n;const s=_n.create(e,t).formatDateTimeParts(Lk()).map(o=>Dk(o,e,t));return s.includes(void 0)?n:s}function Nk(n,e){return Array.prototype.concat(...n.map(t=>Pk(t,e)))}function C1(n,e,t){const i=Nk(_n.parseFormat(t),n),l=i.map(o=>Mk(o,n)),s=l.find(o=>o.invalidReason);if(s)return{input:e,tokens:i,invalidReason:s.invalidReason};{const[o,r]=Ek(l),a=RegExp(o,"i"),[u,f]=Ak(e,a,r),[c,d,m]=f?Ik(f):[null,null,void 0];if(wl(f,"a")&&wl(f,"H"))throw new Kl("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:i,regex:a,rawMatches:u,matches:f,result:c,zone:d,specificOffset:m}}}function Fk(n,e,t){const{result:i,zone:l,specificOffset:s,invalidReason:o}=C1(n,e,t);return[i,l,s,o]}const M1=[0,31,59,90,120,151,181,212,243,273,304,334],O1=[0,31,60,91,121,152,182,213,244,274,305,335];function Rn(n,e){return new Yn("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${n}, which is invalid`)}function D1(n,e,t){const i=new Date(Date.UTC(n,e-1,t));n<100&&n>=0&&i.setUTCFullYear(i.getUTCFullYear()-1900);const l=i.getUTCDay();return l===0?7:l}function E1(n,e,t){return t+(Ss(n)?O1:M1)[e-1]}function A1(n,e){const t=Ss(n)?O1:M1,i=t.findIndex(s=>swo(e)?(r=e+1,o=1):r=e,{weekYear:r,weekNumber:o,weekday:s,...Yo(n)}}function Ou(n){const{weekYear:e,weekNumber:t,weekday:i}=n,l=D1(e,1,4),s=Ql(e);let o=t*7+i-l-3,r;o<1?(r=e-1,o+=Ql(r)):o>s?(r=e+1,o-=Ql(e)):r=e;const{month:a,day:u}=A1(r,o);return{year:r,month:a,day:u,...Yo(n)}}function ur(n){const{year:e,month:t,day:i}=n,l=E1(e,t,i);return{year:e,ordinal:l,...Yo(n)}}function Du(n){const{year:e,ordinal:t}=n,{month:i,day:l}=A1(e,t);return{year:e,month:i,day:l,...Yo(n)}}function Rk(n){const e=Uo(n.weekYear),t=pi(n.weekNumber,1,wo(n.weekYear)),i=pi(n.weekday,1,7);return e?t?i?!1:Rn("weekday",n.weekday):Rn("week",n.week):Rn("weekYear",n.weekYear)}function qk(n){const e=Uo(n.year),t=pi(n.ordinal,1,Ql(n.year));return e?t?!1:Rn("ordinal",n.ordinal):Rn("year",n.year)}function I1(n){const e=Uo(n.year),t=pi(n.month,1,12),i=pi(n.day,1,vo(n.year,n.month));return e?t?i?!1:Rn("day",n.day):Rn("month",n.month):Rn("year",n.year)}function L1(n){const{hour:e,minute:t,second:i,millisecond:l}=n,s=pi(e,0,23)||e===24&&t===0&&i===0&&l===0,o=pi(t,0,59),r=pi(i,0,59),a=pi(l,0,999);return s?o?r?a?!1:Rn("millisecond",l):Rn("second",i):Rn("minute",t):Rn("hour",e)}const fr="Invalid DateTime",Eu=864e13;function Rs(n){return new Yn("unsupported zone",`the zone "${n.name}" is not supported`)}function cr(n){return n.weekData===null&&(n.weekData=Kr(n.c)),n.weekData}function ql(n,e){const t={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new He({...t,...e,old:t})}function P1(n,e,t){let i=n-e*60*1e3;const l=t.offset(i);if(e===l)return[i,e];i-=(l-e)*60*1e3;const s=t.offset(i);return l===s?[i,l]:[n-Math.min(l,s)*60*1e3,Math.max(l,s)]}function Au(n,e){n+=e*60*1e3;const t=new Date(n);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function fo(n,e,t){return P1(va(n),e,t)}function Iu(n,e){const t=n.o,i=n.c.year+Math.trunc(e.years),l=n.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,s={...n.c,year:i,month:l,day:Math.min(n.c.day,vo(i,l))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},o=at.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),r=va(s);let[a,u]=P1(r,t,n.zone);return o!==0&&(a+=o,u=n.zone.offset(a)),{ts:a,o:u}}function jl(n,e,t,i,l,s){const{setZone:o,zone:r}=t;if(n&&Object.keys(n).length!==0){const a=e||r,u=He.fromObject(n,{...t,zone:a,specificOffset:s});return o?u:u.setZone(r)}else return He.invalid(new Yn("unparsable",`the input "${l}" can't be parsed as ${i}`))}function qs(n,e,t=!0){return n.isValid?_n.create(Et.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(n,e):null}function dr(n,e){const t=n.c.year>9999||n.c.year<0;let i="";return t&&n.c.year>=0&&(i+="+"),i+=Ut(n.c.year,t?6:4),e?(i+="-",i+=Ut(n.c.month),i+="-",i+=Ut(n.c.day)):(i+=Ut(n.c.month),i+=Ut(n.c.day)),i}function Lu(n,e,t,i,l,s){let o=Ut(n.c.hour);return e?(o+=":",o+=Ut(n.c.minute),(n.c.second!==0||!t)&&(o+=":")):o+=Ut(n.c.minute),(n.c.second!==0||!t)&&(o+=Ut(n.c.second),(n.c.millisecond!==0||!i)&&(o+=".",o+=Ut(n.c.millisecond,3))),l&&(n.isOffsetFixed&&n.offset===0&&!s?o+="Z":n.o<0?(o+="-",o+=Ut(Math.trunc(-n.o/60)),o+=":",o+=Ut(Math.trunc(-n.o%60))):(o+="+",o+=Ut(Math.trunc(n.o/60)),o+=":",o+=Ut(Math.trunc(n.o%60)))),s&&(o+="["+n.zone.ianaName+"]"),o}const N1={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},jk={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Hk={ordinal:1,hour:0,minute:0,second:0,millisecond:0},F1=["year","month","day","hour","minute","second","millisecond"],zk=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Vk=["year","ordinal","hour","minute","second","millisecond"];function Pu(n){const e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!e)throw new Hg(n);return e}function Nu(n,e){const t=$i(e.zone,Zt.defaultZone),i=Et.fromObject(e),l=Zt.now();let s,o;if(it(n.year))s=l;else{for(const u of F1)it(n[u])&&(n[u]=N1[u]);const r=I1(n)||L1(n);if(r)return He.invalid(r);const a=t.offset(l);[s,o]=fo(n,a,t)}return new He({ts:s,zone:t,loc:i,o})}function Fu(n,e,t){const i=it(t.round)?!0:t.round,l=(o,r)=>(o=ka(o,i||t.calendary?0:2,!0),e.loc.clone(t).relFormatter(t).format(o,r)),s=o=>t.calendary?e.hasSame(n,o)?0:e.startOf(o).diff(n.startOf(o),o).get(o):e.diff(n,o).get(o);if(t.unit)return l(s(t.unit),t.unit);for(const o of t.units){const r=s(o);if(Math.abs(r)>=1)return l(r,o)}return l(n>e?-0:0,t.units[t.units.length-1])}function Ru(n){let e={},t;return n.length>0&&typeof n[n.length-1]=="object"?(e=n[n.length-1],t=Array.from(n).slice(0,n.length-1)):t=Array.from(n),[e,t]}class He{constructor(e){const t=e.zone||Zt.defaultZone;let i=e.invalid||(Number.isNaN(e.ts)?new Yn("invalid input"):null)||(t.isValid?null:Rs(t));this.ts=it(e.ts)?Zt.now():e.ts;let l=null,s=null;if(!i)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[l,s]=[e.old.c,e.old.o];else{const r=t.offset(this.ts);l=Au(this.ts,r),i=Number.isNaN(l.year)?new Yn("invalid input"):null,l=i?null:l,s=i?null:r}this._zone=t,this.loc=e.loc||Et.create(),this.invalid=i,this.weekData=null,this.c=l,this.o=s,this.isLuxonDateTime=!0}static now(){return new He({})}static local(){const[e,t]=Ru(arguments),[i,l,s,o,r,a,u]=t;return Nu({year:i,month:l,day:s,hour:o,minute:r,second:a,millisecond:u},e)}static utc(){const[e,t]=Ru(arguments),[i,l,s,o,r,a,u]=t;return e.zone=un.utcInstance,Nu({year:i,month:l,day:s,hour:o,minute:r,second:a,millisecond:u},e)}static fromJSDate(e,t={}){const i=G0(e)?e.valueOf():NaN;if(Number.isNaN(i))return He.invalid("invalid input");const l=$i(t.zone,Zt.defaultZone);return l.isValid?new He({ts:i,zone:l,loc:Et.fromObject(t)}):He.invalid(Rs(l))}static fromMillis(e,t={}){if(Xi(e))return e<-Eu||e>Eu?He.invalid("Timestamp out of range"):new He({ts:e,zone:$i(t.zone,Zt.defaultZone),loc:Et.fromObject(t)});throw new Fn(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(Xi(e))return new He({ts:e*1e3,zone:$i(t.zone,Zt.defaultZone),loc:Et.fromObject(t)});throw new Fn("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};const i=$i(t.zone,Zt.defaultZone);if(!i.isValid)return He.invalid(Rs(i));const l=Zt.now(),s=it(t.specificOffset)?i.offset(l):t.specificOffset,o=So(e,Pu),r=!it(o.ordinal),a=!it(o.year),u=!it(o.month)||!it(o.day),f=a||u,c=o.weekYear||o.weekNumber,d=Et.fromObject(t);if((f||r)&&c)throw new Kl("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&r)throw new Kl("Can't mix ordinal dates with month/day");const m=c||o.weekday&&!f;let h,_,g=Au(l,s);m?(h=zk,_=jk,g=Kr(g)):r?(h=Vk,_=Hk,g=ur(g)):(h=F1,_=N1);let k=!1;for(const E of h){const L=o[E];it(L)?k?o[E]=_[E]:o[E]=g[E]:k=!0}const S=m?Rk(o):r?qk(o):I1(o),T=S||L1(o);if(T)return He.invalid(T);const $=m?Ou(o):r?Du(o):o,[C,D]=fo($,s,i),O=new He({ts:C,zone:i,o:D,loc:d});return o.weekday&&f&&e.weekday!==O.weekday?He.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${O.toISO()}`):O}static fromISO(e,t={}){const[i,l]=nk(e);return jl(i,l,t,"ISO 8601",e)}static fromRFC2822(e,t={}){const[i,l]=ik(e);return jl(i,l,t,"RFC 2822",e)}static fromHTTP(e,t={}){const[i,l]=lk(e);return jl(i,l,t,"HTTP",t)}static fromFormat(e,t,i={}){if(it(e)||it(t))throw new Fn("fromFormat requires an input string and a format");const{locale:l=null,numberingSystem:s=null}=i,o=Et.fromOpts({locale:l,numberingSystem:s,defaultToEN:!0}),[r,a,u,f]=Fk(o,e,t);return f?He.invalid(f):jl(r,a,i,`format ${t}`,e,u)}static fromString(e,t,i={}){return He.fromFormat(e,t,i)}static fromSQL(e,t={}){const[i,l]=ck(e);return jl(i,l,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new Fn("need to specify a reason the DateTime is invalid");const i=e instanceof Yn?e:new Yn(e,t);if(Zt.throwOnInvalid)throw new U0(i);return new He({invalid:i})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?cr(this).weekYear:NaN}get weekNumber(){return this.isValid?cr(this).weekNumber:NaN}get weekday(){return this.isValid?cr(this).weekday:NaN}get ordinal(){return this.isValid?ur(this.c).ordinal:NaN}get monthShort(){return this.isValid?Fs.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Fs.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Fs.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Fs.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}get isInLeapYear(){return Ss(this.year)}get daysInMonth(){return vo(this.year,this.month)}get daysInYear(){return this.isValid?Ql(this.year):NaN}get weeksInWeekYear(){return this.isValid?wo(this.weekYear):NaN}resolvedLocaleOptions(e={}){const{locale:t,numberingSystem:i,calendar:l}=_n.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:i,outputCalendar:l}}toUTC(e=0,t={}){return this.setZone(un.instance(e),t)}toLocal(){return this.setZone(Zt.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:i=!1}={}){if(e=$i(e,Zt.defaultZone),e.equals(this.zone))return this;if(e.isValid){let l=this.ts;if(t||i){const s=e.offset(this.ts),o=this.toObject();[l]=fo(o,s,e)}return ql(this,{ts:l,zone:e})}else return He.invalid(Rs(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:i}={}){const l=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:i});return ql(this,{loc:l})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;const t=So(e,Pu),i=!it(t.weekYear)||!it(t.weekNumber)||!it(t.weekday),l=!it(t.ordinal),s=!it(t.year),o=!it(t.month)||!it(t.day),r=s||o,a=t.weekYear||t.weekNumber;if((r||l)&&a)throw new Kl("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(o&&l)throw new Kl("Can't mix ordinal dates with month/day");let u;i?u=Ou({...Kr(this.c),...t}):it(t.ordinal)?(u={...this.toObject(),...t},it(t.day)&&(u.day=Math.min(vo(u.year,u.month),u.day))):u=Du({...ur(this.c),...t});const[f,c]=fo(u,this.o,this.zone);return ql(this,{ts:f,o:c})}plus(e){if(!this.isValid)return this;const t=at.fromDurationLike(e);return ql(this,Iu(this,t))}minus(e){if(!this.isValid)return this;const t=at.fromDurationLike(e).negate();return ql(this,Iu(this,t))}startOf(e){if(!this.isValid)return this;const t={},i=at.normalizeUnit(e);switch(i){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0;break}if(i==="weeks"&&(t.weekday=1),i==="quarters"){const l=Math.ceil(this.month/3);t.month=(l-1)*3+1}return this.set(t)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,t={}){return this.isValid?_n.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):fr}toLocaleString(e=zr,t={}){return this.isValid?_n.create(this.loc.clone(t),e).formatDateTime(this):fr}toLocaleParts(e={}){return this.isValid?_n.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:i=!1,includeOffset:l=!0,extendedZone:s=!1}={}){if(!this.isValid)return null;const o=e==="extended";let r=dr(this,o);return r+="T",r+=Lu(this,o,t,i,l,s),r}toISODate({format:e="extended"}={}){return this.isValid?dr(this,e==="extended"):null}toISOWeekDate(){return qs(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:i=!0,includePrefix:l=!1,extendedZone:s=!1,format:o="extended"}={}){return this.isValid?(l?"T":"")+Lu(this,o==="extended",t,e,i,s):null}toRFC2822(){return qs(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return qs(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?dr(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:i=!0}={}){let l="HH:mm:ss.SSS";return(t||e)&&(i&&(l+=" "),t?l+="z":e&&(l+="ZZ")),qs(this,l,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():fr}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};const t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",i={}){if(!this.isValid||!e.isValid)return at.invalid("created by diffing an invalid DateTime");const l={locale:this.locale,numberingSystem:this.numberingSystem,...i},s=X0(t).map(at.normalizeUnit),o=e.valueOf()>this.valueOf(),r=o?this:e,a=o?e:this,u=kk(r,a,s,l);return o?u.negate():u}diffNow(e="milliseconds",t={}){return this.diff(He.now(),e,t)}until(e){return this.isValid?Rt.fromDateTimes(this,e):this}hasSame(e,t){if(!this.isValid)return!1;const i=e.valueOf(),l=this.setZone(e.zone,{keepLocalTime:!0});return l.startOf(t)<=i&&i<=l.endOf(t)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;const t=e.base||He.fromObject({},{zone:this.zone}),i=e.padding?thist.valueOf(),Math.min)}static max(...e){if(!e.every(He.isDateTime))throw new Fn("max requires all arguments be DateTimes");return mu(e,t=>t.valueOf(),Math.max)}static fromFormatExplain(e,t,i={}){const{locale:l=null,numberingSystem:s=null}=i,o=Et.fromOpts({locale:l,numberingSystem:s,defaultToEN:!0});return C1(o,e,t)}static fromStringExplain(e,t,i={}){return He.fromFormatExplain(e,t,i)}static get DATE_SHORT(){return zr}static get DATE_MED(){return zg}static get DATE_MED_WITH_WEEKDAY(){return K0}static get DATE_FULL(){return Vg}static get DATE_HUGE(){return Bg}static get TIME_SIMPLE(){return Ug}static get TIME_WITH_SECONDS(){return Wg}static get TIME_WITH_SHORT_OFFSET(){return Yg}static get TIME_WITH_LONG_OFFSET(){return Kg}static get TIME_24_SIMPLE(){return Jg}static get TIME_24_WITH_SECONDS(){return Zg}static get TIME_24_WITH_SHORT_OFFSET(){return Gg}static get TIME_24_WITH_LONG_OFFSET(){return Xg}static get DATETIME_SHORT(){return Qg}static get DATETIME_SHORT_WITH_SECONDS(){return xg}static get DATETIME_MED(){return e1}static get DATETIME_MED_WITH_SECONDS(){return t1}static get DATETIME_MED_WITH_WEEKDAY(){return J0}static get DATETIME_FULL(){return n1}static get DATETIME_FULL_WITH_SECONDS(){return i1}static get DATETIME_HUGE(){return l1}static get DATETIME_HUGE_WITH_SECONDS(){return s1}}function Hl(n){if(He.isDateTime(n))return n;if(n&&n.valueOf&&Xi(n.valueOf()))return He.fromJSDate(n);if(n&&typeof n=="object")return He.fromObject(n);throw new Fn(`Unknown datetime argument: ${n}, of type ${typeof n}`)}const Bk=[".jpg",".jpeg",".png",".svg",".gif",".jfif",".webp",".avif"],Uk=[".mp4",".avi",".mov",".3gp",".wmv"],Wk=[".aa",".aac",".m4v",".mp3",".ogg",".oga",".mogg",".amr"],Yk=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".odp",".odt",".ods",".txt"],R1=[{level:-4,label:"DEBUG",class:""},{level:0,label:"INFO",class:"label-success"},{level:4,label:"WARN",class:"label-warning"},{level:8,label:"ERROR",class:"label-danger"}];class j{static isObject(e){return e!==null&&typeof e=="object"&&e.constructor===Object}static clone(e){return typeof structuredClone<"u"?structuredClone(e):JSON.parse(JSON.stringify(e))}static isEmpty(e){return e===""||e===null||e==="00000000-0000-0000-0000-000000000000"||e==="0001-01-01 00:00:00.000Z"||e==="0001-01-01"||typeof e>"u"||Array.isArray(e)&&e.length===0||j.isObject(e)&&Object.keys(e).length===0}static isInput(e){let t=e&&e.tagName?e.tagName.toLowerCase():"";return t==="input"||t==="select"||t==="textarea"||(e==null?void 0:e.isContentEditable)}static isFocusable(e){let t=e&&e.tagName?e.tagName.toLowerCase():"";return j.isInput(e)||t==="button"||t==="a"||t==="details"||(e==null?void 0:e.tabIndex)>=0}static hasNonEmptyProps(e){for(let t in e)if(!j.isEmpty(e[t]))return!0;return!1}static toArray(e,t=!1){return Array.isArray(e)?e.slice():(t||!j.isEmpty(e))&&typeof e<"u"?[e]:[]}static inArray(e,t){e=Array.isArray(e)?e:[];for(let i=e.length-1;i>=0;i--)if(e[i]==t)return!0;return!1}static removeByValue(e,t){e=Array.isArray(e)?e:[];for(let i=e.length-1;i>=0;i--)if(e[i]==t){e.splice(i,1);break}}static pushUnique(e,t){j.inArray(e,t)||e.push(t)}static findByKey(e,t,i){e=Array.isArray(e)?e:[];for(let l in e)if(e[l][t]==i)return e[l];return null}static groupByKey(e,t){e=Array.isArray(e)?e:[];const i={};for(let l in e)i[e[l][t]]=i[e[l][t]]||[],i[e[l][t]].push(e[l]);return i}static removeByKey(e,t,i){for(let l in e)if(e[l][t]==i){e.splice(l,1);break}}static pushOrReplaceByKey(e,t,i="id"){for(let l=e.length-1;l>=0;l--)if(e[l][i]==t[i]){e[l]=t;return}e.push(t)}static filterDuplicatesByKey(e,t="id"){e=Array.isArray(e)?e:[];const i={};for(const l of e)i[l[t]]=l;return Object.values(i)}static filterRedactedProps(e,t="******"){const i=JSON.parse(JSON.stringify(e||{}));for(let l in i)typeof i[l]=="object"&&i[l]!==null?i[l]=j.filterRedactedProps(i[l],t):i[l]===t&&delete i[l];return i}static getNestedVal(e,t,i=null,l="."){let s=e||{},o=(t||"").split(l);for(const r of o){if(!j.isObject(s)&&!Array.isArray(s)||typeof s[r]>"u")return i;s=s[r]}return s}static setByPath(e,t,i,l="."){if(e===null||typeof e!="object"){console.warn("setByPath: data not an object or array.");return}let s=e,o=t.split(l),r=o.pop();for(const a of o)(!j.isObject(s)&&!Array.isArray(s)||!j.isObject(s[a])&&!Array.isArray(s[a]))&&(s[a]={}),s=s[a];s[r]=i}static deleteByPath(e,t,i="."){let l=e||{},s=(t||"").split(i),o=s.pop();for(const r of s)(!j.isObject(l)&&!Array.isArray(l)||!j.isObject(l[r])&&!Array.isArray(l[r]))&&(l[r]={}),l=l[r];Array.isArray(l)?l.splice(o,1):j.isObject(l)&&delete l[o],s.length>0&&(Array.isArray(l)&&!l.length||j.isObject(l)&&!Object.keys(l).length)&&(Array.isArray(e)&&e.length>0||j.isObject(e)&&Object.keys(e).length>0)&&j.deleteByPath(e,s.join(i),i)}static randomString(e=10){let t="",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let l=0;l"u")return j.randomString(e);const t=new Uint8Array(e);crypto.getRandomValues(t);const i="-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let l="";for(let s=0;ss.replaceAll("{_PB_ESCAPED_}",t));for(let s of l)s=s.trim(),j.isEmpty(s)||i.push(s);return i}static joinNonEmpty(e,t=", "){e=e||[];const i=[],l=t.length>1?t.trim():t;for(let s of e)s=typeof s=="string"?s.trim():"",j.isEmpty(s)||i.push(s.replaceAll(l,"\\"+l));return i.join(t)}static getInitials(e){if(e=(e||"").split("@")[0].trim(),e.length<=2)return e.toUpperCase();const t=e.split(/[\.\_\-\ ]/);return t.length>=2?(t[0][0]+t[1][0]).toUpperCase():e[0].toUpperCase()}static formattedFileSize(e){const t=e?Math.floor(Math.log(e)/Math.log(1024)):0;return(e/Math.pow(1024,t)).toFixed(2)*1+" "+["B","KB","MB","GB","TB"][t]}static getDateTime(e){if(typeof e=="string"){const t={19:"yyyy-MM-dd HH:mm:ss",23:"yyyy-MM-dd HH:mm:ss.SSS",20:"yyyy-MM-dd HH:mm:ss'Z'",24:"yyyy-MM-dd HH:mm:ss.SSS'Z'"},i=t[e.length]||t[19];return He.fromFormat(e,i,{zone:"UTC"})}return He.fromJSDate(e)}static formatToUTCDate(e,t="yyyy-MM-dd HH:mm:ss"){return j.getDateTime(e).toUTC().toFormat(t)}static formatToLocalDate(e,t="yyyy-MM-dd HH:mm:ss"){return j.getDateTime(e).toLocal().toFormat(t)}static async copyToClipboard(e){var t;if(e=""+e,!(!e.length||!((t=window==null?void 0:window.navigator)!=null&&t.clipboard)))return window.navigator.clipboard.writeText(e).catch(i=>{console.warn("Failed to copy.",i)})}static download(e,t){const i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download",t),i.setAttribute("target","_blank"),i.click(),i.remove()}static downloadJson(e,t){t=t.endsWith(".json")?t:t+".json";const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),l=window.URL.createObjectURL(i);j.download(l,t)}static getJWTPayload(e){const t=(e||"").split(".")[1]||"";if(t==="")return{};try{const i=decodeURIComponent(atob(t));return JSON.parse(i)||{}}catch(i){console.warn("Failed to parse JWT payload data.",i)}return{}}static hasImageExtension(e){return e=e||"",!!Bk.find(t=>e.toLowerCase().endsWith(t))}static hasVideoExtension(e){return e=e||"",!!Uk.find(t=>e.toLowerCase().endsWith(t))}static hasAudioExtension(e){return e=e||"",!!Wk.find(t=>e.toLowerCase().endsWith(t))}static hasDocumentExtension(e){return e=e||"",!!Yk.find(t=>e.toLowerCase().endsWith(t))}static getFileType(e){return j.hasImageExtension(e)?"image":j.hasDocumentExtension(e)?"document":j.hasVideoExtension(e)?"video":j.hasAudioExtension(e)?"audio":"file"}static generateThumb(e,t=100,i=100){return new Promise(l=>{let s=new FileReader;s.onload=function(o){let r=new Image;r.onload=function(){let a=document.createElement("canvas"),u=a.getContext("2d"),f=r.width,c=r.height;return a.width=t,a.height=i,u.drawImage(r,f>c?(f-c)/2:0,0,f>c?c:f,f>c?c:f,0,0,t,i),l(a.toDataURL(e.type))},r.src=o.target.result},s.readAsDataURL(e)})}static addValueToFormData(e,t,i){if(!(typeof i>"u"))if(j.isEmpty(i))e.append(t,"");else if(Array.isArray(i))for(const l of i)j.addValueToFormData(e,t,l);else i instanceof File?e.append(t,i):i instanceof Date?e.append(t,i.toISOString()):j.isObject(i)?e.append(t,JSON.stringify(i)):e.append(t,""+i)}static dummyCollectionRecord(e){var a,u,f,c,d,m,h;const t=(e==null?void 0:e.schema)||[],i=(e==null?void 0:e.type)==="auth",l=(e==null?void 0:e.type)==="view",s={id:"RECORD_ID",collectionId:e==null?void 0:e.id,collectionName:e==null?void 0:e.name};i&&(s.username="username123",s.verified=!1,s.emailVisibility=!0,s.email="test@example.com"),(!l||j.extractColumnsFromQuery((a=e==null?void 0:e.options)==null?void 0:a.query).includes("created"))&&(s.created="2022-01-01 01:00:00.123Z"),(!l||j.extractColumnsFromQuery((u=e==null?void 0:e.options)==null?void 0:u.query).includes("updated"))&&(s.updated="2022-01-01 23:59:59.456Z");for(const _ of t){let g=null;_.type==="number"?g=123:_.type==="date"?g="2022-01-01 10:00:00.123Z":_.type==="bool"?g=!0:_.type==="email"?g="test@example.com":_.type==="url"?g="https://example.com":_.type==="json"?g="JSON":_.type==="file"?(g="filename.jpg",((f=_.options)==null?void 0:f.maxSelect)!==1&&(g=[g])):_.type==="select"?(g=(d=(c=_.options)==null?void 0:c.values)==null?void 0:d[0],((m=_.options)==null?void 0:m.maxSelect)!==1&&(g=[g])):_.type==="relation"?(g="RELATION_RECORD_ID",((h=_.options)==null?void 0:h.maxSelect)!==1&&(g=[g])):g="test",s[_.name]=g}return s}static dummyCollectionSchemaData(e){var l,s,o,r;const t=(e==null?void 0:e.schema)||[],i={};for(const a of t){let u=null;if(a.type==="number")u=123;else if(a.type==="date")u="2022-01-01 10:00:00.123Z";else if(a.type==="bool")u=!0;else if(a.type==="email")u="test@example.com";else if(a.type==="url")u="https://example.com";else if(a.type==="json")u="JSON";else{if(a.type==="file")continue;a.type==="select"?(u=(s=(l=a.options)==null?void 0:l.values)==null?void 0:s[0],((o=a.options)==null?void 0:o.maxSelect)!==1&&(u=[u])):a.type==="relation"?(u="RELATION_RECORD_ID",((r=a.options)==null?void 0:r.maxSelect)!==1&&(u=[u])):u="test"}i[a.name]=u}return i}static getCollectionTypeIcon(e){switch(e==null?void 0:e.toLowerCase()){case"auth":return"ri-group-line";case"view":return"ri-table-line";default:return"ri-folder-2-line"}}static getFieldTypeIcon(e){switch(e==null?void 0:e.toLowerCase()){case"primary":return"ri-key-line";case"text":return"ri-text";case"number":return"ri-hashtag";case"date":return"ri-calendar-line";case"bool":return"ri-toggle-line";case"email":return"ri-mail-line";case"url":return"ri-link";case"editor":return"ri-edit-2-line";case"select":return"ri-list-check";case"json":return"ri-braces-line";case"file":return"ri-image-line";case"relation":return"ri-mind-map";case"user":return"ri-user-line";default:return"ri-star-s-line"}}static getFieldValueType(e){var t;switch(e==null?void 0:e.type){case"bool":return"Boolean";case"number":return"Number";case"file":return"File";case"select":case"relation":return((t=e==null?void 0:e.options)==null?void 0:t.maxSelect)===1?"String":"Array";default:return"String"}}static zeroDefaultStr(e){var t;return(e==null?void 0:e.type)==="number"?"0":(e==null?void 0:e.type)==="bool"?"false":(e==null?void 0:e.type)==="json"?'null, "", [], {}':["select","relation","file"].includes(e==null?void 0:e.type)&&((t=e==null?void 0:e.options)==null?void 0:t.maxSelect)!=1?"[]":'""'}static getApiExampleUrl(e){return(window.location.href.substring(0,window.location.href.indexOf("/_"))||e||"/").replace("//localhost","//127.0.0.1")}static hasCollectionChanges(e,t,i=!1){if(e=e||{},t=t||{},e.id!=t.id)return!0;for(let u in e)if(u!=="schema"&&JSON.stringify(e[u])!==JSON.stringify(t[u]))return!0;const l=Array.isArray(e.schema)?e.schema:[],s=Array.isArray(t.schema)?t.schema:[],o=l.filter(u=>(u==null?void 0:u.id)&&!j.findByKey(s,"id",u.id)),r=s.filter(u=>(u==null?void 0:u.id)&&!j.findByKey(l,"id",u.id)),a=s.filter(u=>{const f=j.isObject(u)&&j.findByKey(l,"id",u.id);if(!f)return!1;for(let c in f)if(JSON.stringify(u[c])!=JSON.stringify(f[c]))return!0;return!1});return!!(r.length||a.length||i&&o.length)}static sortCollections(e=[]){const t=[],i=[],l=[];for(const o of e)o.type==="auth"?t.push(o):o.type==="base"?i.push(o):l.push(o);function s(o,r){return o.name>r.name?1:o.name{setTimeout(e,0)})}static defaultFlatpickrOptions(){return{dateFormat:"Y-m-d H:i:S",disableMobile:!0,allowInput:!0,enableTime:!0,time_24hr:!0,locale:{firstDayOfWeek:1}}}static defaultEditorOptions(){const e=["DIV","P","A","EM","B","STRONG","H1","H2","H3","H4","H5","H6","TABLE","TR","TD","TH","TBODY","THEAD","TFOOT","BR","HR","Q","SUP","SUB","DEL","IMG","OL","UL","LI","CODE"];function t(l){let s=l.parentNode;for(;l.firstChild;)s.insertBefore(l.firstChild,l);s.removeChild(l)}function i(l){if(l){for(const s of l.children)i(s);e.includes(l.tagName)?(l.removeAttribute("style"),l.removeAttribute("class")):t(l)}}return{branding:!1,promotion:!1,menubar:!1,min_height:270,height:270,max_height:700,autoresize_bottom_margin:30,skin:"pocketbase",content_style:"body { font-size: 14px }",plugins:["autoresize","autolink","lists","link","image","searchreplace","fullscreen","media","table","code","codesample","directionality"],toolbar:"styles | alignleft aligncenter alignright | bold italic forecolor backcolor | bullist numlist | link image_picker table codesample direction | code fullscreen",paste_postprocess:(l,s)=>{i(s.node)},file_picker_types:"image",file_picker_callback:(l,s,o)=>{const r=document.createElement("input");r.setAttribute("type","file"),r.setAttribute("accept","image/*"),r.addEventListener("change",a=>{const u=a.target.files[0],f=new FileReader;f.addEventListener("load",()=>{if(!tinymce)return;const c="blobid"+new Date().getTime(),d=tinymce.activeEditor.editorUpload.blobCache,m=f.result.split(",")[1],h=d.create(c,u,m);d.add(h),l(h.blobUri(),{title:u.name})}),f.readAsDataURL(u)}),r.click()},setup:l=>{l.on("keydown",o=>{(o.ctrlKey||o.metaKey)&&o.code=="KeyS"&&l.formElement&&(o.preventDefault(),o.stopPropagation(),l.formElement.dispatchEvent(new KeyboardEvent("keydown",o)))});const s="tinymce_last_direction";l.on("init",()=>{var r;const o=(r=window==null?void 0:window.localStorage)==null?void 0:r.getItem(s);!l.isDirty()&&l.getContent()==""&&o=="rtl"&&l.execCommand("mceDirectionRTL")}),l.ui.registry.addMenuButton("direction",{icon:"visualchars",fetch:o=>{o([{type:"menuitem",text:"LTR content",icon:"ltr",onAction:()=>{var a;(a=window==null?void 0:window.localStorage)==null||a.setItem(s,"ltr"),l.execCommand("mceDirectionLTR")}},{type:"menuitem",text:"RTL content",icon:"rtl",onAction:()=>{var a;(a=window==null?void 0:window.localStorage)==null||a.setItem(s,"rtl"),l.execCommand("mceDirectionRTL")}}])}}),l.ui.registry.addMenuButton("image_picker",{icon:"image",fetch:o=>{o([{type:"menuitem",text:"From collection",icon:"gallery",onAction:()=>{l.dispatch("collections_file_picker",{})}},{type:"menuitem",text:"Inline",icon:"browse",onAction:()=>{l.execCommand("mceImage")}}])}})}}}static displayValue(e,t,i="N/A"){e=e||{},t=t||[];let l=[];for(const o of t){let r=e[o];typeof r>"u"||(r=j.stringifyValue(r,i),l.push(r))}if(l.length>0)return l.join(", ");const s=["title","name","slug","email","username","nickname","label","heading","message","key","identifier","id"];for(const o of s){let r=j.stringifyValue(e[o],"");if(r)return r}return i}static stringifyValue(e,t="N/A",i=150){if(j.isEmpty(e))return t;if(typeof e=="number")return""+e;if(typeof e=="boolean")return e?"True":"False";if(typeof e=="string")return e=e.indexOf("<")>=0?j.plainText(e):e,j.truncate(e,i)||t;if(Array.isArray(e)&&typeof e[0]!="object")return j.truncate(e.join(","),i);if(typeof e=="object")try{return j.truncate(JSON.stringify(e),i)||t}catch{return t}return e}static extractColumnsFromQuery(e){var o;const t="__GROUP__";e=(e||"").replace(/\([\s\S]+?\)/gm,t).replace(/[\t\r\n]|(?:\s\s)+/g," ");const i=e.match(/select\s+([\s\S]+)\s+from/),l=((o=i==null?void 0:i[1])==null?void 0:o.split(","))||[],s=[];for(let r of l){const a=r.trim().split(" ").pop();a!=""&&a!=t&&s.push(a.replace(/[\'\"\`\[\]\s]/g,""))}return s}static getAllCollectionIdentifiers(e,t=""){if(!e)return[];let i=[t+"id"];if(e.type==="view")for(let s of j.extractColumnsFromQuery(e.options.query))j.pushUnique(i,t+s);else e.type==="auth"?(i.push(t+"username"),i.push(t+"email"),i.push(t+"emailVisibility"),i.push(t+"verified"),i.push(t+"created"),i.push(t+"updated")):(i.push(t+"created"),i.push(t+"updated"));const l=e.schema||[];for(const s of l)j.pushUnique(i,t+s.name);return i}static parseIndex(e){var a,u,f,c,d;const t={unique:!1,optional:!1,schemaName:"",indexName:"",tableName:"",columns:[],where:""},l=/create\s+(unique\s+)?\s*index\s*(if\s+not\s+exists\s+)?(\S*)\s+on\s+(\S*)\s*\(([\s\S]*)\)(?:\s*where\s+([\s\S]*))?/gmi.exec((e||"").trim());if((l==null?void 0:l.length)!=7)return t;const s=/^[\"\'\`\[\{}]|[\"\'\`\]\}]$/gm;t.unique=((a=l[1])==null?void 0:a.trim().toLowerCase())==="unique",t.optional=!j.isEmpty((u=l[2])==null?void 0:u.trim());const o=(l[3]||"").split(".");o.length==2?(t.schemaName=o[0].replace(s,""),t.indexName=o[1].replace(s,"")):(t.schemaName="",t.indexName=o[0].replace(s,"")),t.tableName=(l[4]||"").replace(s,"");const r=(l[5]||"").replace(/,(?=[^\(]*\))/gmi,"{PB_TEMP}").split(",");for(let m of r){m=m.trim().replaceAll("{PB_TEMP}",",");const _=/^([\s\S]+?)(?:\s+collate\s+([\w]+))?(?:\s+(asc|desc))?$/gmi.exec(m);if((_==null?void 0:_.length)!=4)continue;const g=(c=(f=_[1])==null?void 0:f.trim())==null?void 0:c.replace(s,"");g&&t.columns.push({name:g,collate:_[2]||"",sort:((d=_[3])==null?void 0:d.toUpperCase())||""})}return t.where=l[6]||"",t}static buildIndex(e){let t="CREATE ";e.unique&&(t+="UNIQUE "),t+="INDEX ",e.optional&&(t+="IF NOT EXISTS "),e.schemaName&&(t+=`\`${e.schemaName}\`.`),t+=`\`${e.indexName||"idx_"+j.randomString(7)}\` `,t+=`ON \`${e.tableName}\` (`;const i=e.columns.filter(l=>!!(l!=null&&l.name));return i.length>1&&(t+=` `),t+=i.map(l=>{let s="";return l.name.includes("(")||l.name.includes(" ")?s+=l.name:s+="`"+l.name+"`",l.collate&&(s+=" COLLATE "+l.collate),l.sort&&(s+=" "+l.sort.toUpperCase()),s}).join(`, `),i.length>1&&(t+=` -`),t+=")",e.where&&(t+=` WHERE ${e.where}`),t}static replaceIndexTableName(e,t){const i=j.parseIndex(e);return i.tableName=t,j.buildIndex(i)}static replaceIndexColumn(e,t,i){if(t===i)return e;const l=j.parseIndex(e);let s=!1;for(let o of l.columns)o.name===t&&(o.name=i,s=!0);return s?j.buildIndex(l):e}static normalizeSearchFilter(e,t){if(e=(e||"").trim(),!e||!t.length)return e;const i=["=","!=","~","!~",">",">=","<","<="];for(const l of i)if(e.includes(l))return e;return e=isNaN(e)&&e!="true"&&e!="false"?`"${e.replace(/^[\"\'\`]|[\"\'\`]$/gm,"")}"`:e,t.map(l=>`${l}~${e}`).join("||")}static normalizeLogsFilter(e,t=[]){return j.normalizeSearchFilter(e,["level","message","data"].concat(t))}static initCollection(e){return Object.assign({id:"",created:"",updated:"",name:"",type:"base",system:!1,listRule:null,viewRule:null,createRule:null,updateRule:null,deleteRule:null,schema:[],indexes:[],options:{}},e)}static initSchemaField(e){return Object.assign({id:"",name:"",type:"text",system:!1,required:!1,options:{}},e)}static triggerResize(){window.dispatchEvent(new Event("resize"))}static getHashQueryParams(){let e="";const t=window.location.hash.indexOf("?");return t>-1&&(e=window.location.hash.substring(t+1)),Object.fromEntries(new URLSearchParams(e))}static replaceHashQueryParams(e){e=e||{};let t="",i=window.location.hash;const l=i.indexOf("?");l>-1&&(t=i.substring(l+1),i=i.substring(0,l));const s=new URLSearchParams(t);for(let a in e){const u=e[a];u===null?s.delete(a):s.set(a,u)}t=s.toString(),t!=""&&(i+="?"+t);let o=window.location.href;const r=o.indexOf("#");r>-1&&(o=o.substring(0,r)),window.location.replace(o+i)}}const Ko=Dn([]);function $o(n,e=4e3){return Jo(n,"info",e)}function It(n,e=3e3){return Jo(n,"success",e)}function ni(n,e=4500){return Jo(n,"error",e)}function Kk(n,e=4500){return Jo(n,"warning",e)}function Jo(n,e,t){t=t||4e3;const i={message:n,type:e,duration:t,timeout:setTimeout(()=>{q1(i)},t)};Ko.update(l=>(Oa(l,i.message),j.pushOrReplaceByKey(l,i,"message"),l))}function q1(n){Ko.update(e=>(Oa(e,n),e))}function Ma(){Ko.update(n=>{for(let e of n)Oa(n,e);return[]})}function Oa(n,e){let t;typeof e=="string"?t=j.findByKey(n,"message",e):t=e,t&&(clearTimeout(t.timeout),j.removeByKey(n,"message",t.message))}const _i=Dn({});function Gt(n){_i.set(n||{})}function ii(n){_i.update(e=>(j.deleteByPath(e,n),e))}const Da=Dn({});function Jr(n){Da.set(n||{})}const zn=Dn([]),li=Dn({}),To=Dn(!1),j1=Dn({});function Jk(n){zn.update(e=>{const t=j.findByKey(e,"id",n);return t?li.set(t):e.length&&li.set(e[0]),e})}function Zk(n){li.update(e=>j.isEmpty(e==null?void 0:e.id)||e.id===n.id?n:e),zn.update(e=>(j.pushOrReplaceByKey(e,n,"id"),Ea(),j.sortCollections(e)))}function Gk(n){zn.update(e=>(j.removeByKey(e,"id",n.id),li.update(t=>t.id===n.id?e[0]:t),Ea(),e))}async function Xk(n=null){To.set(!0);try{let e=await fe.collections.getFullList(200,{sort:"+name"});e=j.sortCollections(e),zn.set(e);const t=n&&j.findByKey(e,"id",n);t?li.set(t):e.length&&li.set(e[0]),Ea()}catch(e){fe.error(e)}To.set(!1)}function Ea(){j1.update(n=>(zn.update(e=>{var t;for(let i of e)n[i.id]=!!((t=i.schema)!=null&&t.find(l=>{var s;return l.type=="file"&&((s=l.options)==null?void 0:s.protected)}));return e}),n))}const pr="pb_admin_file_token";Bo.prototype.logout=function(n=!0){this.authStore.clear(),n&&nl("/login")};Bo.prototype.error=function(n,e=!0,t=""){if(!n||!(n instanceof Error)||n.isAbort)return;const i=(n==null?void 0:n.status)<<0||400,l=(n==null?void 0:n.data)||{},s=l.message||n.message||t;if(e&&s&&ni(s),j.isEmpty(l.data)||Gt(l.data),i===401)return this.cancelAllRequests(),this.logout();if(i===403)return this.cancelAllRequests(),nl("/")};Bo.prototype.getAdminFileToken=async function(n=""){let e=!0;if(n){const i=i0(j1);e=typeof i[n]<"u"?i[n]:!0}if(!e)return"";let t=localStorage.getItem(pr)||"";return(!t||ga(t,10))&&(t&&localStorage.removeItem(pr),this._adminFileTokenRequest||(this._adminFileTokenRequest=this.files.getToken()),t=await this._adminFileTokenRequest,localStorage.setItem(pr,t),this._adminFileTokenRequest=null),t};class Qk extends Rg{save(e,t){super.save(e,t),t&&!t.collectionId&&Jr(t)}clear(){super.clear(),Jr(null)}}const fe=new Bo("../",new Qk("pb_admin_auth"));fe.authStore.model&&!fe.authStore.model.collectionId&&Jr(fe.authStore.model);const xk=n=>({}),qu=n=>({});function ev(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;const h=n[3].default,_=kt(h,n,n[2],null),g=n[3].footer,k=kt(g,n,n[2],qu);return{c(){e=b("div"),t=b("main"),_&&_.c(),i=M(),l=b("footer"),k&&k.c(),s=M(),o=b("a"),o.innerHTML=' Docs',r=M(),a=b("span"),a.textContent="|",u=M(),f=b("a"),c=b("span"),c.textContent="PocketBase v0.20.2",p(t,"class","page-content"),p(o,"href","https://pocketbase.io/docs/"),p(o,"target","_blank"),p(o,"rel","noopener noreferrer"),p(a,"class","delimiter"),p(c,"class","txt"),p(f,"href","https://github.com/pocketbase/pocketbase/releases"),p(f,"target","_blank"),p(f,"rel","noopener noreferrer"),p(f,"title","Releases"),p(l,"class","page-footer"),p(e,"class",d="page-wrapper "+n[1]),ee(e,"center-content",n[0])},m(S,T){w(S,e,T),y(e,t),_&&_.m(t,null),y(e,i),y(e,l),k&&k.m(l,null),y(l,s),y(l,o),y(l,r),y(l,a),y(l,u),y(l,f),y(f,c),m=!0},p(S,[T]){_&&_.p&&(!m||T&4)&&wt(_,h,S,S[2],m?vt(h,S[2],T,null):St(S[2]),null),k&&k.p&&(!m||T&4)&&wt(k,g,S,S[2],m?vt(g,S[2],T,xk):St(S[2]),qu),(!m||T&2&&d!==(d="page-wrapper "+S[1]))&&p(e,"class",d),(!m||T&3)&&ee(e,"center-content",S[0])},i(S){m||(A(_,S),A(k,S),m=!0)},o(S){I(_,S),I(k,S),m=!1},d(S){S&&v(e),_&&_.d(S),k&&k.d(S)}}}function tv(n,e,t){let{$$slots:i={},$$scope:l}=e,{center:s=!1}=e,{class:o=""}=e;return n.$$set=r=>{"center"in r&&t(0,s=r.center),"class"in r&&t(1,o=r.class),"$$scope"in r&&t(2,l=r.$$scope)},[s,o,l,i]}class gn extends ge{constructor(e){super(),_e(this,e,tv,ev,he,{center:0,class:1})}}function ju(n){let e,t,i;return{c(){e=b("div"),e.innerHTML='',t=M(),i=b("div"),p(e,"class","block txt-center m-b-lg"),p(i,"class","clearfix")},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},d(l){l&&(v(e),v(t),v(i))}}}function nv(n){let e,t,i,l=!n[0]&&ju();const s=n[1].default,o=kt(s,n,n[2],null);return{c(){e=b("div"),l&&l.c(),t=M(),o&&o.c(),p(e,"class","wrapper wrapper-sm m-b-xl panel-wrapper svelte-lxxzfu")},m(r,a){w(r,e,a),l&&l.m(e,null),y(e,t),o&&o.m(e,null),i=!0},p(r,a){r[0]?l&&(l.d(1),l=null):l||(l=ju(),l.c(),l.m(e,t)),o&&o.p&&(!i||a&4)&&wt(o,s,r,r[2],i?vt(s,r[2],a,null):St(r[2]),null)},i(r){i||(A(o,r),i=!0)},o(r){I(o,r),i=!1},d(r){r&&v(e),l&&l.d(),o&&o.d(r)}}}function iv(n){let e,t;return e=new gn({props:{class:"full-page",center:!0,$$slots:{default:[nv]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&5&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function lv(n,e,t){let{$$slots:i={},$$scope:l}=e,{nobranding:s=!1}=e;return n.$$set=o=>{"nobranding"in o&&t(0,s=o.nobranding),"$$scope"in o&&t(2,l=o.$$scope)},[s,i,l]}class H1 extends ge{constructor(e){super(),_e(this,e,lv,iv,he,{nobranding:0})}}function Zo(n){const e=n-1;return e*e*e+1}function fs(n,{delay:e=0,duration:t=400,easing:i=ks}={}){const l=+getComputedStyle(n).opacity;return{delay:e,duration:t,easing:i,css:s=>`opacity: ${s*l}`}}function jn(n,{delay:e=0,duration:t=400,easing:i=Zo,x:l=0,y:s=0,opacity:o=0}={}){const r=getComputedStyle(n),a=+r.opacity,u=r.transform==="none"?"":r.transform,f=a*(1-o),[c,d]=iu(l),[m,h]=iu(s);return{delay:e,duration:t,easing:i,css:(_,g)=>` +`),t+=")",e.where&&(t+=` WHERE ${e.where}`),t}static replaceIndexTableName(e,t){const i=j.parseIndex(e);return i.tableName=t,j.buildIndex(i)}static replaceIndexColumn(e,t,i){if(t===i)return e;const l=j.parseIndex(e);let s=!1;for(let o of l.columns)o.name===t&&(o.name=i,s=!0);return s?j.buildIndex(l):e}static normalizeSearchFilter(e,t){if(e=(e||"").trim(),!e||!t.length)return e;const i=["=","!=","~","!~",">",">=","<","<="];for(const l of i)if(e.includes(l))return e;return e=isNaN(e)&&e!="true"&&e!="false"?`"${e.replace(/^[\"\'\`]|[\"\'\`]$/gm,"")}"`:e,t.map(l=>`${l}~${e}`).join("||")}static normalizeLogsFilter(e,t=[]){return j.normalizeSearchFilter(e,["level","message","data"].concat(t))}static initCollection(e){return Object.assign({id:"",created:"",updated:"",name:"",type:"base",system:!1,listRule:null,viewRule:null,createRule:null,updateRule:null,deleteRule:null,schema:[],indexes:[],options:{}},e)}static initSchemaField(e){return Object.assign({id:"",name:"",type:"text",system:!1,required:!1,options:{}},e)}static triggerResize(){window.dispatchEvent(new Event("resize"))}static getHashQueryParams(){let e="";const t=window.location.hash.indexOf("?");return t>-1&&(e=window.location.hash.substring(t+1)),Object.fromEntries(new URLSearchParams(e))}static replaceHashQueryParams(e){e=e||{};let t="",i=window.location.hash;const l=i.indexOf("?");l>-1&&(t=i.substring(l+1),i=i.substring(0,l));const s=new URLSearchParams(t);for(let a in e){const u=e[a];u===null?s.delete(a):s.set(a,u)}t=s.toString(),t!=""&&(i+="?"+t);let o=window.location.href;const r=o.indexOf("#");r>-1&&(o=o.substring(0,r)),window.location.replace(o+i)}}const Ko=Dn([]);function $o(n,e=4e3){return Jo(n,"info",e)}function It(n,e=3e3){return Jo(n,"success",e)}function ni(n,e=4500){return Jo(n,"error",e)}function Kk(n,e=4500){return Jo(n,"warning",e)}function Jo(n,e,t){t=t||4e3;const i={message:n,type:e,duration:t,timeout:setTimeout(()=>{q1(i)},t)};Ko.update(l=>(Oa(l,i.message),j.pushOrReplaceByKey(l,i,"message"),l))}function q1(n){Ko.update(e=>(Oa(e,n),e))}function Ma(){Ko.update(n=>{for(let e of n)Oa(n,e);return[]})}function Oa(n,e){let t;typeof e=="string"?t=j.findByKey(n,"message",e):t=e,t&&(clearTimeout(t.timeout),j.removeByKey(n,"message",t.message))}const _i=Dn({});function Gt(n){_i.set(n||{})}function ii(n){_i.update(e=>(j.deleteByPath(e,n),e))}const Da=Dn({});function Jr(n){Da.set(n||{})}const zn=Dn([]),li=Dn({}),To=Dn(!1),j1=Dn({});function Jk(n){zn.update(e=>{const t=j.findByKey(e,"id",n);return t?li.set(t):e.length&&li.set(e[0]),e})}function Zk(n){li.update(e=>j.isEmpty(e==null?void 0:e.id)||e.id===n.id?n:e),zn.update(e=>(j.pushOrReplaceByKey(e,n,"id"),Ea(),j.sortCollections(e)))}function Gk(n){zn.update(e=>(j.removeByKey(e,"id",n.id),li.update(t=>t.id===n.id?e[0]:t),Ea(),e))}async function Xk(n=null){To.set(!0);try{let e=await fe.collections.getFullList(200,{sort:"+name"});e=j.sortCollections(e),zn.set(e);const t=n&&j.findByKey(e,"id",n);t?li.set(t):e.length&&li.set(e[0]),Ea()}catch(e){fe.error(e)}To.set(!1)}function Ea(){j1.update(n=>(zn.update(e=>{var t;for(let i of e)n[i.id]=!!((t=i.schema)!=null&&t.find(l=>{var s;return l.type=="file"&&((s=l.options)==null?void 0:s.protected)}));return e}),n))}const pr="pb_admin_file_token";Bo.prototype.logout=function(n=!0){this.authStore.clear(),n&&nl("/login")};Bo.prototype.error=function(n,e=!0,t=""){if(!n||!(n instanceof Error)||n.isAbort)return;const i=(n==null?void 0:n.status)<<0||400,l=(n==null?void 0:n.data)||{},s=l.message||n.message||t;if(e&&s&&ni(s),j.isEmpty(l.data)||Gt(l.data),i===401)return this.cancelAllRequests(),this.logout();if(i===403)return this.cancelAllRequests(),nl("/")};Bo.prototype.getAdminFileToken=async function(n=""){let e=!0;if(n){const i=i0(j1);e=typeof i[n]<"u"?i[n]:!0}if(!e)return"";let t=localStorage.getItem(pr)||"";return(!t||ga(t,10))&&(t&&localStorage.removeItem(pr),this._adminFileTokenRequest||(this._adminFileTokenRequest=this.files.getToken()),t=await this._adminFileTokenRequest,localStorage.setItem(pr,t),this._adminFileTokenRequest=null),t};class Qk extends Rg{save(e,t){super.save(e,t),t&&!t.collectionId&&Jr(t)}clear(){super.clear(),Jr(null)}}const fe=new Bo("../",new Qk("pb_admin_auth"));fe.authStore.model&&!fe.authStore.model.collectionId&&Jr(fe.authStore.model);const xk=n=>({}),qu=n=>({});function ev(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;const h=n[3].default,_=kt(h,n,n[2],null),g=n[3].footer,k=kt(g,n,n[2],qu);return{c(){e=b("div"),t=b("main"),_&&_.c(),i=M(),l=b("footer"),k&&k.c(),s=M(),o=b("a"),o.innerHTML=' Docs',r=M(),a=b("span"),a.textContent="|",u=M(),f=b("a"),c=b("span"),c.textContent="PocketBase v0.20.3",p(t,"class","page-content"),p(o,"href","https://pocketbase.io/docs/"),p(o,"target","_blank"),p(o,"rel","noopener noreferrer"),p(a,"class","delimiter"),p(c,"class","txt"),p(f,"href","https://github.com/pocketbase/pocketbase/releases"),p(f,"target","_blank"),p(f,"rel","noopener noreferrer"),p(f,"title","Releases"),p(l,"class","page-footer"),p(e,"class",d="page-wrapper "+n[1]),ee(e,"center-content",n[0])},m(S,T){w(S,e,T),y(e,t),_&&_.m(t,null),y(e,i),y(e,l),k&&k.m(l,null),y(l,s),y(l,o),y(l,r),y(l,a),y(l,u),y(l,f),y(f,c),m=!0},p(S,[T]){_&&_.p&&(!m||T&4)&&wt(_,h,S,S[2],m?vt(h,S[2],T,null):St(S[2]),null),k&&k.p&&(!m||T&4)&&wt(k,g,S,S[2],m?vt(g,S[2],T,xk):St(S[2]),qu),(!m||T&2&&d!==(d="page-wrapper "+S[1]))&&p(e,"class",d),(!m||T&3)&&ee(e,"center-content",S[0])},i(S){m||(A(_,S),A(k,S),m=!0)},o(S){I(_,S),I(k,S),m=!1},d(S){S&&v(e),_&&_.d(S),k&&k.d(S)}}}function tv(n,e,t){let{$$slots:i={},$$scope:l}=e,{center:s=!1}=e,{class:o=""}=e;return n.$$set=r=>{"center"in r&&t(0,s=r.center),"class"in r&&t(1,o=r.class),"$$scope"in r&&t(2,l=r.$$scope)},[s,o,l,i]}class gn extends ge{constructor(e){super(),_e(this,e,tv,ev,he,{center:0,class:1})}}function ju(n){let e,t,i;return{c(){e=b("div"),e.innerHTML='',t=M(),i=b("div"),p(e,"class","block txt-center m-b-lg"),p(i,"class","clearfix")},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},d(l){l&&(v(e),v(t),v(i))}}}function nv(n){let e,t,i,l=!n[0]&&ju();const s=n[1].default,o=kt(s,n,n[2],null);return{c(){e=b("div"),l&&l.c(),t=M(),o&&o.c(),p(e,"class","wrapper wrapper-sm m-b-xl panel-wrapper svelte-lxxzfu")},m(r,a){w(r,e,a),l&&l.m(e,null),y(e,t),o&&o.m(e,null),i=!0},p(r,a){r[0]?l&&(l.d(1),l=null):l||(l=ju(),l.c(),l.m(e,t)),o&&o.p&&(!i||a&4)&&wt(o,s,r,r[2],i?vt(s,r[2],a,null):St(r[2]),null)},i(r){i||(A(o,r),i=!0)},o(r){I(o,r),i=!1},d(r){r&&v(e),l&&l.d(),o&&o.d(r)}}}function iv(n){let e,t;return e=new gn({props:{class:"full-page",center:!0,$$slots:{default:[nv]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&5&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function lv(n,e,t){let{$$slots:i={},$$scope:l}=e,{nobranding:s=!1}=e;return n.$$set=o=>{"nobranding"in o&&t(0,s=o.nobranding),"$$scope"in o&&t(2,l=o.$$scope)},[s,i,l]}class H1 extends ge{constructor(e){super(),_e(this,e,lv,iv,he,{nobranding:0})}}function Zo(n){const e=n-1;return e*e*e+1}function fs(n,{delay:e=0,duration:t=400,easing:i=ks}={}){const l=+getComputedStyle(n).opacity;return{delay:e,duration:t,easing:i,css:s=>`opacity: ${s*l}`}}function jn(n,{delay:e=0,duration:t=400,easing:i=Zo,x:l=0,y:s=0,opacity:o=0}={}){const r=getComputedStyle(n),a=+r.opacity,u=r.transform==="none"?"":r.transform,f=a*(1-o),[c,d]=iu(l),[m,h]=iu(s);return{delay:e,duration:t,easing:i,css:(_,g)=>` transform: ${u} translate(${(1-_)*c}${d}, ${(1-_)*m}${h}); opacity: ${a-f*g}`}}function et(n,{delay:e=0,duration:t=400,easing:i=Zo,axis:l="y"}={}){const s=getComputedStyle(n),o=+s.opacity,r=l==="y"?"height":"width",a=parseFloat(s[r]),u=l==="y"?["top","bottom"]:["left","right"],f=u.map(k=>`${k[0].toUpperCase()}${k.slice(1)}`),c=parseFloat(s[`padding${f[0]}`]),d=parseFloat(s[`padding${f[1]}`]),m=parseFloat(s[`margin${f[0]}`]),h=parseFloat(s[`margin${f[1]}`]),_=parseFloat(s[`border${f[0]}Width`]),g=parseFloat(s[`border${f[1]}Width`]);return{delay:e,duration:t,easing:i,css:k=>`overflow: hidden;opacity: ${Math.min(k*20,1)*o};${r}: ${k*a}px;padding-${u[0]}: ${k*c}px;padding-${u[1]}: ${k*d}px;margin-${u[0]}: ${k*m}px;margin-${u[1]}: ${k*h}px;border-${u[0]}-width: ${k*_}px;border-${u[1]}-width: ${k*g}px;`}}function Yt(n,{delay:e=0,duration:t=400,easing:i=Zo,start:l=0,opacity:s=0}={}){const o=getComputedStyle(n),r=+o.opacity,a=o.transform==="none"?"":o.transform,u=1-l,f=r*(1-s);return{delay:e,duration:t,easing:i,css:(c,d)=>` transform: ${a} scale(${1-u*d}); opacity: ${r-f*d} `}}let Zr,ji;const Gr="app-tooltip";function Hu(n){return typeof n=="string"?{text:n,position:"bottom",hideOnClick:null}:n||{}}function Ei(){return ji=ji||document.querySelector("."+Gr),ji||(ji=document.createElement("div"),ji.classList.add(Gr),document.body.appendChild(ji)),ji}function z1(n,e){let t=Ei();if(!t.classList.contains("active")||!(e!=null&&e.text)){Xr();return}t.textContent=e.text,t.className=Gr+" active",e.class&&t.classList.add(e.class),e.position&&t.classList.add(e.position),t.style.top="0px",t.style.left="0px";let i=t.offsetHeight,l=t.offsetWidth,s=n.getBoundingClientRect(),o=0,r=0,a=5;e.position=="left"?(o=s.top+s.height/2-i/2,r=s.left-l-a):e.position=="right"?(o=s.top+s.height/2-i/2,r=s.right+a):e.position=="top"?(o=s.top-i-a,r=s.left+s.width/2-l/2):e.position=="top-left"?(o=s.top-i-a,r=s.left):e.position=="top-right"?(o=s.top-i-a,r=s.right-l):e.position=="bottom-left"?(o=s.top+s.height+a,r=s.left):e.position=="bottom-right"?(o=s.top+s.height+a,r=s.right-l):(o=s.top+s.height+a,r=s.left+s.width/2-l/2),r+l>document.documentElement.clientWidth&&(r=document.documentElement.clientWidth-l),r=r>=0?r:0,o+i>document.documentElement.clientHeight&&(o=document.documentElement.clientHeight-i),o=o>=0?o:0,t.style.top=o+"px",t.style.left=r+"px"}function Xr(){clearTimeout(Zr),Ei().classList.remove("active"),Ei().activeNode=void 0}function sv(n,e){Ei().activeNode=n,clearTimeout(Zr),Zr=setTimeout(()=>{Ei().classList.add("active"),z1(n,e)},isNaN(e.delay)?0:e.delay)}function Le(n,e){let t=Hu(e);function i(){sv(n,t)}function l(){Xr()}return n.addEventListener("mouseenter",i),n.addEventListener("mouseleave",l),n.addEventListener("blur",l),(t.hideOnClick===!0||t.hideOnClick===null&&j.isFocusable(n))&&n.addEventListener("click",l),Ei(),{update(s){var o,r;t=Hu(s),(r=(o=Ei())==null?void 0:o.activeNode)!=null&&r.contains(n)&&z1(n,t)},destroy(){var s,o;(o=(s=Ei())==null?void 0:s.activeNode)!=null&&o.contains(n)&&Xr(),n.removeEventListener("mouseenter",i),n.removeEventListener("mouseleave",l),n.removeEventListener("blur",l),n.removeEventListener("click",l)}}}function zu(n,e,t){const i=n.slice();return i[12]=e[t],i}const ov=n=>({}),Vu=n=>({uniqueId:n[4]});function rv(n){let e,t,i=pe(n[3]),l=[];for(let o=0;oI(l[o],1,1,()=>{l[o]=null});return{c(){for(let o=0;o{s&&(l||(l=Pe(t,Yt,{duration:150,start:.7},!0)),l.run(1))}),s=!0)},o(a){a&&(l||(l=Pe(t,Yt,{duration:150,start:.7},!1)),l.run(0)),s=!1},d(a){a&&v(e),a&&l&&l.end(),o=!1,r()}}}function Bu(n){let e,t,i=Co(n[12])+"",l,s,o,r;return{c(){e=b("div"),t=b("pre"),l=Y(i),s=M(),p(e,"class","help-block help-block-error")},m(a,u){w(a,e,u),y(e,t),y(t,l),y(e,s),r=!0},p(a,u){(!r||u&8)&&i!==(i=Co(a[12])+"")&&le(l,i)},i(a){r||(a&&Ke(()=>{r&&(o||(o=Pe(e,et,{duration:150},!0)),o.run(1))}),r=!0)},o(a){a&&(o||(o=Pe(e,et,{duration:150},!1)),o.run(0)),r=!1},d(a){a&&v(e),a&&o&&o.end()}}}function uv(n){let e,t,i,l,s,o,r;const a=n[9].default,u=kt(a,n,n[8],Vu),f=[av,rv],c=[];function d(m,h){return m[0]&&m[3].length?0:1}return i=d(n),l=c[i]=f[i](n),{c(){e=b("div"),u&&u.c(),t=M(),l.c(),p(e,"class",n[1]),ee(e,"error",n[3].length)},m(m,h){w(m,e,h),u&&u.m(e,null),y(e,t),c[i].m(e,null),n[11](e),s=!0,o||(r=K(e,"click",n[10]),o=!0)},p(m,[h]){u&&u.p&&(!s||h&256)&&wt(u,a,m,m[8],s?vt(a,m[8],h,ov):St(m[8]),Vu);let _=i;i=d(m),i===_?c[i].p(m,h):(oe(),I(c[_],1,1,()=>{c[_]=null}),re(),l=c[i],l?l.p(m,h):(l=c[i]=f[i](m),l.c()),A(l,1),l.m(e,null)),(!s||h&2)&&p(e,"class",m[1]),(!s||h&10)&&ee(e,"error",m[3].length)},i(m){s||(A(u,m),A(l),s=!0)},o(m){I(u,m),I(l),s=!1},d(m){m&&v(e),u&&u.d(m),c[i].d(),n[11](null),o=!1,r()}}}const Uu="Invalid value";function Co(n){return typeof n=="object"?(n==null?void 0:n.message)||(n==null?void 0:n.code)||Uu:n||Uu}function fv(n,e,t){let i;We(n,_i,_=>t(7,i=_));let{$$slots:l={},$$scope:s}=e;const o="field_"+j.randomString(7);let{name:r=""}=e,{inlineError:a=!1}=e,{class:u=void 0}=e,f,c=[];function d(){ii(r)}Vt(()=>(f.addEventListener("input",d),f.addEventListener("change",d),()=>{f.removeEventListener("input",d),f.removeEventListener("change",d)}));function m(_){Ae.call(this,n,_)}function h(_){te[_?"unshift":"push"](()=>{f=_,t(2,f)})}return n.$$set=_=>{"name"in _&&t(5,r=_.name),"inlineError"in _&&t(0,a=_.inlineError),"class"in _&&t(1,u=_.class),"$$scope"in _&&t(8,s=_.$$scope)},n.$$.update=()=>{n.$$.dirty&160&&t(3,c=j.toArray(j.getNestedVal(i,r)))},[a,u,f,c,o,r,d,i,s,l,m,h]}class me extends ge{constructor(e){super(),_e(this,e,fv,uv,he,{name:5,inlineError:0,class:1,changed:6})}get changed(){return this.$$.ctx[6]}}function cv(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Email"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","email"),p(s,"autocomplete","off"),p(s,"id",o=n[9]),s.required=!0,s.autofocus=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0]),s.focus(),r||(a=K(s,"input",n[5]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&s.value!==u[0]&&ue(s,u[0])},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function dv(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=Y("Password"),l=M(),s=b("input"),r=M(),a=b("div"),a.textContent="Minimum 10 characters.",p(e,"for",i=n[9]),p(s,"type","password"),p(s,"autocomplete","new-password"),p(s,"minlength","10"),p(s,"id",o=n[9]),s.required=!0,p(a,"class","help-block")},m(c,d){w(c,e,d),y(e,t),w(c,l,d),w(c,s,d),ue(s,n[1]),w(c,r,d),w(c,a,d),u||(f=K(s,"input",n[6]),u=!0)},p(c,d){d&512&&i!==(i=c[9])&&p(e,"for",i),d&512&&o!==(o=c[9])&&p(s,"id",o),d&2&&s.value!==c[1]&&ue(s,c[1])},d(c){c&&(v(e),v(l),v(s),v(r),v(a)),u=!1,f()}}}function pv(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Password confirm"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","password"),p(s,"minlength","10"),p(s,"id",o=n[9]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[2]),r||(a=K(s,"input",n[7]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&4&&s.value!==u[2]&&ue(s,u[2])},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function mv(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;return l=new me({props:{class:"form-field required",name:"email",$$slots:{default:[cv,({uniqueId:h})=>({9:h}),({uniqueId:h})=>h?512:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"password",$$slots:{default:[dv,({uniqueId:h})=>({9:h}),({uniqueId:h})=>h?512:0]},$$scope:{ctx:n}}}),a=new me({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[pv,({uniqueId:h})=>({9:h}),({uniqueId:h})=>h?512:0]},$$scope:{ctx:n}}}),{c(){e=b("form"),t=b("div"),t.innerHTML="

Create your first admin account in order to continue

",i=M(),V(l.$$.fragment),s=M(),V(o.$$.fragment),r=M(),V(a.$$.fragment),u=M(),f=b("button"),f.innerHTML='Create and login ',p(t,"class","content txt-center m-b-base"),p(f,"type","submit"),p(f,"class","btn btn-lg btn-block btn-next"),ee(f,"btn-disabled",n[3]),ee(f,"btn-loading",n[3]),p(e,"class","block"),p(e,"autocomplete","off")},m(h,_){w(h,e,_),y(e,t),y(e,i),H(l,e,null),y(e,s),H(o,e,null),y(e,r),H(a,e,null),y(e,u),y(e,f),c=!0,d||(m=K(e,"submit",Ye(n[4])),d=!0)},p(h,[_]){const g={};_&1537&&(g.$$scope={dirty:_,ctx:h}),l.$set(g);const k={};_&1538&&(k.$$scope={dirty:_,ctx:h}),o.$set(k);const S={};_&1540&&(S.$$scope={dirty:_,ctx:h}),a.$set(S),(!c||_&8)&&ee(f,"btn-disabled",h[3]),(!c||_&8)&&ee(f,"btn-loading",h[3])},i(h){c||(A(l.$$.fragment,h),A(o.$$.fragment,h),A(a.$$.fragment,h),c=!0)},o(h){I(l.$$.fragment,h),I(o.$$.fragment,h),I(a.$$.fragment,h),c=!1},d(h){h&&v(e),z(l),z(o),z(a),d=!1,m()}}}function hv(n,e,t){const i=ot();let l="",s="",o="",r=!1;async function a(){if(!r){t(3,r=!0);try{await fe.admins.create({email:l,password:s,passwordConfirm:o}),await fe.admins.authWithPassword(l,s),i("submit")}catch(d){fe.error(d)}t(3,r=!1)}}function u(){l=this.value,t(0,l)}function f(){s=this.value,t(1,s)}function c(){o=this.value,t(2,o)}return[l,s,o,r,a,u,f,c]}class _v extends ge{constructor(e){super(),_e(this,e,hv,mv,he,{})}}function Wu(n){let e,t;return e=new H1({props:{$$slots:{default:[gv]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&9&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function gv(n){let e,t;return e=new _v({}),e.$on("submit",n[1]),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p:Q,i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function bv(n){let e,t,i=n[0]&&Wu(n);return{c(){i&&i.c(),e=ke()},m(l,s){i&&i.m(l,s),w(l,e,s),t=!0},p(l,[s]){l[0]?i?(i.p(l,s),s&1&&A(i,1)):(i=Wu(l),i.c(),A(i,1),i.m(e.parentNode,e)):i&&(oe(),I(i,1,1,()=>{i=null}),re())},i(l){t||(A(i),t=!0)},o(l){I(i),t=!1},d(l){l&&v(e),i&&i.d(l)}}}function yv(n,e,t){let i=!1;l();function l(){if(t(0,i=!1),new URLSearchParams(window.location.search).has("installer")){fe.logout(!1),t(0,i=!0);return}fe.authStore.isValid?nl("/collections"):fe.logout()}return[i,async()=>{t(0,i=!1),await Qt(),window.location.search=""}]}class kv extends ge{constructor(e){super(),_e(this,e,yv,bv,he,{})}}const Dt=Dn(""),Mo=Dn(""),Sl=Dn(!1);function vv(n){let e,t,i,l;return{c(){e=b("input"),p(e,"type","text"),p(e,"id",n[8]),p(e,"placeholder",t=n[0]||n[1])},m(s,o){w(s,e,o),n[13](e),ue(e,n[7]),i||(l=K(e,"input",n[14]),i=!0)},p(s,o){o&3&&t!==(t=s[0]||s[1])&&p(e,"placeholder",t),o&128&&e.value!==s[7]&&ue(e,s[7])},i:Q,o:Q,d(s){s&&v(e),n[13](null),i=!1,l()}}}function wv(n){let e,t,i,l;function s(a){n[12](a)}var o=n[4];function r(a,u){let f={id:a[8],singleLine:!0,disableRequestKeys:!0,disableIndirectCollectionsKeys:!0,extraAutocompleteKeys:a[3],baseCollection:a[2],placeholder:a[0]||a[1]};return a[7]!==void 0&&(f.value=a[7]),{props:f}}return o&&(e=Ot(o,r(n)),te.push(()=>be(e,"value",s)),e.$on("submit",n[10])),{c(){e&&V(e.$$.fragment),i=ke()},m(a,u){e&&H(e,a,u),w(a,i,u),l=!0},p(a,u){if(u&16&&o!==(o=a[4])){if(e){oe();const f=e;I(f.$$.fragment,1,0,()=>{z(f,1)}),re()}o?(e=Ot(o,r(a)),te.push(()=>be(e,"value",s)),e.$on("submit",a[10]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,i.parentNode,i)):e=null}else if(o){const f={};u&8&&(f.extraAutocompleteKeys=a[3]),u&4&&(f.baseCollection=a[2]),u&3&&(f.placeholder=a[0]||a[1]),!t&&u&128&&(t=!0,f.value=a[7],ye(()=>t=!1)),e.$set(f)}},i(a){l||(e&&A(e.$$.fragment,a),l=!0)},o(a){e&&I(e.$$.fragment,a),l=!1},d(a){a&&v(i),e&&z(e,a)}}}function Yu(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='Search',p(e,"type","submit"),p(e,"class","btn btn-expanded-sm btn-sm btn-warning")},m(l,s){w(l,e,s),i=!0},i(l){i||(l&&Ke(()=>{i&&(t||(t=Pe(e,jn,{duration:150,x:5},!0)),t.run(1))}),i=!0)},o(l){l&&(t||(t=Pe(e,jn,{duration:150,x:5},!1)),t.run(0)),i=!1},d(l){l&&v(e),l&&t&&t.end()}}}function Ku(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='Clear',p(e,"type","button"),p(e,"class","btn btn-transparent btn-sm btn-hint p-l-xs p-r-xs m-l-10")},m(o,r){w(o,e,r),i=!0,l||(s=K(e,"click",n[15]),l=!0)},p:Q,i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,jn,{duration:150,x:5},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,jn,{duration:150,x:5},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function Sv(n){let e,t,i,l,s,o,r,a,u,f,c;const d=[wv,vv],m=[];function h(k,S){return k[4]&&!k[5]?0:1}s=h(n),o=m[s]=d[s](n);let _=(n[0].length||n[7].length)&&n[7]!=n[0]&&Yu(),g=(n[0].length||n[7].length)&&Ku(n);return{c(){e=b("form"),t=b("label"),i=b("i"),l=M(),o.c(),r=M(),_&&_.c(),a=M(),g&&g.c(),p(i,"class","ri-search-line"),p(t,"for",n[8]),p(t,"class","m-l-10 txt-xl"),p(e,"class","searchbar")},m(k,S){w(k,e,S),y(e,t),y(t,i),y(e,l),m[s].m(e,null),y(e,r),_&&_.m(e,null),y(e,a),g&&g.m(e,null),u=!0,f||(c=[K(e,"click",fn(n[11])),K(e,"submit",Ye(n[10]))],f=!0)},p(k,[S]){let T=s;s=h(k),s===T?m[s].p(k,S):(oe(),I(m[T],1,1,()=>{m[T]=null}),re(),o=m[s],o?o.p(k,S):(o=m[s]=d[s](k),o.c()),A(o,1),o.m(e,r)),(k[0].length||k[7].length)&&k[7]!=k[0]?_?S&129&&A(_,1):(_=Yu(),_.c(),A(_,1),_.m(e,a)):_&&(oe(),I(_,1,1,()=>{_=null}),re()),k[0].length||k[7].length?g?(g.p(k,S),S&129&&A(g,1)):(g=Ku(k),g.c(),A(g,1),g.m(e,null)):g&&(oe(),I(g,1,1,()=>{g=null}),re())},i(k){u||(A(o),A(_),A(g),u=!0)},o(k){I(o),I(_),I(g),u=!1},d(k){k&&v(e),m[s].d(),_&&_.d(),g&&g.d(),f=!1,we(c)}}}function $v(n,e,t){const i=ot(),l="search_"+j.randomString(7);let{value:s=""}=e,{placeholder:o='Search term or filter like created > "2022-01-01"...'}=e,{autocompleteCollection:r=j.initCollection()}=e,{extraAutocompleteKeys:a=[]}=e,u,f=!1,c,d="";function m(C=!0){t(7,d=""),C&&(c==null||c.focus()),i("clear")}function h(){t(0,s=d),i("submit",s)}async function _(){u||f||(t(5,f=!0),t(4,u=(await rt(()=>import("./FilterAutocompleteInput-a63ad5f2.js"),["./FilterAutocompleteInput-a63ad5f2.js","./index-9ee652b3.js"],import.meta.url)).default),t(5,f=!1))}Vt(()=>{_()});function g(C){Ae.call(this,n,C)}function k(C){d=C,t(7,d),t(0,s)}function S(C){te[C?"unshift":"push"](()=>{c=C,t(6,c)})}function T(){d=this.value,t(7,d),t(0,s)}const $=()=>{m(!1),h()};return n.$$set=C=>{"value"in C&&t(0,s=C.value),"placeholder"in C&&t(1,o=C.placeholder),"autocompleteCollection"in C&&t(2,r=C.autocompleteCollection),"extraAutocompleteKeys"in C&&t(3,a=C.extraAutocompleteKeys)},n.$$.update=()=>{n.$$.dirty&1&&typeof s=="string"&&t(7,d=s)},[s,o,r,a,u,f,c,d,l,m,h,g,k,S,T,$]}class Ms extends ge{constructor(e){super(),_e(this,e,$v,Sv,he,{value:0,placeholder:1,autocompleteCollection:2,extraAutocompleteKeys:3})}}function Tv(n){let e,t,i,l,s,o;return{c(){e=b("button"),t=b("i"),p(t,"class","ri-refresh-line svelte-1bvelc2"),p(e,"type","button"),p(e,"aria-label","Refresh"),p(e,"class",i="btn btn-transparent btn-circle "+n[1]+" svelte-1bvelc2"),ee(e,"refreshing",n[2])},m(r,a){w(r,e,a),y(e,t),s||(o=[ve(l=Le.call(null,e,n[0])),K(e,"click",n[3])],s=!0)},p(r,[a]){a&2&&i!==(i="btn btn-transparent btn-circle "+r[1]+" svelte-1bvelc2")&&p(e,"class",i),l&&$t(l.update)&&a&1&&l.update.call(null,r[0]),a&6&&ee(e,"refreshing",r[2])},i:Q,o:Q,d(r){r&&v(e),s=!1,we(o)}}}function Cv(n,e,t){const i=ot();let{tooltip:l={text:"Refresh",position:"right"}}=e,{class:s=""}=e,o=null;function r(){i("refresh");const a=l;t(0,l=null),clearTimeout(o),t(2,o=setTimeout(()=>{t(2,o=null),t(0,l=a)},150))}return Vt(()=>()=>clearTimeout(o)),n.$$set=a=>{"tooltip"in a&&t(0,l=a.tooltip),"class"in a&&t(1,s=a.class)},[l,s,o,r]}class Go extends ge{constructor(e){super(),_e(this,e,Cv,Tv,he,{tooltip:0,class:1})}}function Mv(n){let e,t,i,l,s;const o=n[6].default,r=kt(o,n,n[5],null);return{c(){e=b("th"),r&&r.c(),p(e,"tabindex","0"),p(e,"title",n[2]),p(e,"class",t="col-sort "+n[1]),ee(e,"col-sort-disabled",n[3]),ee(e,"sort-active",n[0]==="-"+n[2]||n[0]==="+"+n[2]),ee(e,"sort-desc",n[0]==="-"+n[2]),ee(e,"sort-asc",n[0]==="+"+n[2])},m(a,u){w(a,e,u),r&&r.m(e,null),i=!0,l||(s=[K(e,"click",n[7]),K(e,"keydown",n[8])],l=!0)},p(a,[u]){r&&r.p&&(!i||u&32)&&wt(r,o,a,a[5],i?vt(o,a[5],u,null):St(a[5]),null),(!i||u&4)&&p(e,"title",a[2]),(!i||u&2&&t!==(t="col-sort "+a[1]))&&p(e,"class",t),(!i||u&10)&&ee(e,"col-sort-disabled",a[3]),(!i||u&7)&&ee(e,"sort-active",a[0]==="-"+a[2]||a[0]==="+"+a[2]),(!i||u&7)&&ee(e,"sort-desc",a[0]==="-"+a[2]),(!i||u&7)&&ee(e,"sort-asc",a[0]==="+"+a[2])},i(a){i||(A(r,a),i=!0)},o(a){I(r,a),i=!1},d(a){a&&v(e),r&&r.d(a),l=!1,we(s)}}}function Ov(n,e,t){let{$$slots:i={},$$scope:l}=e,{class:s=""}=e,{name:o}=e,{sort:r=""}=e,{disable:a=!1}=e;function u(){a||("-"+o===r?t(0,r="+"+o):t(0,r="-"+o))}const f=()=>u(),c=d=>{(d.code==="Enter"||d.code==="Space")&&(d.preventDefault(),u())};return n.$$set=d=>{"class"in d&&t(1,s=d.class),"name"in d&&t(2,o=d.name),"sort"in d&&t(0,r=d.sort),"disable"in d&&t(3,a=d.disable),"$$scope"in d&&t(5,l=d.$$scope)},[r,s,o,a,u,l,i,f,c]}class $n extends ge{constructor(e){super(),_e(this,e,Ov,Mv,he,{class:1,name:2,sort:0,disable:3})}}const Dv=n=>({}),Ju=n=>({}),Ev=n=>({}),Zu=n=>({});function Av(n){let e,t,i,l,s,o,r,a;const u=n[11].before,f=kt(u,n,n[10],Zu),c=n[11].default,d=kt(c,n,n[10],null),m=n[11].after,h=kt(m,n,n[10],Ju);return{c(){e=b("div"),f&&f.c(),t=M(),i=b("div"),d&&d.c(),s=M(),h&&h.c(),p(i,"class",l="scroller "+n[0]+" "+n[3]+" svelte-3a0gfs"),p(e,"class","scroller-wrapper svelte-3a0gfs")},m(_,g){w(_,e,g),f&&f.m(e,null),y(e,t),y(e,i),d&&d.m(i,null),n[12](i),y(e,s),h&&h.m(e,null),o=!0,r||(a=[K(window,"resize",n[1]),K(i,"scroll",n[1])],r=!0)},p(_,[g]){f&&f.p&&(!o||g&1024)&&wt(f,u,_,_[10],o?vt(u,_[10],g,Ev):St(_[10]),Zu),d&&d.p&&(!o||g&1024)&&wt(d,c,_,_[10],o?vt(c,_[10],g,null):St(_[10]),null),(!o||g&9&&l!==(l="scroller "+_[0]+" "+_[3]+" svelte-3a0gfs"))&&p(i,"class",l),h&&h.p&&(!o||g&1024)&&wt(h,m,_,_[10],o?vt(m,_[10],g,Dv):St(_[10]),Ju)},i(_){o||(A(f,_),A(d,_),A(h,_),o=!0)},o(_){I(f,_),I(d,_),I(h,_),o=!1},d(_){_&&v(e),f&&f.d(_),d&&d.d(_),n[12](null),h&&h.d(_),r=!1,we(a)}}}function Iv(n,e,t){let{$$slots:i={},$$scope:l}=e;const s=ot();let{class:o=""}=e,{vThreshold:r=0}=e,{hThreshold:a=0}=e,{dispatchOnNoScroll:u=!0}=e,f=null,c="",d=null,m,h,_,g,k;function S(){f&&t(2,f.scrollTop=0,f)}function T(){f&&t(2,f.scrollLeft=0,f)}function $(){f&&(t(3,c=""),_=f.clientWidth+2,g=f.clientHeight+2,m=f.scrollWidth-_,h=f.scrollHeight-g,h>0?(t(3,c+=" v-scroll"),r>=g&&t(4,r=0),f.scrollTop-r<=0&&(t(3,c+=" v-scroll-start"),s("vScrollStart")),f.scrollTop+r>=h&&(t(3,c+=" v-scroll-end"),s("vScrollEnd"))):u&&s("vScrollEnd"),m>0?(t(3,c+=" h-scroll"),a>=_&&t(5,a=0),f.scrollLeft-a<=0&&(t(3,c+=" h-scroll-start"),s("hScrollStart")),f.scrollLeft+a>=m&&(t(3,c+=" h-scroll-end"),s("hScrollEnd"))):u&&s("hScrollEnd"))}function C(){d||(d=setTimeout(()=>{$(),d=null},150))}Vt(()=>(C(),k=new MutationObserver(C),k.observe(f,{attributeFilter:["width","height"],childList:!0,subtree:!0}),()=>{k==null||k.disconnect(),clearTimeout(d)}));function D(O){te[O?"unshift":"push"](()=>{f=O,t(2,f)})}return n.$$set=O=>{"class"in O&&t(0,o=O.class),"vThreshold"in O&&t(4,r=O.vThreshold),"hThreshold"in O&&t(5,a=O.hThreshold),"dispatchOnNoScroll"in O&&t(6,u=O.dispatchOnNoScroll),"$$scope"in O&&t(10,l=O.$$scope)},[o,C,f,c,r,a,u,S,T,$,l,i,D]}class Xo extends ge{constructor(e){super(),_e(this,e,Iv,Av,he,{class:0,vThreshold:4,hThreshold:5,dispatchOnNoScroll:6,resetVerticalScroll:7,resetHorizontalScroll:8,refresh:9,throttleRefresh:1})}get resetVerticalScroll(){return this.$$.ctx[7]}get resetHorizontalScroll(){return this.$$.ctx[8]}get refresh(){return this.$$.ctx[9]}get throttleRefresh(){return this.$$.ctx[1]}}function Lv(n){let e,t,i=(n[1]||"UNKN")+"",l,s,o,r,a;return{c(){e=b("div"),t=b("span"),l=Y(i),s=Y(" ("),o=Y(n[0]),r=Y(")"),p(t,"class","txt"),p(e,"class",a="label log-level-label level-"+n[0]+" svelte-ha6hme")},m(u,f){w(u,e,f),y(e,t),y(t,l),y(t,s),y(t,o),y(t,r)},p(u,[f]){f&2&&i!==(i=(u[1]||"UNKN")+"")&&le(l,i),f&1&&le(o,u[0]),f&1&&a!==(a="label log-level-label level-"+u[0]+" svelte-ha6hme")&&p(e,"class",a)},i:Q,o:Q,d(u){u&&v(e)}}}function Pv(n,e,t){let i,{level:l}=e;return n.$$set=s=>{"level"in s&&t(0,l=s.level)},n.$$.update=()=>{var s;n.$$.dirty&1&&t(1,i=(s=R1.find(o=>o.level==l))==null?void 0:s.label)},[l,i]}class V1 extends ge{constructor(e){super(),_e(this,e,Pv,Lv,he,{level:0})}}function Nv(n){let e,t=n[0].replace("Z"," UTC")+"",i,l,s;return{c(){e=b("span"),i=Y(t),p(e,"class","txt-nowrap")},m(o,r){w(o,e,r),y(e,i),l||(s=ve(Le.call(null,e,n[1])),l=!0)},p(o,[r]){r&1&&t!==(t=o[0].replace("Z"," UTC")+"")&&le(i,t)},i:Q,o:Q,d(o){o&&v(e),l=!1,s()}}}function Fv(n,e,t){let{date:i}=e;const l={get text(){return j.formatToLocalDate(i,"yyyy-MM-dd HH:mm:ss.SSS")+" Local"}};return n.$$set=s=>{"date"in s&&t(0,i=s.date)},[i,l]}class B1 extends ge{constructor(e){super(),_e(this,e,Fv,Nv,he,{date:0})}}function Gu(n,e,t){var o;const i=n.slice();i[31]=e[t];const l=((o=i[31].data)==null?void 0:o.type)=="request";i[32]=l;const s=Jv(i[31]);return i[33]=s,i}function Xu(n,e,t){const i=n.slice();return i[36]=e[t],i}function Rv(n){let e,t,i,l,s,o,r;return{c(){e=b("div"),t=b("input"),l=M(),s=b("label"),p(t,"type","checkbox"),p(t,"id","checkbox_0"),t.disabled=i=!n[3].length,t.checked=n[8],p(s,"for","checkbox_0"),p(e,"class","form-field")},m(a,u){w(a,e,u),y(e,t),y(e,l),y(e,s),o||(r=K(t,"change",n[18]),o=!0)},p(a,u){u[0]&8&&i!==(i=!a[3].length)&&(t.disabled=i),u[0]&256&&(t.checked=a[8])},d(a){a&&v(e),o=!1,r()}}}function qv(n){let e;return{c(){e=b("span"),p(e,"class","loader loader-sm")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function jv(n){let e;return{c(){e=b("div"),e.innerHTML=' level',p(e,"class","col-header-content")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function Hv(n){let e;return{c(){e=b("div"),e.innerHTML=' message',p(e,"class","col-header-content")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function zv(n){let e;return{c(){e=b("div"),e.innerHTML=` created`,p(e,"class","col-header-content")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function Qu(n){let e;function t(s,o){return s[7]?Bv:Vv}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,o){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},d(s){s&&v(e),l.d(s)}}}function Vv(n){var r;let e,t,i,l,s,o=((r=n[0])==null?void 0:r.length)&&xu(n);return{c(){e=b("tr"),t=b("td"),i=b("h6"),i.textContent="No logs found.",l=M(),o&&o.c(),s=M(),p(t,"colspan","99"),p(t,"class","txt-center txt-hint p-xs")},m(a,u){w(a,e,u),y(e,t),y(t,i),y(t,l),o&&o.m(t,null),y(e,s)},p(a,u){var f;(f=a[0])!=null&&f.length?o?o.p(a,u):(o=xu(a),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(a){a&&v(e),o&&o.d()}}}function Bv(n){let e;return{c(){e=b("tr"),e.innerHTML=' '},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function xu(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='Clear filters',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[25]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function ef(n){let e,t=pe(n[33]),i=[];for(let l=0;l',F=M(),p(s,"type","checkbox"),p(s,"id",o="checkbox_"+e[31].id),s.checked=r=e[4][e[31].id],p(u,"for",f="checkbox_"+e[31].id),p(l,"class","form-field"),p(i,"class","bulk-select-col min-width"),p(d,"class","col-type-text col-field-level min-width svelte-91v05h"),p(k,"class","txt-ellipsis"),p(g,"class","flex flex-gap-10"),p(_,"class","col-type-text col-field-message svelte-91v05h"),p(D,"class","col-type-date col-field-created"),p(L,"class","col-type-action min-width"),p(t,"tabindex","0"),p(t,"class","row-handle"),this.first=t},m(B,U){w(B,t,U),y(t,i),y(i,l),y(l,s),y(l,a),y(l,u),y(t,c),y(t,d),H(m,d,null),y(t,h),y(t,_),y(_,g),y(g,k),y(k,T),y(_,$),W&&W.m(_,null),y(t,C),y(t,D),H(O,D,null),y(t,E),y(t,L),y(t,F),P=!0,N||(R=[K(s,"change",q),K(l,"click",fn(e[17])),K(t,"click",J),K(t,"keydown",G)],N=!0)},p(B,U){e=B,(!P||U[0]&8&&o!==(o="checkbox_"+e[31].id))&&p(s,"id",o),(!P||U[0]&24&&r!==(r=e[4][e[31].id]))&&(s.checked=r),(!P||U[0]&8&&f!==(f="checkbox_"+e[31].id))&&p(u,"for",f);const ae={};U[0]&8&&(ae.level=e[31].level),m.$set(ae),(!P||U[0]&8)&&S!==(S=e[31].message+"")&&le(T,S),e[33].length?W?W.p(e,U):(W=ef(e),W.c(),W.m(_,null)):W&&(W.d(1),W=null);const x={};U[0]&8&&(x.date=e[31].created),O.$set(x)},i(B){P||(A(m.$$.fragment,B),A(O.$$.fragment,B),P=!0)},o(B){I(m.$$.fragment,B),I(O.$$.fragment,B),P=!1},d(B){B&&v(t),z(m),W&&W.d(),z(O),N=!1,we(R)}}}function Yv(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S=[],T=new Map,$;function C(G,B){return G[7]?qv:Rv}let D=C(n),O=D(n);function E(G){n[19](G)}let L={disable:!0,class:"col-field-level min-width",name:"level",$$slots:{default:[jv]},$$scope:{ctx:n}};n[1]!==void 0&&(L.sort=n[1]),o=new $n({props:L}),te.push(()=>be(o,"sort",E));function F(G){n[20](G)}let P={disable:!0,class:"col-type-text col-field-message",name:"data",$$slots:{default:[Hv]},$$scope:{ctx:n}};n[1]!==void 0&&(P.sort=n[1]),u=new $n({props:P}),te.push(()=>be(u,"sort",F));function N(G){n[21](G)}let R={disable:!0,class:"col-type-date col-field-created",name:"created",$$slots:{default:[zv]},$$scope:{ctx:n}};n[1]!==void 0&&(R.sort=n[1]),d=new $n({props:R}),te.push(()=>be(d,"sort",N));let q=pe(n[3]);const W=G=>G[31].id;for(let G=0;Gr=!1)),o.$set(U);const ae={};B[1]&256&&(ae.$$scope={dirty:B,ctx:G}),!f&&B[0]&2&&(f=!0,ae.sort=G[1],ye(()=>f=!1)),u.$set(ae);const x={};B[1]&256&&(x.$$scope={dirty:B,ctx:G}),!m&&B[0]&2&&(m=!0,x.sort=G[1],ye(()=>m=!1)),d.$set(x),B[0]&9369&&(q=pe(G[3]),oe(),S=dt(S,B,W,1,G,q,T,k,Lt,nf,null,Gu),re(),!q.length&&J?J.p(G,B):q.length?J&&(J.d(1),J=null):(J=Qu(G),J.c(),J.m(k,null))),(!$||B[0]&128)&&ee(e,"table-loading",G[7])},i(G){if(!$){A(o.$$.fragment,G),A(u.$$.fragment,G),A(d.$$.fragment,G);for(let B=0;BLoad more',p(t,"type","button"),p(t,"class","btn btn-lg btn-secondary btn-expanded"),ee(t,"btn-loading",n[7]),ee(t,"btn-disabled",n[7]),p(e,"class","block txt-center m-t-sm")},m(s,o){w(s,e,o),y(e,t),i||(l=K(t,"click",n[26]),i=!0)},p(s,o){o[0]&128&&ee(t,"btn-loading",s[7]),o[0]&128&&ee(t,"btn-disabled",s[7])},d(s){s&&v(e),i=!1,l()}}}function sf(n){let e,t,i,l,s,o,r=n[5]===1?"log":"logs",a,u,f,c,d,m,h,_,g,k,S;return{c(){e=b("div"),t=b("div"),i=Y("Selected "),l=b("strong"),s=Y(n[5]),o=M(),a=Y(r),u=M(),f=b("button"),f.innerHTML='Reset',c=M(),d=b("div"),m=M(),h=b("button"),h.innerHTML='Download as JSON',p(t,"class","txt"),p(f,"type","button"),p(f,"class","btn btn-xs btn-transparent btn-outline p-l-5 p-r-5"),p(d,"class","flex-fill"),p(h,"type","button"),p(h,"class","btn btn-sm"),p(e,"class","bulkbar svelte-91v05h")},m(T,$){w(T,e,$),y(e,t),y(t,i),y(t,l),y(l,s),y(t,o),y(t,a),y(e,u),y(e,f),y(e,c),y(e,d),y(e,m),y(e,h),g=!0,k||(S=[K(f,"click",n[27]),K(h,"click",n[14])],k=!0)},p(T,$){(!g||$[0]&32)&&le(s,T[5]),(!g||$[0]&32)&&r!==(r=T[5]===1?"log":"logs")&&le(a,r)},i(T){g||(T&&Ke(()=>{g&&(_||(_=Pe(e,jn,{duration:150,y:5},!0)),_.run(1))}),g=!0)},o(T){T&&(_||(_=Pe(e,jn,{duration:150,y:5},!1)),_.run(0)),g=!1},d(T){T&&v(e),T&&_&&_.end(),k=!1,we(S)}}}function Kv(n){let e,t,i,l,s;e=new Xo({props:{class:"table-wrapper",$$slots:{default:[Yv]},$$scope:{ctx:n}}});let o=n[3].length&&n[9]&&lf(n),r=n[5]&&sf(n);return{c(){V(e.$$.fragment),t=M(),o&&o.c(),i=M(),r&&r.c(),l=ke()},m(a,u){H(e,a,u),w(a,t,u),o&&o.m(a,u),w(a,i,u),r&&r.m(a,u),w(a,l,u),s=!0},p(a,u){const f={};u[0]&411|u[1]&256&&(f.$$scope={dirty:u,ctx:a}),e.$set(f),a[3].length&&a[9]?o?o.p(a,u):(o=lf(a),o.c(),o.m(i.parentNode,i)):o&&(o.d(1),o=null),a[5]?r?(r.p(a,u),u[0]&32&&A(r,1)):(r=sf(a),r.c(),A(r,1),r.m(l.parentNode,l)):r&&(oe(),I(r,1,1,()=>{r=null}),re())},i(a){s||(A(e.$$.fragment,a),A(r),s=!0)},o(a){I(e.$$.fragment,a),I(r),s=!1},d(a){a&&(v(t),v(i),v(l)),z(e,a),o&&o.d(a),r&&r.d(a)}}}const of=50,mr=/[-:\. ]/gi;function Jv(n){let e=[];if(!n.data)return e;if(n.data.type=="request"){const t=["status","execTime","auth","userIp"];for(let i of t)typeof n.data[i]<"u"&&e.push({key:i});n.data.referer&&!n.data.referer.includes(window.location.host)&&e.push({key:"referer"})}else{const t=Object.keys(n.data);for(const i of t)i!="error"&&i!="details"&&e.length<6&&e.push({key:i})}return n.data.error&&e.push({key:"error",label:"label-danger"}),n.data.details&&e.push({key:"details",label:"label-warning"}),e}function Zv(n,e,t){let i,l,s;const o=ot();let{filter:r=""}=e,{presets:a=""}=e,{sort:u="-rowid"}=e,f=[],c=1,d=0,m=!1,h=0,_={};async function g(B=1,U=!0){t(7,m=!0);const ae=[a,j.normalizeLogsFilter(r)].filter(Boolean).join("&&");return fe.logs.getList(B,of,{sort:u,skipTotal:1,filter:ae}).then(async x=>{if(B<=1&&k(),t(7,m=!1),t(6,c=x.page),t(16,d=x.items.length),o("load",f.concat(x.items)),U){const se=++h;for(;x.items.length&&h==se;){const De=x.items.splice(0,10);for(let je of De)j.pushOrReplaceByKey(f,je);t(3,f),await j.yieldToMain()}}else{for(let se of x.items)j.pushOrReplaceByKey(f,se);t(3,f)}}).catch(x=>{x!=null&&x.isAbort||(t(7,m=!1),console.warn(x),k(),fe.error(x,!ae||(x==null?void 0:x.status)!=400))})}function k(){t(3,f=[]),t(4,_={}),t(6,c=1),t(16,d=0)}function S(){s?T():$()}function T(){t(4,_={})}function $(){for(const B of f)t(4,_[B.id]=B,_);t(4,_)}function C(B){_[B.id]?delete _[B.id]:t(4,_[B.id]=B,_),t(4,_)}function D(){const B=Object.values(_).sort((x,se)=>x.createdse.created?-1:0);if(!B.length)return;if(B.length==1)return j.downloadJson(B[0],"log_"+B[0].created.replaceAll(mr,"")+".json");const U=B[0].created.replaceAll(mr,""),ae=B[B.length-1].created.replaceAll(mr,"");return j.downloadJson(B,`${B.length}_logs_${ae}_to_${U}.json`)}function O(B){Ae.call(this,n,B)}const E=()=>S();function L(B){u=B,t(1,u)}function F(B){u=B,t(1,u)}function P(B){u=B,t(1,u)}const N=B=>C(B),R=B=>o("select",B),q=(B,U)=>{U.code==="Enter"&&(U.preventDefault(),o("select",B))},W=()=>t(0,r=""),J=()=>g(c+1),G=()=>T();return n.$$set=B=>{"filter"in B&&t(0,r=B.filter),"presets"in B&&t(15,a=B.presets),"sort"in B&&t(1,u=B.sort)},n.$$.update=()=>{n.$$.dirty[0]&32771&&(typeof u<"u"||typeof r<"u"||typeof a<"u")&&(k(),g(1)),n.$$.dirty[0]&65536&&t(9,i=d>=of),n.$$.dirty[0]&16&&t(5,l=Object.keys(_).length),n.$$.dirty[0]&40&&t(8,s=f.length&&l===f.length)},[r,u,g,f,_,l,c,m,s,i,o,S,T,C,D,a,d,O,E,L,F,P,N,R,q,W,J,G]}class Gv extends ge{constructor(e){super(),_e(this,e,Zv,Kv,he,{filter:0,presets:15,sort:1,load:2},null,[-1,-1])}get load(){return this.$$.ctx[2]}}/*! +`)})},i(a){s||(a&&Ke(()=>{s&&(l||(l=Pe(t,Yt,{duration:150,start:.7},!0)),l.run(1))}),s=!0)},o(a){a&&(l||(l=Pe(t,Yt,{duration:150,start:.7},!1)),l.run(0)),s=!1},d(a){a&&v(e),a&&l&&l.end(),o=!1,r()}}}function Bu(n){let e,t,i=Co(n[12])+"",l,s,o,r;return{c(){e=b("div"),t=b("pre"),l=Y(i),s=M(),p(e,"class","help-block help-block-error")},m(a,u){w(a,e,u),y(e,t),y(t,l),y(e,s),r=!0},p(a,u){(!r||u&8)&&i!==(i=Co(a[12])+"")&&le(l,i)},i(a){r||(a&&Ke(()=>{r&&(o||(o=Pe(e,et,{duration:150},!0)),o.run(1))}),r=!0)},o(a){a&&(o||(o=Pe(e,et,{duration:150},!1)),o.run(0)),r=!1},d(a){a&&v(e),a&&o&&o.end()}}}function uv(n){let e,t,i,l,s,o,r;const a=n[9].default,u=kt(a,n,n[8],Vu),f=[av,rv],c=[];function d(m,h){return m[0]&&m[3].length?0:1}return i=d(n),l=c[i]=f[i](n),{c(){e=b("div"),u&&u.c(),t=M(),l.c(),p(e,"class",n[1]),ee(e,"error",n[3].length)},m(m,h){w(m,e,h),u&&u.m(e,null),y(e,t),c[i].m(e,null),n[11](e),s=!0,o||(r=K(e,"click",n[10]),o=!0)},p(m,[h]){u&&u.p&&(!s||h&256)&&wt(u,a,m,m[8],s?vt(a,m[8],h,ov):St(m[8]),Vu);let _=i;i=d(m),i===_?c[i].p(m,h):(oe(),I(c[_],1,1,()=>{c[_]=null}),re(),l=c[i],l?l.p(m,h):(l=c[i]=f[i](m),l.c()),A(l,1),l.m(e,null)),(!s||h&2)&&p(e,"class",m[1]),(!s||h&10)&&ee(e,"error",m[3].length)},i(m){s||(A(u,m),A(l),s=!0)},o(m){I(u,m),I(l),s=!1},d(m){m&&v(e),u&&u.d(m),c[i].d(),n[11](null),o=!1,r()}}}const Uu="Invalid value";function Co(n){return typeof n=="object"?(n==null?void 0:n.message)||(n==null?void 0:n.code)||Uu:n||Uu}function fv(n,e,t){let i;We(n,_i,_=>t(7,i=_));let{$$slots:l={},$$scope:s}=e;const o="field_"+j.randomString(7);let{name:r=""}=e,{inlineError:a=!1}=e,{class:u=void 0}=e,f,c=[];function d(){ii(r)}Vt(()=>(f.addEventListener("input",d),f.addEventListener("change",d),()=>{f.removeEventListener("input",d),f.removeEventListener("change",d)}));function m(_){Ae.call(this,n,_)}function h(_){te[_?"unshift":"push"](()=>{f=_,t(2,f)})}return n.$$set=_=>{"name"in _&&t(5,r=_.name),"inlineError"in _&&t(0,a=_.inlineError),"class"in _&&t(1,u=_.class),"$$scope"in _&&t(8,s=_.$$scope)},n.$$.update=()=>{n.$$.dirty&160&&t(3,c=j.toArray(j.getNestedVal(i,r)))},[a,u,f,c,o,r,d,i,s,l,m,h]}class me extends ge{constructor(e){super(),_e(this,e,fv,uv,he,{name:5,inlineError:0,class:1,changed:6})}get changed(){return this.$$.ctx[6]}}function cv(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Email"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","email"),p(s,"autocomplete","off"),p(s,"id",o=n[9]),s.required=!0,s.autofocus=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0]),s.focus(),r||(a=K(s,"input",n[5]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&s.value!==u[0]&&ue(s,u[0])},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function dv(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=Y("Password"),l=M(),s=b("input"),r=M(),a=b("div"),a.textContent="Minimum 10 characters.",p(e,"for",i=n[9]),p(s,"type","password"),p(s,"autocomplete","new-password"),p(s,"minlength","10"),p(s,"id",o=n[9]),s.required=!0,p(a,"class","help-block")},m(c,d){w(c,e,d),y(e,t),w(c,l,d),w(c,s,d),ue(s,n[1]),w(c,r,d),w(c,a,d),u||(f=K(s,"input",n[6]),u=!0)},p(c,d){d&512&&i!==(i=c[9])&&p(e,"for",i),d&512&&o!==(o=c[9])&&p(s,"id",o),d&2&&s.value!==c[1]&&ue(s,c[1])},d(c){c&&(v(e),v(l),v(s),v(r),v(a)),u=!1,f()}}}function pv(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Password confirm"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","password"),p(s,"minlength","10"),p(s,"id",o=n[9]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[2]),r||(a=K(s,"input",n[7]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&4&&s.value!==u[2]&&ue(s,u[2])},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function mv(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;return l=new me({props:{class:"form-field required",name:"email",$$slots:{default:[cv,({uniqueId:h})=>({9:h}),({uniqueId:h})=>h?512:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"password",$$slots:{default:[dv,({uniqueId:h})=>({9:h}),({uniqueId:h})=>h?512:0]},$$scope:{ctx:n}}}),a=new me({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[pv,({uniqueId:h})=>({9:h}),({uniqueId:h})=>h?512:0]},$$scope:{ctx:n}}}),{c(){e=b("form"),t=b("div"),t.innerHTML="

Create your first admin account in order to continue

",i=M(),V(l.$$.fragment),s=M(),V(o.$$.fragment),r=M(),V(a.$$.fragment),u=M(),f=b("button"),f.innerHTML='Create and login ',p(t,"class","content txt-center m-b-base"),p(f,"type","submit"),p(f,"class","btn btn-lg btn-block btn-next"),ee(f,"btn-disabled",n[3]),ee(f,"btn-loading",n[3]),p(e,"class","block"),p(e,"autocomplete","off")},m(h,_){w(h,e,_),y(e,t),y(e,i),H(l,e,null),y(e,s),H(o,e,null),y(e,r),H(a,e,null),y(e,u),y(e,f),c=!0,d||(m=K(e,"submit",Ye(n[4])),d=!0)},p(h,[_]){const g={};_&1537&&(g.$$scope={dirty:_,ctx:h}),l.$set(g);const k={};_&1538&&(k.$$scope={dirty:_,ctx:h}),o.$set(k);const S={};_&1540&&(S.$$scope={dirty:_,ctx:h}),a.$set(S),(!c||_&8)&&ee(f,"btn-disabled",h[3]),(!c||_&8)&&ee(f,"btn-loading",h[3])},i(h){c||(A(l.$$.fragment,h),A(o.$$.fragment,h),A(a.$$.fragment,h),c=!0)},o(h){I(l.$$.fragment,h),I(o.$$.fragment,h),I(a.$$.fragment,h),c=!1},d(h){h&&v(e),z(l),z(o),z(a),d=!1,m()}}}function hv(n,e,t){const i=ot();let l="",s="",o="",r=!1;async function a(){if(!r){t(3,r=!0);try{await fe.admins.create({email:l,password:s,passwordConfirm:o}),await fe.admins.authWithPassword(l,s),i("submit")}catch(d){fe.error(d)}t(3,r=!1)}}function u(){l=this.value,t(0,l)}function f(){s=this.value,t(1,s)}function c(){o=this.value,t(2,o)}return[l,s,o,r,a,u,f,c]}class _v extends ge{constructor(e){super(),_e(this,e,hv,mv,he,{})}}function Wu(n){let e,t;return e=new H1({props:{$$slots:{default:[gv]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&9&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function gv(n){let e,t;return e=new _v({}),e.$on("submit",n[1]),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p:Q,i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function bv(n){let e,t,i=n[0]&&Wu(n);return{c(){i&&i.c(),e=ke()},m(l,s){i&&i.m(l,s),w(l,e,s),t=!0},p(l,[s]){l[0]?i?(i.p(l,s),s&1&&A(i,1)):(i=Wu(l),i.c(),A(i,1),i.m(e.parentNode,e)):i&&(oe(),I(i,1,1,()=>{i=null}),re())},i(l){t||(A(i),t=!0)},o(l){I(i),t=!1},d(l){l&&v(e),i&&i.d(l)}}}function yv(n,e,t){let i=!1;l();function l(){if(t(0,i=!1),new URLSearchParams(window.location.search).has("installer")){fe.logout(!1),t(0,i=!0);return}fe.authStore.isValid?nl("/collections"):fe.logout()}return[i,async()=>{t(0,i=!1),await Qt(),window.location.search=""}]}class kv extends ge{constructor(e){super(),_e(this,e,yv,bv,he,{})}}const Dt=Dn(""),Mo=Dn(""),Sl=Dn(!1);function vv(n){let e,t,i,l;return{c(){e=b("input"),p(e,"type","text"),p(e,"id",n[8]),p(e,"placeholder",t=n[0]||n[1])},m(s,o){w(s,e,o),n[13](e),ue(e,n[7]),i||(l=K(e,"input",n[14]),i=!0)},p(s,o){o&3&&t!==(t=s[0]||s[1])&&p(e,"placeholder",t),o&128&&e.value!==s[7]&&ue(e,s[7])},i:Q,o:Q,d(s){s&&v(e),n[13](null),i=!1,l()}}}function wv(n){let e,t,i,l;function s(a){n[12](a)}var o=n[4];function r(a,u){let f={id:a[8],singleLine:!0,disableRequestKeys:!0,disableIndirectCollectionsKeys:!0,extraAutocompleteKeys:a[3],baseCollection:a[2],placeholder:a[0]||a[1]};return a[7]!==void 0&&(f.value=a[7]),{props:f}}return o&&(e=Ot(o,r(n)),te.push(()=>be(e,"value",s)),e.$on("submit",n[10])),{c(){e&&V(e.$$.fragment),i=ke()},m(a,u){e&&H(e,a,u),w(a,i,u),l=!0},p(a,u){if(u&16&&o!==(o=a[4])){if(e){oe();const f=e;I(f.$$.fragment,1,0,()=>{z(f,1)}),re()}o?(e=Ot(o,r(a)),te.push(()=>be(e,"value",s)),e.$on("submit",a[10]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,i.parentNode,i)):e=null}else if(o){const f={};u&8&&(f.extraAutocompleteKeys=a[3]),u&4&&(f.baseCollection=a[2]),u&3&&(f.placeholder=a[0]||a[1]),!t&&u&128&&(t=!0,f.value=a[7],ye(()=>t=!1)),e.$set(f)}},i(a){l||(e&&A(e.$$.fragment,a),l=!0)},o(a){e&&I(e.$$.fragment,a),l=!1},d(a){a&&v(i),e&&z(e,a)}}}function Yu(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='Search',p(e,"type","submit"),p(e,"class","btn btn-expanded-sm btn-sm btn-warning")},m(l,s){w(l,e,s),i=!0},i(l){i||(l&&Ke(()=>{i&&(t||(t=Pe(e,jn,{duration:150,x:5},!0)),t.run(1))}),i=!0)},o(l){l&&(t||(t=Pe(e,jn,{duration:150,x:5},!1)),t.run(0)),i=!1},d(l){l&&v(e),l&&t&&t.end()}}}function Ku(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='Clear',p(e,"type","button"),p(e,"class","btn btn-transparent btn-sm btn-hint p-l-xs p-r-xs m-l-10")},m(o,r){w(o,e,r),i=!0,l||(s=K(e,"click",n[15]),l=!0)},p:Q,i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,jn,{duration:150,x:5},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,jn,{duration:150,x:5},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function Sv(n){let e,t,i,l,s,o,r,a,u,f,c;const d=[wv,vv],m=[];function h(k,S){return k[4]&&!k[5]?0:1}s=h(n),o=m[s]=d[s](n);let _=(n[0].length||n[7].length)&&n[7]!=n[0]&&Yu(),g=(n[0].length||n[7].length)&&Ku(n);return{c(){e=b("form"),t=b("label"),i=b("i"),l=M(),o.c(),r=M(),_&&_.c(),a=M(),g&&g.c(),p(i,"class","ri-search-line"),p(t,"for",n[8]),p(t,"class","m-l-10 txt-xl"),p(e,"class","searchbar")},m(k,S){w(k,e,S),y(e,t),y(t,i),y(e,l),m[s].m(e,null),y(e,r),_&&_.m(e,null),y(e,a),g&&g.m(e,null),u=!0,f||(c=[K(e,"click",fn(n[11])),K(e,"submit",Ye(n[10]))],f=!0)},p(k,[S]){let T=s;s=h(k),s===T?m[s].p(k,S):(oe(),I(m[T],1,1,()=>{m[T]=null}),re(),o=m[s],o?o.p(k,S):(o=m[s]=d[s](k),o.c()),A(o,1),o.m(e,r)),(k[0].length||k[7].length)&&k[7]!=k[0]?_?S&129&&A(_,1):(_=Yu(),_.c(),A(_,1),_.m(e,a)):_&&(oe(),I(_,1,1,()=>{_=null}),re()),k[0].length||k[7].length?g?(g.p(k,S),S&129&&A(g,1)):(g=Ku(k),g.c(),A(g,1),g.m(e,null)):g&&(oe(),I(g,1,1,()=>{g=null}),re())},i(k){u||(A(o),A(_),A(g),u=!0)},o(k){I(o),I(_),I(g),u=!1},d(k){k&&v(e),m[s].d(),_&&_.d(),g&&g.d(),f=!1,we(c)}}}function $v(n,e,t){const i=ot(),l="search_"+j.randomString(7);let{value:s=""}=e,{placeholder:o='Search term or filter like created > "2022-01-01"...'}=e,{autocompleteCollection:r=j.initCollection()}=e,{extraAutocompleteKeys:a=[]}=e,u,f=!1,c,d="";function m(C=!0){t(7,d=""),C&&(c==null||c.focus()),i("clear")}function h(){t(0,s=d),i("submit",s)}async function _(){u||f||(t(5,f=!0),t(4,u=(await rt(()=>import("./FilterAutocompleteInput-f45db6a6.js"),["./FilterAutocompleteInput-f45db6a6.js","./index-9ee652b3.js"],import.meta.url)).default),t(5,f=!1))}Vt(()=>{_()});function g(C){Ae.call(this,n,C)}function k(C){d=C,t(7,d),t(0,s)}function S(C){te[C?"unshift":"push"](()=>{c=C,t(6,c)})}function T(){d=this.value,t(7,d),t(0,s)}const $=()=>{m(!1),h()};return n.$$set=C=>{"value"in C&&t(0,s=C.value),"placeholder"in C&&t(1,o=C.placeholder),"autocompleteCollection"in C&&t(2,r=C.autocompleteCollection),"extraAutocompleteKeys"in C&&t(3,a=C.extraAutocompleteKeys)},n.$$.update=()=>{n.$$.dirty&1&&typeof s=="string"&&t(7,d=s)},[s,o,r,a,u,f,c,d,l,m,h,g,k,S,T,$]}class Ms extends ge{constructor(e){super(),_e(this,e,$v,Sv,he,{value:0,placeholder:1,autocompleteCollection:2,extraAutocompleteKeys:3})}}function Tv(n){let e,t,i,l,s,o;return{c(){e=b("button"),t=b("i"),p(t,"class","ri-refresh-line svelte-1bvelc2"),p(e,"type","button"),p(e,"aria-label","Refresh"),p(e,"class",i="btn btn-transparent btn-circle "+n[1]+" svelte-1bvelc2"),ee(e,"refreshing",n[2])},m(r,a){w(r,e,a),y(e,t),s||(o=[ve(l=Le.call(null,e,n[0])),K(e,"click",n[3])],s=!0)},p(r,[a]){a&2&&i!==(i="btn btn-transparent btn-circle "+r[1]+" svelte-1bvelc2")&&p(e,"class",i),l&&$t(l.update)&&a&1&&l.update.call(null,r[0]),a&6&&ee(e,"refreshing",r[2])},i:Q,o:Q,d(r){r&&v(e),s=!1,we(o)}}}function Cv(n,e,t){const i=ot();let{tooltip:l={text:"Refresh",position:"right"}}=e,{class:s=""}=e,o=null;function r(){i("refresh");const a=l;t(0,l=null),clearTimeout(o),t(2,o=setTimeout(()=>{t(2,o=null),t(0,l=a)},150))}return Vt(()=>()=>clearTimeout(o)),n.$$set=a=>{"tooltip"in a&&t(0,l=a.tooltip),"class"in a&&t(1,s=a.class)},[l,s,o,r]}class Go extends ge{constructor(e){super(),_e(this,e,Cv,Tv,he,{tooltip:0,class:1})}}function Mv(n){let e,t,i,l,s;const o=n[6].default,r=kt(o,n,n[5],null);return{c(){e=b("th"),r&&r.c(),p(e,"tabindex","0"),p(e,"title",n[2]),p(e,"class",t="col-sort "+n[1]),ee(e,"col-sort-disabled",n[3]),ee(e,"sort-active",n[0]==="-"+n[2]||n[0]==="+"+n[2]),ee(e,"sort-desc",n[0]==="-"+n[2]),ee(e,"sort-asc",n[0]==="+"+n[2])},m(a,u){w(a,e,u),r&&r.m(e,null),i=!0,l||(s=[K(e,"click",n[7]),K(e,"keydown",n[8])],l=!0)},p(a,[u]){r&&r.p&&(!i||u&32)&&wt(r,o,a,a[5],i?vt(o,a[5],u,null):St(a[5]),null),(!i||u&4)&&p(e,"title",a[2]),(!i||u&2&&t!==(t="col-sort "+a[1]))&&p(e,"class",t),(!i||u&10)&&ee(e,"col-sort-disabled",a[3]),(!i||u&7)&&ee(e,"sort-active",a[0]==="-"+a[2]||a[0]==="+"+a[2]),(!i||u&7)&&ee(e,"sort-desc",a[0]==="-"+a[2]),(!i||u&7)&&ee(e,"sort-asc",a[0]==="+"+a[2])},i(a){i||(A(r,a),i=!0)},o(a){I(r,a),i=!1},d(a){a&&v(e),r&&r.d(a),l=!1,we(s)}}}function Ov(n,e,t){let{$$slots:i={},$$scope:l}=e,{class:s=""}=e,{name:o}=e,{sort:r=""}=e,{disable:a=!1}=e;function u(){a||("-"+o===r?t(0,r="+"+o):t(0,r="-"+o))}const f=()=>u(),c=d=>{(d.code==="Enter"||d.code==="Space")&&(d.preventDefault(),u())};return n.$$set=d=>{"class"in d&&t(1,s=d.class),"name"in d&&t(2,o=d.name),"sort"in d&&t(0,r=d.sort),"disable"in d&&t(3,a=d.disable),"$$scope"in d&&t(5,l=d.$$scope)},[r,s,o,a,u,l,i,f,c]}class $n extends ge{constructor(e){super(),_e(this,e,Ov,Mv,he,{class:1,name:2,sort:0,disable:3})}}const Dv=n=>({}),Ju=n=>({}),Ev=n=>({}),Zu=n=>({});function Av(n){let e,t,i,l,s,o,r,a;const u=n[11].before,f=kt(u,n,n[10],Zu),c=n[11].default,d=kt(c,n,n[10],null),m=n[11].after,h=kt(m,n,n[10],Ju);return{c(){e=b("div"),f&&f.c(),t=M(),i=b("div"),d&&d.c(),s=M(),h&&h.c(),p(i,"class",l="scroller "+n[0]+" "+n[3]+" svelte-3a0gfs"),p(e,"class","scroller-wrapper svelte-3a0gfs")},m(_,g){w(_,e,g),f&&f.m(e,null),y(e,t),y(e,i),d&&d.m(i,null),n[12](i),y(e,s),h&&h.m(e,null),o=!0,r||(a=[K(window,"resize",n[1]),K(i,"scroll",n[1])],r=!0)},p(_,[g]){f&&f.p&&(!o||g&1024)&&wt(f,u,_,_[10],o?vt(u,_[10],g,Ev):St(_[10]),Zu),d&&d.p&&(!o||g&1024)&&wt(d,c,_,_[10],o?vt(c,_[10],g,null):St(_[10]),null),(!o||g&9&&l!==(l="scroller "+_[0]+" "+_[3]+" svelte-3a0gfs"))&&p(i,"class",l),h&&h.p&&(!o||g&1024)&&wt(h,m,_,_[10],o?vt(m,_[10],g,Dv):St(_[10]),Ju)},i(_){o||(A(f,_),A(d,_),A(h,_),o=!0)},o(_){I(f,_),I(d,_),I(h,_),o=!1},d(_){_&&v(e),f&&f.d(_),d&&d.d(_),n[12](null),h&&h.d(_),r=!1,we(a)}}}function Iv(n,e,t){let{$$slots:i={},$$scope:l}=e;const s=ot();let{class:o=""}=e,{vThreshold:r=0}=e,{hThreshold:a=0}=e,{dispatchOnNoScroll:u=!0}=e,f=null,c="",d=null,m,h,_,g,k;function S(){f&&t(2,f.scrollTop=0,f)}function T(){f&&t(2,f.scrollLeft=0,f)}function $(){f&&(t(3,c=""),_=f.clientWidth+2,g=f.clientHeight+2,m=f.scrollWidth-_,h=f.scrollHeight-g,h>0?(t(3,c+=" v-scroll"),r>=g&&t(4,r=0),f.scrollTop-r<=0&&(t(3,c+=" v-scroll-start"),s("vScrollStart")),f.scrollTop+r>=h&&(t(3,c+=" v-scroll-end"),s("vScrollEnd"))):u&&s("vScrollEnd"),m>0?(t(3,c+=" h-scroll"),a>=_&&t(5,a=0),f.scrollLeft-a<=0&&(t(3,c+=" h-scroll-start"),s("hScrollStart")),f.scrollLeft+a>=m&&(t(3,c+=" h-scroll-end"),s("hScrollEnd"))):u&&s("hScrollEnd"))}function C(){d||(d=setTimeout(()=>{$(),d=null},150))}Vt(()=>(C(),k=new MutationObserver(C),k.observe(f,{attributeFilter:["width","height"],childList:!0,subtree:!0}),()=>{k==null||k.disconnect(),clearTimeout(d)}));function D(O){te[O?"unshift":"push"](()=>{f=O,t(2,f)})}return n.$$set=O=>{"class"in O&&t(0,o=O.class),"vThreshold"in O&&t(4,r=O.vThreshold),"hThreshold"in O&&t(5,a=O.hThreshold),"dispatchOnNoScroll"in O&&t(6,u=O.dispatchOnNoScroll),"$$scope"in O&&t(10,l=O.$$scope)},[o,C,f,c,r,a,u,S,T,$,l,i,D]}class Xo extends ge{constructor(e){super(),_e(this,e,Iv,Av,he,{class:0,vThreshold:4,hThreshold:5,dispatchOnNoScroll:6,resetVerticalScroll:7,resetHorizontalScroll:8,refresh:9,throttleRefresh:1})}get resetVerticalScroll(){return this.$$.ctx[7]}get resetHorizontalScroll(){return this.$$.ctx[8]}get refresh(){return this.$$.ctx[9]}get throttleRefresh(){return this.$$.ctx[1]}}function Lv(n){let e,t,i=(n[1]||"UNKN")+"",l,s,o,r,a;return{c(){e=b("div"),t=b("span"),l=Y(i),s=Y(" ("),o=Y(n[0]),r=Y(")"),p(t,"class","txt"),p(e,"class",a="label log-level-label level-"+n[0]+" svelte-ha6hme")},m(u,f){w(u,e,f),y(e,t),y(t,l),y(t,s),y(t,o),y(t,r)},p(u,[f]){f&2&&i!==(i=(u[1]||"UNKN")+"")&&le(l,i),f&1&&le(o,u[0]),f&1&&a!==(a="label log-level-label level-"+u[0]+" svelte-ha6hme")&&p(e,"class",a)},i:Q,o:Q,d(u){u&&v(e)}}}function Pv(n,e,t){let i,{level:l}=e;return n.$$set=s=>{"level"in s&&t(0,l=s.level)},n.$$.update=()=>{var s;n.$$.dirty&1&&t(1,i=(s=R1.find(o=>o.level==l))==null?void 0:s.label)},[l,i]}class V1 extends ge{constructor(e){super(),_e(this,e,Pv,Lv,he,{level:0})}}function Nv(n){let e,t=n[0].replace("Z"," UTC")+"",i,l,s;return{c(){e=b("span"),i=Y(t),p(e,"class","txt-nowrap")},m(o,r){w(o,e,r),y(e,i),l||(s=ve(Le.call(null,e,n[1])),l=!0)},p(o,[r]){r&1&&t!==(t=o[0].replace("Z"," UTC")+"")&&le(i,t)},i:Q,o:Q,d(o){o&&v(e),l=!1,s()}}}function Fv(n,e,t){let{date:i}=e;const l={get text(){return j.formatToLocalDate(i,"yyyy-MM-dd HH:mm:ss.SSS")+" Local"}};return n.$$set=s=>{"date"in s&&t(0,i=s.date)},[i,l]}class B1 extends ge{constructor(e){super(),_e(this,e,Fv,Nv,he,{date:0})}}function Gu(n,e,t){var o;const i=n.slice();i[31]=e[t];const l=((o=i[31].data)==null?void 0:o.type)=="request";i[32]=l;const s=Jv(i[31]);return i[33]=s,i}function Xu(n,e,t){const i=n.slice();return i[36]=e[t],i}function Rv(n){let e,t,i,l,s,o,r;return{c(){e=b("div"),t=b("input"),l=M(),s=b("label"),p(t,"type","checkbox"),p(t,"id","checkbox_0"),t.disabled=i=!n[3].length,t.checked=n[8],p(s,"for","checkbox_0"),p(e,"class","form-field")},m(a,u){w(a,e,u),y(e,t),y(e,l),y(e,s),o||(r=K(t,"change",n[18]),o=!0)},p(a,u){u[0]&8&&i!==(i=!a[3].length)&&(t.disabled=i),u[0]&256&&(t.checked=a[8])},d(a){a&&v(e),o=!1,r()}}}function qv(n){let e;return{c(){e=b("span"),p(e,"class","loader loader-sm")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function jv(n){let e;return{c(){e=b("div"),e.innerHTML=' level',p(e,"class","col-header-content")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function Hv(n){let e;return{c(){e=b("div"),e.innerHTML=' message',p(e,"class","col-header-content")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function zv(n){let e;return{c(){e=b("div"),e.innerHTML=` created`,p(e,"class","col-header-content")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function Qu(n){let e;function t(s,o){return s[7]?Bv:Vv}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,o){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},d(s){s&&v(e),l.d(s)}}}function Vv(n){var r;let e,t,i,l,s,o=((r=n[0])==null?void 0:r.length)&&xu(n);return{c(){e=b("tr"),t=b("td"),i=b("h6"),i.textContent="No logs found.",l=M(),o&&o.c(),s=M(),p(t,"colspan","99"),p(t,"class","txt-center txt-hint p-xs")},m(a,u){w(a,e,u),y(e,t),y(t,i),y(t,l),o&&o.m(t,null),y(e,s)},p(a,u){var f;(f=a[0])!=null&&f.length?o?o.p(a,u):(o=xu(a),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(a){a&&v(e),o&&o.d()}}}function Bv(n){let e;return{c(){e=b("tr"),e.innerHTML=' '},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function xu(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='Clear filters',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[25]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function ef(n){let e,t=pe(n[33]),i=[];for(let l=0;l',F=M(),p(s,"type","checkbox"),p(s,"id",o="checkbox_"+e[31].id),s.checked=r=e[4][e[31].id],p(u,"for",f="checkbox_"+e[31].id),p(l,"class","form-field"),p(i,"class","bulk-select-col min-width"),p(d,"class","col-type-text col-field-level min-width svelte-91v05h"),p(k,"class","txt-ellipsis"),p(g,"class","flex flex-gap-10"),p(_,"class","col-type-text col-field-message svelte-91v05h"),p(D,"class","col-type-date col-field-created"),p(L,"class","col-type-action min-width"),p(t,"tabindex","0"),p(t,"class","row-handle"),this.first=t},m(B,U){w(B,t,U),y(t,i),y(i,l),y(l,s),y(l,a),y(l,u),y(t,c),y(t,d),H(m,d,null),y(t,h),y(t,_),y(_,g),y(g,k),y(k,T),y(_,$),W&&W.m(_,null),y(t,C),y(t,D),H(O,D,null),y(t,E),y(t,L),y(t,F),P=!0,N||(R=[K(s,"change",q),K(l,"click",fn(e[17])),K(t,"click",J),K(t,"keydown",G)],N=!0)},p(B,U){e=B,(!P||U[0]&8&&o!==(o="checkbox_"+e[31].id))&&p(s,"id",o),(!P||U[0]&24&&r!==(r=e[4][e[31].id]))&&(s.checked=r),(!P||U[0]&8&&f!==(f="checkbox_"+e[31].id))&&p(u,"for",f);const ae={};U[0]&8&&(ae.level=e[31].level),m.$set(ae),(!P||U[0]&8)&&S!==(S=e[31].message+"")&&le(T,S),e[33].length?W?W.p(e,U):(W=ef(e),W.c(),W.m(_,null)):W&&(W.d(1),W=null);const x={};U[0]&8&&(x.date=e[31].created),O.$set(x)},i(B){P||(A(m.$$.fragment,B),A(O.$$.fragment,B),P=!0)},o(B){I(m.$$.fragment,B),I(O.$$.fragment,B),P=!1},d(B){B&&v(t),z(m),W&&W.d(),z(O),N=!1,we(R)}}}function Yv(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S=[],T=new Map,$;function C(G,B){return G[7]?qv:Rv}let D=C(n),O=D(n);function E(G){n[19](G)}let L={disable:!0,class:"col-field-level min-width",name:"level",$$slots:{default:[jv]},$$scope:{ctx:n}};n[1]!==void 0&&(L.sort=n[1]),o=new $n({props:L}),te.push(()=>be(o,"sort",E));function F(G){n[20](G)}let P={disable:!0,class:"col-type-text col-field-message",name:"data",$$slots:{default:[Hv]},$$scope:{ctx:n}};n[1]!==void 0&&(P.sort=n[1]),u=new $n({props:P}),te.push(()=>be(u,"sort",F));function N(G){n[21](G)}let R={disable:!0,class:"col-type-date col-field-created",name:"created",$$slots:{default:[zv]},$$scope:{ctx:n}};n[1]!==void 0&&(R.sort=n[1]),d=new $n({props:R}),te.push(()=>be(d,"sort",N));let q=pe(n[3]);const W=G=>G[31].id;for(let G=0;Gr=!1)),o.$set(U);const ae={};B[1]&256&&(ae.$$scope={dirty:B,ctx:G}),!f&&B[0]&2&&(f=!0,ae.sort=G[1],ye(()=>f=!1)),u.$set(ae);const x={};B[1]&256&&(x.$$scope={dirty:B,ctx:G}),!m&&B[0]&2&&(m=!0,x.sort=G[1],ye(()=>m=!1)),d.$set(x),B[0]&9369&&(q=pe(G[3]),oe(),S=dt(S,B,W,1,G,q,T,k,Lt,nf,null,Gu),re(),!q.length&&J?J.p(G,B):q.length?J&&(J.d(1),J=null):(J=Qu(G),J.c(),J.m(k,null))),(!$||B[0]&128)&&ee(e,"table-loading",G[7])},i(G){if(!$){A(o.$$.fragment,G),A(u.$$.fragment,G),A(d.$$.fragment,G);for(let B=0;BLoad more',p(t,"type","button"),p(t,"class","btn btn-lg btn-secondary btn-expanded"),ee(t,"btn-loading",n[7]),ee(t,"btn-disabled",n[7]),p(e,"class","block txt-center m-t-sm")},m(s,o){w(s,e,o),y(e,t),i||(l=K(t,"click",n[26]),i=!0)},p(s,o){o[0]&128&&ee(t,"btn-loading",s[7]),o[0]&128&&ee(t,"btn-disabled",s[7])},d(s){s&&v(e),i=!1,l()}}}function sf(n){let e,t,i,l,s,o,r=n[5]===1?"log":"logs",a,u,f,c,d,m,h,_,g,k,S;return{c(){e=b("div"),t=b("div"),i=Y("Selected "),l=b("strong"),s=Y(n[5]),o=M(),a=Y(r),u=M(),f=b("button"),f.innerHTML='Reset',c=M(),d=b("div"),m=M(),h=b("button"),h.innerHTML='Download as JSON',p(t,"class","txt"),p(f,"type","button"),p(f,"class","btn btn-xs btn-transparent btn-outline p-l-5 p-r-5"),p(d,"class","flex-fill"),p(h,"type","button"),p(h,"class","btn btn-sm"),p(e,"class","bulkbar svelte-91v05h")},m(T,$){w(T,e,$),y(e,t),y(t,i),y(t,l),y(l,s),y(t,o),y(t,a),y(e,u),y(e,f),y(e,c),y(e,d),y(e,m),y(e,h),g=!0,k||(S=[K(f,"click",n[27]),K(h,"click",n[14])],k=!0)},p(T,$){(!g||$[0]&32)&&le(s,T[5]),(!g||$[0]&32)&&r!==(r=T[5]===1?"log":"logs")&&le(a,r)},i(T){g||(T&&Ke(()=>{g&&(_||(_=Pe(e,jn,{duration:150,y:5},!0)),_.run(1))}),g=!0)},o(T){T&&(_||(_=Pe(e,jn,{duration:150,y:5},!1)),_.run(0)),g=!1},d(T){T&&v(e),T&&_&&_.end(),k=!1,we(S)}}}function Kv(n){let e,t,i,l,s;e=new Xo({props:{class:"table-wrapper",$$slots:{default:[Yv]},$$scope:{ctx:n}}});let o=n[3].length&&n[9]&&lf(n),r=n[5]&&sf(n);return{c(){V(e.$$.fragment),t=M(),o&&o.c(),i=M(),r&&r.c(),l=ke()},m(a,u){H(e,a,u),w(a,t,u),o&&o.m(a,u),w(a,i,u),r&&r.m(a,u),w(a,l,u),s=!0},p(a,u){const f={};u[0]&411|u[1]&256&&(f.$$scope={dirty:u,ctx:a}),e.$set(f),a[3].length&&a[9]?o?o.p(a,u):(o=lf(a),o.c(),o.m(i.parentNode,i)):o&&(o.d(1),o=null),a[5]?r?(r.p(a,u),u[0]&32&&A(r,1)):(r=sf(a),r.c(),A(r,1),r.m(l.parentNode,l)):r&&(oe(),I(r,1,1,()=>{r=null}),re())},i(a){s||(A(e.$$.fragment,a),A(r),s=!0)},o(a){I(e.$$.fragment,a),I(r),s=!1},d(a){a&&(v(t),v(i),v(l)),z(e,a),o&&o.d(a),r&&r.d(a)}}}const of=50,mr=/[-:\. ]/gi;function Jv(n){let e=[];if(!n.data)return e;if(n.data.type=="request"){const t=["status","execTime","auth","userIp"];for(let i of t)typeof n.data[i]<"u"&&e.push({key:i});n.data.referer&&!n.data.referer.includes(window.location.host)&&e.push({key:"referer"})}else{const t=Object.keys(n.data);for(const i of t)i!="error"&&i!="details"&&e.length<6&&e.push({key:i})}return n.data.error&&e.push({key:"error",label:"label-danger"}),n.data.details&&e.push({key:"details",label:"label-warning"}),e}function Zv(n,e,t){let i,l,s;const o=ot();let{filter:r=""}=e,{presets:a=""}=e,{sort:u="-rowid"}=e,f=[],c=1,d=0,m=!1,h=0,_={};async function g(B=1,U=!0){t(7,m=!0);const ae=[a,j.normalizeLogsFilter(r)].filter(Boolean).join("&&");return fe.logs.getList(B,of,{sort:u,skipTotal:1,filter:ae}).then(async x=>{if(B<=1&&k(),t(7,m=!1),t(6,c=x.page),t(16,d=x.items.length),o("load",f.concat(x.items)),U){const se=++h;for(;x.items.length&&h==se;){const De=x.items.splice(0,10);for(let je of De)j.pushOrReplaceByKey(f,je);t(3,f),await j.yieldToMain()}}else{for(let se of x.items)j.pushOrReplaceByKey(f,se);t(3,f)}}).catch(x=>{x!=null&&x.isAbort||(t(7,m=!1),console.warn(x),k(),fe.error(x,!ae||(x==null?void 0:x.status)!=400))})}function k(){t(3,f=[]),t(4,_={}),t(6,c=1),t(16,d=0)}function S(){s?T():$()}function T(){t(4,_={})}function $(){for(const B of f)t(4,_[B.id]=B,_);t(4,_)}function C(B){_[B.id]?delete _[B.id]:t(4,_[B.id]=B,_),t(4,_)}function D(){const B=Object.values(_).sort((x,se)=>x.createdse.created?-1:0);if(!B.length)return;if(B.length==1)return j.downloadJson(B[0],"log_"+B[0].created.replaceAll(mr,"")+".json");const U=B[0].created.replaceAll(mr,""),ae=B[B.length-1].created.replaceAll(mr,"");return j.downloadJson(B,`${B.length}_logs_${ae}_to_${U}.json`)}function O(B){Ae.call(this,n,B)}const E=()=>S();function L(B){u=B,t(1,u)}function F(B){u=B,t(1,u)}function P(B){u=B,t(1,u)}const N=B=>C(B),R=B=>o("select",B),q=(B,U)=>{U.code==="Enter"&&(U.preventDefault(),o("select",B))},W=()=>t(0,r=""),J=()=>g(c+1),G=()=>T();return n.$$set=B=>{"filter"in B&&t(0,r=B.filter),"presets"in B&&t(15,a=B.presets),"sort"in B&&t(1,u=B.sort)},n.$$.update=()=>{n.$$.dirty[0]&32771&&(typeof u<"u"||typeof r<"u"||typeof a<"u")&&(k(),g(1)),n.$$.dirty[0]&65536&&t(9,i=d>=of),n.$$.dirty[0]&16&&t(5,l=Object.keys(_).length),n.$$.dirty[0]&40&&t(8,s=f.length&&l===f.length)},[r,u,g,f,_,l,c,m,s,i,o,S,T,C,D,a,d,O,E,L,F,P,N,R,q,W,J,G]}class Gv extends ge{constructor(e){super(),_e(this,e,Zv,Kv,he,{filter:0,presets:15,sort:1,load:2},null,[-1,-1])}get load(){return this.$$.ctx[2]}}/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela @@ -45,7 +45,7 @@ var xb=Object.defineProperty;var e0=(n,e,t)=>e in n?xb(n,e,{enumerable:!0,config `),u=0;ur&&(f[d]=` `+f[d],c=m)}a[u]=f.join("")}return a.join(` `)}},n.exports&&(n.exports=t),Prism.plugins.NormalizeWhitespace=new t({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",function(o){var r=Prism.plugins.NormalizeWhitespace;if(!(o.settings&&o.settings["whitespace-normalization"]===!1)&&Prism.util.isActive(o.element,"whitespace-normalization",!0)){if((!o.element||!o.element.parentNode)&&o.code){o.code=r.normalize(o.code,o.settings);return}var a=o.element.parentNode;if(!(!o.code||!a||a.nodeName.toLowerCase()!=="pre")){o.settings==null&&(o.settings={});for(var u in s)if(Object.hasOwnProperty.call(s,u)){var f=s[u];if(a.hasAttribute("data-"+u))try{var c=JSON.parse(a.getAttribute("data-"+u)||"true");typeof c===f&&(o.settings[u]=c)}catch{}}for(var d=a.childNodes,m="",h="",_=!1,g=0;g>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),n.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:n.languages.dart}}},string:/[\s\S]+/}},string:void 0}),n.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),n.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":i,keyword:e,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(Prism);function wS(n){let e,t,i;return{c(){e=b("div"),t=b("code"),p(t,"class","svelte-10s5tkd"),p(e,"class",i="code-wrapper prism-light "+n[0]+" svelte-10s5tkd")},m(l,s){w(l,e,s),y(e,t),t.innerHTML=n[1]},p(l,[s]){s&2&&(t.innerHTML=l[1]),s&1&&i!==(i="code-wrapper prism-light "+l[0]+" svelte-10s5tkd")&&p(e,"class",i)},i:Q,o:Q,d(l){l&&v(e)}}}function SS(n,e,t){let{class:i=""}=e,{content:l=""}=e,{language:s="javascript"}=e,o="";function r(a){return a=typeof a=="string"?a:"",a=Yl.plugins.NormalizeWhitespace.normalize(a,{"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Yl.highlight(a,Yl.languages[s]||Yl.languages.javascript,s)}return n.$$set=a=>{"class"in a&&t(0,i=a.class),"content"in a&&t(2,l=a.content),"language"in a&&t(3,s=a.language)},n.$$.update=()=>{n.$$.dirty&4&&typeof Yl<"u"&&l&&t(1,o=r(l))},[i,o,l,s]}class Ja extends ge{constructor(e){super(),_e(this,e,SS,wS,he,{class:0,content:2,language:3})}}const $S=n=>({}),Cc=n=>({}),TS=n=>({}),Mc=n=>({});function Oc(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T=n[4]&&!n[2]&&Dc(n);const $=n[19].header,C=kt($,n,n[18],Mc);let D=n[4]&&n[2]&&Ec(n);const O=n[19].default,E=kt(O,n,n[18],null),L=n[19].footer,F=kt(L,n,n[18],Cc);return{c(){e=b("div"),t=b("div"),l=M(),s=b("div"),o=b("div"),T&&T.c(),r=M(),C&&C.c(),a=M(),D&&D.c(),u=M(),f=b("div"),E&&E.c(),c=M(),d=b("div"),F&&F.c(),p(t,"class","overlay"),p(o,"class","overlay-panel-section panel-header"),p(f,"class","overlay-panel-section panel-content"),p(d,"class","overlay-panel-section panel-footer"),p(s,"class",m="overlay-panel "+n[1]+" "+n[8]),ee(s,"popup",n[2]),p(e,"class","overlay-panel-container"),ee(e,"padded",n[2]),ee(e,"active",n[0])},m(P,N){w(P,e,N),y(e,t),y(e,l),y(e,s),y(s,o),T&&T.m(o,null),y(o,r),C&&C.m(o,null),y(o,a),D&&D.m(o,null),y(s,u),y(s,f),E&&E.m(f,null),n[21](f),y(s,c),y(s,d),F&&F.m(d,null),g=!0,k||(S=[K(t,"click",Ye(n[20])),K(f,"scroll",n[22])],k=!0)},p(P,N){n=P,n[4]&&!n[2]?T?(T.p(n,N),N[0]&20&&A(T,1)):(T=Dc(n),T.c(),A(T,1),T.m(o,r)):T&&(oe(),I(T,1,1,()=>{T=null}),re()),C&&C.p&&(!g||N[0]&262144)&&wt(C,$,n,n[18],g?vt($,n[18],N,TS):St(n[18]),Mc),n[4]&&n[2]?D?D.p(n,N):(D=Ec(n),D.c(),D.m(o,null)):D&&(D.d(1),D=null),E&&E.p&&(!g||N[0]&262144)&&wt(E,O,n,n[18],g?vt(O,n[18],N,null):St(n[18]),null),F&&F.p&&(!g||N[0]&262144)&&wt(F,L,n,n[18],g?vt(L,n[18],N,$S):St(n[18]),Cc),(!g||N[0]&258&&m!==(m="overlay-panel "+n[1]+" "+n[8]))&&p(s,"class",m),(!g||N[0]&262)&&ee(s,"popup",n[2]),(!g||N[0]&4)&&ee(e,"padded",n[2]),(!g||N[0]&1)&&ee(e,"active",n[0])},i(P){g||(P&&Ke(()=>{g&&(i||(i=Pe(t,fs,{duration:Si,opacity:0},!0)),i.run(1))}),A(T),A(C,P),A(E,P),A(F,P),P&&Ke(()=>{g&&(_&&_.end(1),h=Eg(s,jn,n[2]?{duration:Si,y:-10}:{duration:Si,x:50}),h.start())}),g=!0)},o(P){P&&(i||(i=Pe(t,fs,{duration:Si,opacity:0},!1)),i.run(0)),I(T),I(C,P),I(E,P),I(F,P),h&&h.invalidate(),P&&(_=_a(s,jn,n[2]?{duration:Si,y:10}:{duration:Si,x:50})),g=!1},d(P){P&&v(e),P&&i&&i.end(),T&&T.d(),C&&C.d(P),D&&D.d(),E&&E.d(P),n[21](null),F&&F.d(P),P&&_&&_.end(),k=!1,we(S)}}}function Dc(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","overlay-close")},m(o,r){w(o,e,r),i=!0,l||(s=K(e,"click",Ye(n[5])),l=!0)},p(o,r){n=o},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,fs,{duration:Si},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,fs,{duration:Si},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function Ec(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-sm btn-circle btn-transparent btn-close m-l-auto")},m(l,s){w(l,e,s),t||(i=K(e,"click",Ye(n[5])),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function CS(n){let e,t,i,l,s=n[0]&&Oc(n);return{c(){e=b("div"),s&&s.c(),p(e,"class","overlay-panel-wrapper"),p(e,"tabindex","-1")},m(o,r){w(o,e,r),s&&s.m(e,null),n[23](e),t=!0,i||(l=[K(window,"resize",n[10]),K(window,"keydown",n[9])],i=!0)},p(o,r){o[0]?s?(s.p(o,r),r[0]&1&&A(s,1)):(s=Oc(o),s.c(),A(s,1),s.m(e,null)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){t||(A(s),t=!0)},o(o){I(s),t=!1},d(o){o&&v(e),s&&s.d(),n[23](null),i=!1,we(l)}}}let Ui,Tr=[];function Db(){return Ui=Ui||document.querySelector(".overlays"),Ui||(Ui=document.createElement("div"),Ui.classList.add("overlays"),document.body.appendChild(Ui)),Ui}let Si=150;function Ac(){return 1e3+Db().querySelectorAll(".overlay-panel-container.active").length}function MS(n,e,t){let{$$slots:i={},$$scope:l}=e,{class:s=""}=e,{active:o=!1}=e,{popup:r=!1}=e,{overlayClose:a=!0}=e,{btnClose:u=!0}=e,{escClose:f=!0}=e,{beforeOpen:c=void 0}=e,{beforeHide:d=void 0}=e;const m=ot(),h="op_"+j.randomString(10);let _,g,k,S,T="",$=o;function C(){typeof c=="function"&&c()===!1||t(0,o=!0)}function D(){typeof d=="function"&&d()===!1||t(0,o=!1)}function O(){return o}async function E(U){t(17,$=U),U?(k=document.activeElement,m("show"),_==null||_.focus()):(clearTimeout(S),m("hide"),k==null||k.focus()),await Qt(),L()}function L(){_&&(o?t(6,_.style.zIndex=Ac(),_):t(6,_.style="",_))}function F(){j.pushUnique(Tr,h),document.body.classList.add("overlay-active")}function P(){j.removeByValue(Tr,h),Tr.length||document.body.classList.remove("overlay-active")}function N(U){o&&f&&U.code=="Escape"&&!j.isInput(U.target)&&_&&_.style.zIndex==Ac()&&(U.preventDefault(),D())}function R(U){o&&q(g)}function q(U,ae){ae&&t(8,T=""),!(!U||S)&&(S=setTimeout(()=>{if(clearTimeout(S),S=null,!U)return;if(U.scrollHeight-U.offsetHeight>0)t(8,T="scrollable");else{t(8,T="");return}U.scrollTop==0?t(8,T+=" scroll-top-reached"):U.scrollTop+U.offsetHeight==U.scrollHeight&&t(8,T+=" scroll-bottom-reached")},100))}Vt(()=>(Db().appendChild(_),()=>{var U;clearTimeout(S),P(),(U=_==null?void 0:_.classList)==null||U.add("hidden"),setTimeout(()=>{_==null||_.remove()},0)}));const W=()=>a?D():!0;function J(U){te[U?"unshift":"push"](()=>{g=U,t(7,g)})}const G=U=>q(U.target);function B(U){te[U?"unshift":"push"](()=>{_=U,t(6,_)})}return n.$$set=U=>{"class"in U&&t(1,s=U.class),"active"in U&&t(0,o=U.active),"popup"in U&&t(2,r=U.popup),"overlayClose"in U&&t(3,a=U.overlayClose),"btnClose"in U&&t(4,u=U.btnClose),"escClose"in U&&t(12,f=U.escClose),"beforeOpen"in U&&t(13,c=U.beforeOpen),"beforeHide"in U&&t(14,d=U.beforeHide),"$$scope"in U&&t(18,l=U.$$scope)},n.$$.update=()=>{n.$$.dirty[0]&131073&&$!=o&&E(o),n.$$.dirty[0]&128&&q(g,!0),n.$$.dirty[0]&64&&_&&L(),n.$$.dirty[0]&1&&(o?F():P())},[o,s,r,a,u,D,_,g,T,N,R,q,f,c,d,C,O,$,l,i,W,J,G,B]}class Xt extends ge{constructor(e){super(),_e(this,e,MS,CS,he,{class:1,active:0,popup:2,overlayClose:3,btnClose:4,escClose:12,beforeOpen:13,beforeHide:14,show:15,hide:5,isActive:16},null,[-1,-1])}get show(){return this.$$.ctx[15]}get hide(){return this.$$.ctx[5]}get isActive(){return this.$$.ctx[16]}}function OS(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class",t=n[2]?n[1]:n[0]),p(e,"aria-label","Copy")},m(o,r){w(o,e,r),l||(s=[ve(i=Le.call(null,e,n[2]?"":"Copy")),K(e,"click",fn(n[3]))],l=!0)},p(o,[r]){r&7&&t!==(t=o[2]?o[1]:o[0])&&p(e,"class",t),i&&$t(i.update)&&r&4&&i.update.call(null,o[2]?"":"Copy")},i:Q,o:Q,d(o){o&&v(e),l=!1,we(s)}}}function DS(n,e,t){let{value:i=""}=e,{idleClasses:l="ri-file-copy-line txt-sm link-hint"}=e,{successClasses:s="ri-check-line txt-sm txt-success"}=e,{successDuration:o=500}=e,r;function a(){i&&(j.copyToClipboard(i),clearTimeout(r),t(2,r=setTimeout(()=>{clearTimeout(r),t(2,r=null)},o)))}return Vt(()=>()=>{r&&clearTimeout(r)}),n.$$set=u=>{"value"in u&&t(4,i=u.value),"idleClasses"in u&&t(0,l=u.idleClasses),"successClasses"in u&&t(1,s=u.successClasses),"successDuration"in u&&t(5,o=u.successDuration)},[l,s,r,a,i,o]}class sl extends ge{constructor(e){super(),_e(this,e,DS,OS,he,{value:4,idleClasses:0,successClasses:1,successDuration:5})}}function Ic(n,e,t){const i=n.slice();i[16]=e[t];const l=i[1].data[i[16]];i[17]=l;const s=i[17]!==null&&typeof i[17]=="object";return i[18]=s,i}function ES(n){let e,t,i,l,s,o,r,a,u,f,c=n[1].id+"",d,m,h,_,g,k,S,T,$,C,D,O,E,L,F,P;a=new sl({props:{value:n[1].id}}),S=new V1({props:{level:n[1].level}}),E=new B1({props:{date:n[1].created}});let N=!n[4]&&Lc(n),R=pe(n[5](n[1].data)),q=[];for(let J=0;JI(q[J],1,1,()=>{q[J]=null});return{c(){e=b("table"),t=b("tbody"),i=b("tr"),l=b("td"),l.textContent="id",s=M(),o=b("td"),r=b("div"),V(a.$$.fragment),u=M(),f=b("div"),d=Y(c),m=M(),h=b("tr"),_=b("td"),_.textContent="level",g=M(),k=b("td"),V(S.$$.fragment),T=M(),$=b("tr"),C=b("td"),C.textContent="created",D=M(),O=b("td"),V(E.$$.fragment),L=M(),N&&N.c(),F=M();for(let J=0;J',p(e,"class","block txt-center")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function Lc(n){let e,t,i,l;function s(a,u){return a[1].message?LS:IS}let o=s(n),r=o(n);return{c(){e=b("tr"),t=b("td"),t.textContent="message",i=M(),l=b("td"),r.c(),p(t,"class","min-width txt-hint txt-bold")},m(a,u){w(a,e,u),y(e,t),y(e,i),y(e,l),r.m(l,null)},p(a,u){o===(o=s(a))&&r?r.p(a,u):(r.d(1),r=o(a),r&&(r.c(),r.m(l,null)))},d(a){a&&v(e),r.d()}}}function IS(n){let e;return{c(){e=b("span"),e.textContent="N/A",p(e,"class","txt txt-hint")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function LS(n){let e,t=n[1].message+"",i;return{c(){e=b("span"),i=Y(t),p(e,"class","txt")},m(l,s){w(l,e,s),y(e,i)},p(l,s){s&2&&t!==(t=l[1].message+"")&&le(i,t)},d(l){l&&v(e)}}}function PS(n){let e,t=n[17]+"",i,l=n[4]&&n[16]=="execTime"?"ms":"",s;return{c(){e=b("span"),i=Y(t),s=Y(l),p(e,"class","txt")},m(o,r){w(o,e,r),y(e,i),y(e,s)},p(o,r){r&2&&t!==(t=o[17]+"")&&le(i,t),r&18&&l!==(l=o[4]&&o[16]=="execTime"?"ms":"")&&le(s,l)},i:Q,o:Q,d(o){o&&v(e)}}}function NS(n){let e,t;return e=new Ja({props:{content:n[17],language:"html"}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.content=i[17]),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function FS(n){let e,t=n[17]+"",i;return{c(){e=b("span"),i=Y(t),p(e,"class","label label-danger log-error-label svelte-144j2mz")},m(l,s){w(l,e,s),y(e,i)},p(l,s){s&2&&t!==(t=l[17]+"")&&le(i,t)},i:Q,o:Q,d(l){l&&v(e)}}}function RS(n){let e,t;return e=new Ja({props:{content:JSON.stringify(n[17],null,2)}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.content=JSON.stringify(i[17],null,2)),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function qS(n){let e;return{c(){e=b("span"),e.textContent="N/A",p(e,"class","txt txt-hint")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function Pc(n){let e,t,i,l=n[16]+"",s,o,r,a,u,f,c,d;const m=[qS,RS,FS,NS,PS],h=[];function _(g,k){return k&2&&(a=null),a==null&&(a=!!j.isEmpty(g[17])),a?0:g[18]?1:g[16]=="error"?2:g[16]=="details"?3:4}return u=_(n,-1),f=h[u]=m[u](n),{c(){e=b("tr"),t=b("td"),i=Y("data."),s=Y(l),o=M(),r=b("td"),f.c(),c=M(),p(t,"class","min-width txt-hint txt-bold"),ee(t,"v-align-top",n[18])},m(g,k){w(g,e,k),y(e,t),y(t,i),y(t,s),y(e,o),y(e,r),h[u].m(r,null),y(e,c),d=!0},p(g,k){(!d||k&2)&&l!==(l=g[16]+"")&&le(s,l),(!d||k&34)&&ee(t,"v-align-top",g[18]);let S=u;u=_(g,k),u===S?h[u].p(g,k):(oe(),I(h[S],1,1,()=>{h[S]=null}),re(),f=h[u],f?f.p(g,k):(f=h[u]=m[u](g),f.c()),A(f,1),f.m(r,null))},i(g){d||(A(f),d=!0)},o(g){I(f),d=!1},d(g){g&&v(e),h[u].d()}}}function jS(n){let e,t,i,l;const s=[AS,ES],o=[];function r(a,u){var f;return a[3]?0:(f=a[1])!=null&&f.id?1:-1}return~(e=r(n))&&(t=o[e]=s[e](n)),{c(){t&&t.c(),i=ke()},m(a,u){~e&&o[e].m(a,u),w(a,i,u),l=!0},p(a,u){let f=e;e=r(a),e===f?~e&&o[e].p(a,u):(t&&(oe(),I(o[f],1,1,()=>{o[f]=null}),re()),~e?(t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i)):t=null)},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),~e&&o[e].d(a)}}}function HS(n){let e;return{c(){e=b("h4"),e.textContent="Request log"},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function zS(n){let e,t,i,l,s,o,r,a;return{c(){e=b("button"),e.innerHTML='Close',t=M(),i=b("button"),l=b("i"),s=M(),o=b("span"),o.textContent="Download as JSON",p(e,"type","button"),p(e,"class","btn btn-transparent"),p(l,"class","ri-download-line"),p(o,"class","txt"),p(i,"type","button"),p(i,"class","btn btn-primary"),i.disabled=n[3]},m(u,f){w(u,e,f),w(u,t,f),w(u,i,f),y(i,l),y(i,s),y(i,o),r||(a=[K(e,"click",n[9]),K(i,"click",n[10])],r=!0)},p(u,f){f&8&&(i.disabled=u[3])},d(u){u&&(v(e),v(t),v(i)),r=!1,we(a)}}}function VS(n){let e,t,i={class:"overlay-panel-lg log-panel",$$slots:{footer:[zS],header:[HS],default:[jS]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[11](e),e.$on("hide",n[7]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&2097178&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[11](null),z(e,l)}}}const Nc="log_view";function BS(n,e,t){let i;const l=ot();let s,o={},r=!1;function a(T){return f(T).then($=>{t(1,o=$),h()}),s==null?void 0:s.show()}function u(){return fe.cancelRequest(Nc),s==null?void 0:s.hide()}async function f(T){if(T&&typeof T!="string")return t(3,r=!1),T;t(3,r=!0);let $={};try{$=await fe.logs.getOne(T,{requestKey:Nc})}catch(C){C.isAbort||(u(),console.warn("resolveModel:",C),ni(`Unable to load log with id "${T}"`))}return t(3,r=!1),$}const c=["execTime","type","auth","status","method","url","referer","remoteIp","userIp","userAgent","error","details"];function d(T){if(!T)return[];let $=[];for(let D of c)typeof T[D]<"u"&&$.push(D);const C=Object.keys(T);for(let D of C)$.includes(D)||$.push(D);return $}function m(){j.downloadJson(o,"log_"+o.created.replaceAll(/[-:\. ]/gi,"")+".json")}function h(){l("show",o)}function _(){l("hide",o),t(1,o={})}const g=()=>u(),k=()=>m();function S(T){te[T?"unshift":"push"](()=>{s=T,t(2,s)})}return n.$$.update=()=>{var T;n.$$.dirty&2&&t(4,i=((T=o.data)==null?void 0:T.type)=="request")},[u,o,s,r,i,d,m,_,a,g,k,S]}class US extends ge{constructor(e){super(),_e(this,e,BS,VS,he,{show:8,hide:0})}get show(){return this.$$.ctx[8]}get hide(){return this.$$.ctx[0]}}function WS(n,e,t){const i=n.slice();return i[1]=e[t],i}function YS(n){let e;return{c(){e=b("code"),e.textContent=`${n[1].level}:${n[1].label}`,p(e,"class","txt-xs")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function KS(n){let e,t,i,l=pe(R1),s=[];for(let o=0;o{"class"in l&&t(0,i=l.class)},[i]}class Eb extends ge{constructor(e){super(),_e(this,e,JS,KS,he,{class:0})}}function ZS(n){let e,t,i,l,s,o,r,a,u;return t=new me({props:{class:"form-field required",name:"logs.maxDays",$$slots:{default:[XS,({uniqueId:f})=>({22:f}),({uniqueId:f})=>f?4194304:0]},$$scope:{ctx:n}}}),l=new me({props:{class:"form-field",name:"logs.minLevel",$$slots:{default:[QS,({uniqueId:f})=>({22:f}),({uniqueId:f})=>f?4194304:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field form-field-toggle",name:"logs.logIp",$$slots:{default:[xS,({uniqueId:f})=>({22:f}),({uniqueId:f})=>f?4194304:0]},$$scope:{ctx:n}}}),{c(){e=b("form"),V(t.$$.fragment),i=M(),V(l.$$.fragment),s=M(),V(o.$$.fragment),p(e,"id",n[6]),p(e,"class","grid"),p(e,"autocomplete","off")},m(f,c){w(f,e,c),H(t,e,null),y(e,i),H(l,e,null),y(e,s),H(o,e,null),r=!0,a||(u=K(e,"submit",Ye(n[7])),a=!0)},p(f,c){const d={};c&12582914&&(d.$$scope={dirty:c,ctx:f}),t.$set(d);const m={};c&12582914&&(m.$$scope={dirty:c,ctx:f}),l.$set(m);const h={};c&12582914&&(h.$$scope={dirty:c,ctx:f}),o.$set(h)},i(f){r||(A(t.$$.fragment,f),A(l.$$.fragment,f),A(o.$$.fragment,f),r=!0)},o(f){I(t.$$.fragment,f),I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&v(e),z(t),z(l),z(o),a=!1,u()}}}function GS(n){let e;return{c(){e=b("div"),e.innerHTML='
',p(e,"class","block txt-center")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function XS(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=Y("Max days retention"),l=M(),s=b("input"),r=M(),a=b("div"),a.innerHTML="Set to 0 to disable logs persistence.",p(e,"for",i=n[22]),p(s,"type","number"),p(s,"id",o=n[22]),s.required=!0,p(a,"class","help-block")},m(c,d){w(c,e,d),y(e,t),w(c,l,d),w(c,s,d),ue(s,n[1].logs.maxDays),w(c,r,d),w(c,a,d),u||(f=K(s,"input",n[11]),u=!0)},p(c,d){d&4194304&&i!==(i=c[22])&&p(e,"for",i),d&4194304&&o!==(o=c[22])&&p(s,"id",o),d&2&&st(s.value)!==c[1].logs.maxDays&&ue(s,c[1].logs.maxDays)},d(c){c&&(v(e),v(l),v(s),v(r),v(a)),u=!1,f()}}}function QS(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;return f=new Eb({}),{c(){e=b("label"),t=Y("Min log level"),l=M(),s=b("input"),o=M(),r=b("div"),a=b("p"),a.textContent="Logs with level below the minimum will be ignored.",u=M(),V(f.$$.fragment),p(e,"for",i=n[22]),p(s,"type","number"),s.required=!0,p(s,"min","-100"),p(s,"max","100"),p(r,"class","help-block")},m(h,_){w(h,e,_),y(e,t),w(h,l,_),w(h,s,_),ue(s,n[1].logs.minLevel),w(h,o,_),w(h,r,_),y(r,a),y(r,u),H(f,r,null),c=!0,d||(m=K(s,"input",n[12]),d=!0)},p(h,_){(!c||_&4194304&&i!==(i=h[22]))&&p(e,"for",i),_&2&&st(s.value)!==h[1].logs.minLevel&&ue(s,h[1].logs.minLevel)},i(h){c||(A(f.$$.fragment,h),c=!0)},o(h){I(f.$$.fragment,h),c=!1},d(h){h&&(v(e),v(l),v(s),v(o),v(r)),z(f),d=!1,m()}}}function xS(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable IP logging"),p(e,"type","checkbox"),p(e,"id",t=n[22]),p(l,"for",o=n[22])},m(u,f){w(u,e,f),e.checked=n[1].logs.logIp,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[13]),r=!0)},p(u,f){f&4194304&&t!==(t=u[22])&&p(e,"id",t),f&2&&(e.checked=u[1].logs.logIp),f&4194304&&o!==(o=u[22])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function e$(n){let e,t,i,l;const s=[GS,ZS],o=[];function r(a,u){return a[4]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,u){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}function t$(n){let e;return{c(){e=b("h4"),e.textContent="Logs settings"},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function n$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("button"),t=b("span"),t.textContent="Cancel",i=M(),l=b("button"),s=b("span"),s.textContent="Save changes",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[3],p(s,"class","txt"),p(l,"type","submit"),p(l,"form",n[6]),p(l,"class","btn btn-expanded"),l.disabled=o=!n[5]||n[3],ee(l,"btn-loading",n[3])},m(u,f){w(u,e,f),y(e,t),w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"click",n[0]),r=!0)},p(u,f){f&8&&(e.disabled=u[3]),f&40&&o!==(o=!u[5]||u[3])&&(l.disabled=o),f&8&&ee(l,"btn-loading",u[3])},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function i$(n){let e,t,i={popup:!0,class:"admin-panel",beforeHide:n[14],$$slots:{footer:[n$],header:[t$],default:[e$]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[15](e),e.$on("hide",n[16]),e.$on("show",n[17]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&8&&(o.beforeHide=l[14]),s&8388666&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[15](null),z(e,l)}}}function l$(n,e,t){let i,l;const s=ot(),o="logs_settings_"+j.randomString(3);let r,a=!1,u=!1,f={},c={};function d(){return h(),_(),r==null?void 0:r.show()}function m(){return r==null?void 0:r.hide()}function h(){Gt(),t(9,f={}),t(1,c=JSON.parse(JSON.stringify(f||{})))}async function _(){t(4,u=!0);try{const L=await fe.settings.getAll()||{};k(L)}catch(L){fe.error(L)}t(4,u=!1)}async function g(){if(l){t(3,a=!0);try{const L=await fe.settings.update(j.filterRedactedProps(c));k(L),t(3,a=!1),m(),It("Successfully saved logs settings."),s("save",L)}catch(L){t(3,a=!1),fe.error(L)}}}function k(L={}){t(1,c={logs:(L==null?void 0:L.logs)||{}}),t(9,f=JSON.parse(JSON.stringify(c)))}function S(){c.logs.maxDays=st(this.value),t(1,c)}function T(){c.logs.minLevel=st(this.value),t(1,c)}function $(){c.logs.logIp=this.checked,t(1,c)}const C=()=>!a;function D(L){te[L?"unshift":"push"](()=>{r=L,t(2,r)})}function O(L){Ae.call(this,n,L)}function E(L){Ae.call(this,n,L)}return n.$$.update=()=>{n.$$.dirty&512&&t(10,i=JSON.stringify(f)),n.$$.dirty&1026&&t(5,l=i!=JSON.stringify(c))},[m,c,r,a,u,l,o,g,d,f,i,S,T,$,C,D,O,E]}class s$ extends ge{constructor(e){super(),_e(this,e,l$,i$,he,{show:8,hide:0})}get show(){return this.$$.ctx[8]}get hide(){return this.$$.ctx[0]}}function o$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Include requests by admins"),p(e,"type","checkbox"),p(e,"id",t=n[22]),p(l,"for",o=n[22])},m(u,f){w(u,e,f),e.checked=n[2],w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[11]),r=!0)},p(u,f){f&4194304&&t!==(t=u[22])&&p(e,"id",t),f&4&&(e.checked=u[2]),f&4194304&&o!==(o=u[22])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function Fc(n){let e,t;return e=new bS({props:{filter:n[1],presets:n[5]}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.filter=i[1]),l&32&&(s.presets=i[5]),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function Rc(n){let e,t,i;function l(o){n[13](o)}let s={presets:n[5]};return n[1]!==void 0&&(s.filter=n[1]),e=new Gv({props:s}),te.push(()=>be(e,"filter",l)),e.$on("select",n[14]),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};r&32&&(a.presets=o[5]),!t&&r&2&&(t=!0,a.filter=o[1],ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function r$(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$=n[4],C,D=n[4],O,E,L,F;u=new Go({}),u.$on("refresh",n[10]),h=new me({props:{class:"form-field form-field-toggle m-0",$$slots:{default:[o$,({uniqueId:R})=>({22:R}),({uniqueId:R})=>R?4194304:0]},$$scope:{ctx:n}}}),g=new Ms({props:{value:n[1],placeholder:"Search term or filter like `level > 0 && data.auth = 'guest'`",extraAutocompleteKeys:["level","message","data."]}}),g.$on("submit",n[12]),S=new Eb({props:{class:"block txt-sm txt-hint m-t-xs m-b-base"}});let P=Fc(n),N=Rc(n);return{c(){e=b("div"),t=b("header"),i=b("nav"),l=b("div"),s=Y(n[6]),o=M(),r=b("button"),r.innerHTML='',a=M(),V(u.$$.fragment),f=M(),c=b("div"),d=M(),m=b("div"),V(h.$$.fragment),_=M(),V(g.$$.fragment),k=M(),V(S.$$.fragment),T=M(),P.c(),C=M(),N.c(),O=ke(),p(l,"class","breadcrumb-item"),p(i,"class","breadcrumbs"),p(r,"type","button"),p(r,"aria-label","Logs settings"),p(r,"class","btn btn-transparent btn-circle"),p(c,"class","flex-fill"),p(m,"class","inline-flex"),p(t,"class","page-header"),p(e,"class","page-header-wrapper m-b-0")},m(R,q){w(R,e,q),y(e,t),y(t,i),y(i,l),y(l,s),y(t,o),y(t,r),y(t,a),H(u,t,null),y(t,f),y(t,c),y(t,d),y(t,m),H(h,m,null),y(e,_),H(g,e,null),y(e,k),H(S,e,null),y(e,T),P.m(e,null),w(R,C,q),N.m(R,q),w(R,O,q),E=!0,L||(F=[ve(Le.call(null,r,{text:"Logs settings",position:"right"})),K(r,"click",n[9])],L=!0)},p(R,q){(!E||q&64)&&le(s,R[6]);const W={};q&12582916&&(W.$$scope={dirty:q,ctx:R}),h.$set(W);const J={};q&2&&(J.value=R[1]),g.$set(J),q&16&&he($,$=R[4])?(oe(),I(P,1,1,Q),re(),P=Fc(R),P.c(),A(P,1),P.m(e,null)):P.p(R,q),q&16&&he(D,D=R[4])?(oe(),I(N,1,1,Q),re(),N=Rc(R),N.c(),A(N,1),N.m(O.parentNode,O)):N.p(R,q)},i(R){E||(A(u.$$.fragment,R),A(h.$$.fragment,R),A(g.$$.fragment,R),A(S.$$.fragment,R),A(P),A(N),E=!0)},o(R){I(u.$$.fragment,R),I(h.$$.fragment,R),I(g.$$.fragment,R),I(S.$$.fragment,R),I(P),I(N),E=!1},d(R){R&&(v(e),v(C),v(O)),z(u),z(h),z(g),z(S),P.d(R),N.d(R),L=!1,we(F)}}}function a$(n){let e,t,i,l,s,o;e=new gn({props:{$$slots:{default:[r$]},$$scope:{ctx:n}}});let r={};i=new US({props:r}),n[15](i),i.$on("show",n[16]),i.$on("hide",n[17]);let a={};return s=new s$({props:a}),n[18](s),s.$on("save",n[7]),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),V(s.$$.fragment)},m(u,f){H(e,u,f),w(u,t,f),H(i,u,f),w(u,l,f),H(s,u,f),o=!0},p(u,[f]){const c={};f&8388735&&(c.$$scope={dirty:f,ctx:u}),e.$set(c);const d={};i.$set(d);const m={};s.$set(m)},i(u){o||(A(e.$$.fragment,u),A(i.$$.fragment,u),A(s.$$.fragment,u),o=!0)},o(u){I(e.$$.fragment,u),I(i.$$.fragment,u),I(s.$$.fragment,u),o=!1},d(u){u&&(v(t),v(l)),z(e,u),n[15](null),z(i,u),n[18](null),z(s,u)}}}const to="logId",qc="adminRequests",jc="adminLogRequests";function u$(n,e,t){var L;let i,l,s;We(n,Vo,F=>t(19,l=F)),We(n,Dt,F=>t(6,s=F)),tn(Dt,s="Logs",s);const o=new URLSearchParams(l);let r,a,u=1,f=o.get("filter")||"",c=(o.get(qc)||((L=window.localStorage)==null?void 0:L.getItem(jc)))<<0,d=c;function m(){t(4,u++,u)}function h(F={}){let P={};P.filter=f||null,P[qc]=c<<0||null,j.replaceHashQueryParams(Object.assign(P,F))}const _=()=>a==null?void 0:a.show(),g=()=>m();function k(){c=this.checked,t(2,c)}const S=F=>t(1,f=F.detail);function T(F){f=F,t(1,f)}const $=F=>r==null?void 0:r.show(F==null?void 0:F.detail);function C(F){te[F?"unshift":"push"](()=>{r=F,t(0,r)})}const D=F=>{var N;let P={};P[to]=((N=F.detail)==null?void 0:N.id)||null,j.replaceHashQueryParams(P)},O=()=>{let F={};F[to]=null,j.replaceHashQueryParams(F)};function E(F){te[F?"unshift":"push"](()=>{a=F,t(3,a)})}return n.$$.update=()=>{var F;n.$$.dirty&1&&o.get(to)&&r&&r.show(o.get(to)),n.$$.dirty&4&&t(5,i=c?"":'data.auth!="admin"'),n.$$.dirty&260&&d!=c&&(t(8,d=c),(F=window.localStorage)==null||F.setItem(jc,c<<0),h()),n.$$.dirty&2&&typeof f<"u"&&h()},[r,f,c,a,u,i,s,m,d,_,g,k,S,T,$,C,D,O,E]}class f$ extends ge{constructor(e){super(),_e(this,e,u$,a$,he,{})}}function c$(n){let e,t,i;return{c(){e=b("span"),p(e,"class","dragline svelte-1g2t3dj"),ee(e,"dragging",n[1])},m(l,s){w(l,e,s),n[4](e),t||(i=[K(e,"mousedown",n[5]),K(e,"touchstart",n[2])],t=!0)},p(l,[s]){s&2&&ee(e,"dragging",l[1])},i:Q,o:Q,d(l){l&&v(e),n[4](null),t=!1,we(i)}}}function d$(n,e,t){const i=ot();let{tolerance:l=0}=e,s,o=0,r=0,a=0,u=0,f=!1;function c(g){g.stopPropagation(),o=g.clientX,r=g.clientY,a=g.clientX-s.offsetLeft,u=g.clientY-s.offsetTop,document.addEventListener("touchmove",m),document.addEventListener("mousemove",m),document.addEventListener("touchend",d),document.addEventListener("mouseup",d)}function d(g){f&&(g.preventDefault(),t(1,f=!1),s.classList.remove("no-pointer-events"),i("dragstop",{event:g,elem:s})),document.removeEventListener("touchmove",m),document.removeEventListener("mousemove",m),document.removeEventListener("touchend",d),document.removeEventListener("mouseup",d)}function m(g){let k=g.clientX-o,S=g.clientY-r,T=g.clientX-a,$=g.clientY-u;!f&&Math.abs(T-s.offsetLeft){s=g,t(0,s)})}const _=g=>{g.button==0&&c(g)};return n.$$set=g=>{"tolerance"in g&&t(3,l=g.tolerance)},[s,f,c,l,h,_]}class p$ extends ge{constructor(e){super(),_e(this,e,d$,c$,he,{tolerance:3})}}function m$(n){let e,t,i,l,s;const o=n[5].default,r=kt(o,n,n[4],null);return l=new p$({}),l.$on("dragstart",n[7]),l.$on("dragging",n[8]),l.$on("dragstop",n[9]),{c(){e=b("aside"),r&&r.c(),i=M(),V(l.$$.fragment),p(e,"class",t="page-sidebar "+n[0])},m(a,u){w(a,e,u),r&&r.m(e,null),n[6](e),w(a,i,u),H(l,a,u),s=!0},p(a,[u]){r&&r.p&&(!s||u&16)&&wt(r,o,a,a[4],s?vt(o,a[4],u,null):St(a[4]),null),(!s||u&1&&t!==(t="page-sidebar "+a[0]))&&p(e,"class",t)},i(a){s||(A(r,a),A(l.$$.fragment,a),s=!0)},o(a){I(r,a),I(l.$$.fragment,a),s=!1},d(a){a&&(v(e),v(i)),r&&r.d(a),n[6](null),z(l,a)}}}const Hc="@adminSidebarWidth";function h$(n,e,t){let{$$slots:i={},$$scope:l}=e,{class:s=""}=e,o,r,a=localStorage.getItem(Hc)||null;function u(m){te[m?"unshift":"push"](()=>{o=m,t(1,o),t(2,a)})}const f=()=>{t(3,r=o.offsetWidth)},c=m=>{t(2,a=r+m.detail.diffX+"px")},d=()=>{j.triggerResize()};return n.$$set=m=>{"class"in m&&t(0,s=m.class),"$$scope"in m&&t(4,l=m.$$scope)},n.$$.update=()=>{n.$$.dirty&6&&a&&o&&(t(1,o.style.width=a,o),localStorage.setItem(Hc,a))},[s,o,a,r,l,i,u,f,c,d]}class Ab extends ge{constructor(e){super(),_e(this,e,h$,m$,he,{class:0})}}const Za=Dn({});function an(n,e,t){Za.set({text:n,yesCallback:e,noCallback:t})}function Ib(){Za.set({})}function zc(n){let e,t,i;const l=n[17].default,s=kt(l,n,n[16],null);return{c(){e=b("div"),s&&s.c(),p(e,"class",n[1]),ee(e,"active",n[0])},m(o,r){w(o,e,r),s&&s.m(e,null),n[18](e),i=!0},p(o,r){s&&s.p&&(!i||r&65536)&&wt(s,l,o,o[16],i?vt(l,o[16],r,null):St(o[16]),null),(!i||r&2)&&p(e,"class",o[1]),(!i||r&3)&&ee(e,"active",o[0])},i(o){i||(A(s,o),o&&Ke(()=>{i&&(t||(t=Pe(e,jn,{duration:150,y:3},!0)),t.run(1))}),i=!0)},o(o){I(s,o),o&&(t||(t=Pe(e,jn,{duration:150,y:3},!1)),t.run(0)),i=!1},d(o){o&&v(e),s&&s.d(o),n[18](null),o&&t&&t.end()}}}function _$(n){let e,t,i,l,s=n[0]&&zc(n);return{c(){e=b("div"),s&&s.c(),p(e,"class","toggler-container"),p(e,"tabindex","-1")},m(o,r){w(o,e,r),s&&s.m(e,null),n[19](e),t=!0,i||(l=[K(window,"mousedown",n[5]),K(window,"click",n[6]),K(window,"keydown",n[4]),K(window,"focusin",n[7])],i=!0)},p(o,[r]){o[0]?s?(s.p(o,r),r&1&&A(s,1)):(s=zc(o),s.c(),A(s,1),s.m(e,null)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){t||(A(s),t=!0)},o(o){I(s),t=!1},d(o){o&&v(e),s&&s.d(),n[19](null),i=!1,we(l)}}}function g$(n,e,t){let{$$slots:i={},$$scope:l}=e,{trigger:s=void 0}=e,{active:o=!1}=e,{escClose:r=!0}=e,{autoScroll:a=!0}=e,{closableClass:u="closable"}=e,{class:f=""}=e,c,d,m,h,_=!1;const g=ot();function k(){t(0,o=!1),_=!1,clearTimeout(h)}function S(){t(0,o=!0),clearTimeout(h),h=setTimeout(()=>{a&&(d!=null&&d.scrollIntoViewIfNeeded?d==null||d.scrollIntoViewIfNeeded():d!=null&&d.scrollIntoView&&(d==null||d.scrollIntoView({behavior:"smooth",block:"nearest"})))},180)}function T(){o?k():S()}function $(W){return!c||W.classList.contains(u)||(m==null?void 0:m.contains(W))&&!c.contains(W)||c.contains(W)&&W.closest&&W.closest("."+u)}function C(W){(!o||$(W.target))&&(W.preventDefault(),W.stopPropagation(),T())}function D(W){(W.code==="Enter"||W.code==="Space")&&(!o||$(W.target))&&(W.preventDefault(),W.stopPropagation(),T())}function O(W){o&&r&&W.code==="Escape"&&(W.preventDefault(),k())}function E(W){o&&!(c!=null&&c.contains(W.target))?_=!0:_&&(_=!1)}function L(W){var J;o&&_&&!(c!=null&&c.contains(W.target))&&!(m!=null&&m.contains(W.target))&&!((J=W.target)!=null&&J.closest(".flatpickr-calendar"))&&k()}function F(W){E(W),L(W)}function P(W){N(),c==null||c.addEventListener("click",C),t(15,m=W||(c==null?void 0:c.parentNode)),m==null||m.addEventListener("click",C),m==null||m.addEventListener("keydown",D)}function N(){clearTimeout(h),c==null||c.removeEventListener("click",C),m==null||m.removeEventListener("click",C),m==null||m.removeEventListener("keydown",D)}Vt(()=>(P(),()=>N()));function R(W){te[W?"unshift":"push"](()=>{d=W,t(3,d)})}function q(W){te[W?"unshift":"push"](()=>{c=W,t(2,c)})}return n.$$set=W=>{"trigger"in W&&t(8,s=W.trigger),"active"in W&&t(0,o=W.active),"escClose"in W&&t(9,r=W.escClose),"autoScroll"in W&&t(10,a=W.autoScroll),"closableClass"in W&&t(11,u=W.closableClass),"class"in W&&t(1,f=W.class),"$$scope"in W&&t(16,l=W.$$scope)},n.$$.update=()=>{var W,J;n.$$.dirty&260&&c&&P(s),n.$$.dirty&32769&&(o?((W=m==null?void 0:m.classList)==null||W.add("active"),g("show")):((J=m==null?void 0:m.classList)==null||J.remove("active"),g("hide")))},[o,f,c,d,O,E,L,F,s,r,a,u,k,S,T,m,l,i,R,q]}class En extends ge{constructor(e){super(),_e(this,e,g$,_$,he,{trigger:8,active:0,escClose:9,autoScroll:10,closableClass:11,class:1,hide:12,show:13,toggle:14})}get hide(){return this.$$.ctx[12]}get show(){return this.$$.ctx[13]}get toggle(){return this.$$.ctx[14]}}function Vc(n,e,t){const i=n.slice();return i[27]=e[t],i}function b$(n){let e,t,i,l,s,o,r,a,u;return{c(){e=b("input"),l=M(),s=b("label"),o=Y("Unique"),p(e,"type","checkbox"),p(e,"id",t=n[30]),e.checked=i=n[3].unique,p(s,"for",r=n[30])},m(f,c){w(f,e,c),w(f,l,c),w(f,s,c),y(s,o),a||(u=K(e,"change",n[19]),a=!0)},p(f,c){c[0]&1073741824&&t!==(t=f[30])&&p(e,"id",t),c[0]&8&&i!==(i=f[3].unique)&&(e.checked=i),c[0]&1073741824&&r!==(r=f[30])&&p(s,"for",r)},d(f){f&&(v(e),v(l),v(s)),a=!1,u()}}}function y$(n){let e,t,i,l;function s(a){n[20](a)}var o=n[7];function r(a,u){var c;let f={id:a[30],placeholder:`eg. CREATE INDEX idx_test on ${(c=a[0])==null?void 0:c.name} (created)`,language:"sql-create-index",minHeight:"85"};return a[2]!==void 0&&(f.value=a[2]),{props:f}}return o&&(e=Ot(o,r(n)),te.push(()=>be(e,"value",s))),{c(){e&&V(e.$$.fragment),i=ke()},m(a,u){e&&H(e,a,u),w(a,i,u),l=!0},p(a,u){var f;if(u[0]&128&&o!==(o=a[7])){if(e){oe();const c=e;I(c.$$.fragment,1,0,()=>{z(c,1)}),re()}o?(e=Ot(o,r(a)),te.push(()=>be(e,"value",s)),V(e.$$.fragment),A(e.$$.fragment,1),H(e,i.parentNode,i)):e=null}else if(o){const c={};u[0]&1073741824&&(c.id=a[30]),u[0]&1&&(c.placeholder=`eg. CREATE INDEX idx_test on ${(f=a[0])==null?void 0:f.name} (created)`),!t&&u[0]&4&&(t=!0,c.value=a[2],ye(()=>t=!1)),e.$set(c)}},i(a){l||(e&&A(e.$$.fragment,a),l=!0)},o(a){e&&I(e.$$.fragment,a),l=!1},d(a){a&&v(i),e&&z(e,a)}}}function k$(n){let e;return{c(){e=b("textarea"),e.disabled=!0,p(e,"rows","7"),p(e,"placeholder","Loading...")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function v$(n){let e,t,i,l;const s=[k$,y$],o=[];function r(a,u){return a[8]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,u){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}function Bc(n){let e,t,i,l=pe(n[10]),s=[];for(let o=0;o({30:a}),({uniqueId:a})=>[a?1073741824:0]]},$$scope:{ctx:n}}}),i=new me({props:{class:"form-field required m-b-sm",name:`indexes.${n[6]||""}`,$$slots:{default:[v$,({uniqueId:a})=>({30:a}),({uniqueId:a})=>[a?1073741824:0]]},$$scope:{ctx:n}}});let r=n[10].length>0&&Bc(n);return{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),r&&r.c(),s=ke()},m(a,u){H(e,a,u),w(a,t,u),H(i,a,u),w(a,l,u),r&&r.m(a,u),w(a,s,u),o=!0},p(a,u){const f={};u[0]&1073741837|u[1]&1&&(f.$$scope={dirty:u,ctx:a}),e.$set(f);const c={};u[0]&64&&(c.name=`indexes.${a[6]||""}`),u[0]&1073742213|u[1]&1&&(c.$$scope={dirty:u,ctx:a}),i.$set(c),a[10].length>0?r?r.p(a,u):(r=Bc(a),r.c(),r.m(s.parentNode,s)):r&&(r.d(1),r=null)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),o=!1},d(a){a&&(v(t),v(l),v(s)),z(e,a),z(i,a),r&&r.d(a)}}}function S$(n){let e,t=n[5]?"Update":"Create",i,l;return{c(){e=b("h4"),i=Y(t),l=Y(" index")},m(s,o){w(s,e,o),y(e,i),y(e,l)},p(s,o){o[0]&32&&t!==(t=s[5]?"Update":"Create")&&le(i,t)},d(s){s&&v(e)}}}function Wc(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-sm btn-circle btn-hint btn-transparent m-r-auto")},m(l,s){w(l,e,s),t||(i=[ve(Le.call(null,e,{text:"Delete",position:"top"})),K(e,"click",n[16])],t=!0)},p:Q,d(l){l&&v(e),t=!1,we(i)}}}function $$(n){let e,t,i,l,s,o,r=n[5]!=""&&Wc(n);return{c(){r&&r.c(),e=M(),t=b("button"),t.innerHTML='Cancel',i=M(),l=b("button"),l.innerHTML='Set index',p(t,"type","button"),p(t,"class","btn btn-transparent"),p(l,"type","button"),p(l,"class","btn"),ee(l,"btn-disabled",n[9].length<=0)},m(a,u){r&&r.m(a,u),w(a,e,u),w(a,t,u),w(a,i,u),w(a,l,u),s||(o=[K(t,"click",n[17]),K(l,"click",n[18])],s=!0)},p(a,u){a[5]!=""?r?r.p(a,u):(r=Wc(a),r.c(),r.m(e.parentNode,e)):r&&(r.d(1),r=null),u[0]&512&&ee(l,"btn-disabled",a[9].length<=0)},d(a){a&&(v(e),v(t),v(i),v(l)),r&&r.d(a),s=!1,we(o)}}}function T$(n){let e,t;const i=[{popup:!0},n[14]];let l={$$slots:{footer:[$$],header:[S$],default:[w$]},$$scope:{ctx:n}};for(let s=0;sB.name==W);G?j.removeByValue(J.columns,G):j.pushUnique(J.columns,{name:W}),t(2,d=j.buildIndex(J))}Vt(async()=>{t(8,_=!0);try{t(7,h=(await rt(()=>import("./CodeEditor-efd8db8b.js"),["./CodeEditor-efd8db8b.js","./index-9ee652b3.js"],import.meta.url)).default)}catch(W){console.warn(W)}t(8,_=!1)});const D=()=>T(),O=()=>k(),E=()=>$(),L=W=>{t(3,l.unique=W.target.checked,l),t(3,l.tableName=l.tableName||(u==null?void 0:u.name),l),t(2,d=j.buildIndex(l))};function F(W){d=W,t(2,d)}const P=W=>C(W);function N(W){te[W?"unshift":"push"](()=>{f=W,t(4,f)})}function R(W){Ae.call(this,n,W)}function q(W){Ae.call(this,n,W)}return n.$$set=W=>{e=Ne(Ne({},e),Kt(W)),t(14,r=Ge(e,o)),"collection"in W&&t(0,u=W.collection)},n.$$.update=()=>{var W,J,G;n.$$.dirty[0]&1&&t(10,i=(((J=(W=u==null?void 0:u.schema)==null?void 0:W.filter(B=>!B.toDelete))==null?void 0:J.map(B=>B.name))||[]).concat(["created","updated"])),n.$$.dirty[0]&4&&t(3,l=j.parseIndex(d)),n.$$.dirty[0]&8&&t(9,s=((G=l.columns)==null?void 0:G.map(B=>B.name))||[])},[u,k,d,l,f,c,m,h,_,s,i,T,$,C,r,g,D,O,E,L,F,P,N,R,q]}class M$ extends ge{constructor(e){super(),_e(this,e,C$,T$,he,{collection:0,show:15,hide:1},null,[-1,-1])}get show(){return this.$$.ctx[15]}get hide(){return this.$$.ctx[1]}}function Yc(n,e,t){const i=n.slice();i[10]=e[t],i[13]=t;const l=j.parseIndex(i[10]);return i[11]=l,i}function Kc(n){let e;return{c(){e=b("strong"),e.textContent="Unique:"},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function Jc(n){var d;let e,t,i,l=((d=n[11].columns)==null?void 0:d.map(Zc).join(", "))+"",s,o,r,a,u,f=n[11].unique&&Kc();function c(){return n[4](n[10],n[13])}return{c(){var m,h;e=b("button"),f&&f.c(),t=M(),i=b("span"),s=Y(l),p(i,"class","txt"),p(e,"type","button"),p(e,"class",o="label link-primary "+((h=(m=n[2].indexes)==null?void 0:m[n[13]])!=null&&h.message?"label-danger":"")+" svelte-167lbwu")},m(m,h){var _,g;w(m,e,h),f&&f.m(e,null),y(e,t),y(e,i),y(i,s),a||(u=[ve(r=Le.call(null,e,((g=(_=n[2].indexes)==null?void 0:_[n[13]])==null?void 0:g.message)||"")),K(e,"click",c)],a=!0)},p(m,h){var _,g,k,S,T;n=m,n[11].unique?f||(f=Kc(),f.c(),f.m(e,t)):f&&(f.d(1),f=null),h&1&&l!==(l=((_=n[11].columns)==null?void 0:_.map(Zc).join(", "))+"")&&le(s,l),h&4&&o!==(o="label link-primary "+((k=(g=n[2].indexes)==null?void 0:g[n[13]])!=null&&k.message?"label-danger":"")+" svelte-167lbwu")&&p(e,"class",o),r&&$t(r.update)&&h&4&&r.update.call(null,((T=(S=n[2].indexes)==null?void 0:S[n[13]])==null?void 0:T.message)||"")},d(m){m&&v(e),f&&f.d(),a=!1,we(u)}}}function O$(n){var $,C,D;let e,t,i=(((C=($=n[0])==null?void 0:$.indexes)==null?void 0:C.length)||0)+"",l,s,o,r,a,u,f,c,d,m,h,_,g=pe(((D=n[0])==null?void 0:D.indexes)||[]),k=[];for(let O=0;Obe(c,"collection",S)),c.$on("remove",n[8]),c.$on("submit",n[9]),{c(){e=b("div"),t=Y("Unique constraints and indexes ("),l=Y(i),s=Y(")"),o=M(),r=b("div");for(let O=0;O+ New index',f=M(),V(c.$$.fragment),p(e,"class","section-title"),p(u,"type","button"),p(u,"class","btn btn-xs btn-transparent btn-pill btn-outline"),p(r,"class","indexes-list svelte-167lbwu")},m(O,E){w(O,e,E),y(e,t),y(e,l),y(e,s),w(O,o,E),w(O,r,E);for(let L=0;Ld=!1)),c.$set(L)},i(O){m||(A(c.$$.fragment,O),m=!0)},o(O){I(c.$$.fragment,O),m=!1},d(O){O&&(v(e),v(o),v(r),v(f)),ut(k,O),n[6](null),z(c,O),h=!1,_()}}}const Zc=n=>n.name;function D$(n,e,t){let i;We(n,_i,m=>t(2,i=m));let{collection:l}=e,s;function o(m,h){for(let _=0;_s==null?void 0:s.show(m,h),a=()=>s==null?void 0:s.show();function u(m){te[m?"unshift":"push"](()=>{s=m,t(1,s)})}function f(m){l=m,t(0,l)}const c=m=>{for(let h=0;h{o(m.detail.old,m.detail.new)};return n.$$set=m=>{"collection"in m&&t(0,l=m.collection)},[l,s,i,o,r,a,u,f,c,d]}class E$ extends ge{constructor(e){super(),_e(this,e,D$,O$,he,{collection:0})}}function Gc(n,e,t){const i=n.slice();return i[6]=e[t],i}function Xc(n){let e,t,i,l,s,o,r;function a(){return n[4](n[6])}function u(...f){return n[5](n[6],...f)}return{c(){e=b("div"),t=b("i"),i=M(),l=b("span"),l.textContent=`${n[6].label}`,s=M(),p(t,"class","icon "+n[6].icon+" svelte-1gz9b6p"),p(l,"class","txt"),p(e,"tabindex","0"),p(e,"class","dropdown-item closable svelte-1gz9b6p")},m(f,c){w(f,e,c),y(e,t),y(e,i),y(e,l),y(e,s),o||(r=[K(e,"click",fn(a)),K(e,"keydown",fn(u))],o=!0)},p(f,c){n=f},d(f){f&&v(e),o=!1,we(r)}}}function A$(n){let e,t=pe(n[2]),i=[];for(let l=0;l{o(u.value)},a=(u,f)=>{(f.code==="Enter"||f.code==="Space")&&o(u.value)};return n.$$set=u=>{"class"in u&&t(0,i=u.class)},[i,l,s,o,r,a]}class P$ extends ge{constructor(e){super(),_e(this,e,L$,I$,he,{class:0})}}const N$=n=>({interactive:n&64,hasErrors:n&32}),Qc=n=>({interactive:n[6],hasErrors:n[5]}),F$=n=>({interactive:n&64,hasErrors:n&32}),xc=n=>({interactive:n[6],hasErrors:n[5]}),R$=n=>({interactive:n&64,hasErrors:n&32}),ed=n=>({interactive:n[6],hasErrors:n[5]});function td(n){let e;return{c(){e=b("div"),e.innerHTML='',p(e,"class","drag-handle-wrapper"),p(e,"draggable",!0),p(e,"aria-label","Sort")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function nd(n){let e,t,i;return{c(){e=b("div"),t=b("span"),i=Y(n[4]),p(t,"class","label label-success"),p(e,"class","field-labels")},m(l,s){w(l,e,s),y(e,t),y(t,i)},p(l,s){s&16&&le(i,l[4])},d(l){l&&v(e)}}}function q$(n){let e,t,i,l,s,o,r,a,u,f,c,d,m=n[0].required&&nd(n);return{c(){m&&m.c(),e=M(),t=b("div"),i=b("i"),s=M(),o=b("input"),p(i,"class",l=j.getFieldTypeIcon(n[0].type)),p(t,"class","form-field-addon prefix no-pointer-events field-type-icon"),ee(t,"txt-disabled",!n[6]),p(o,"type","text"),o.required=!0,o.disabled=r=!n[6],o.readOnly=a=n[0].id&&n[0].system,p(o,"spellcheck","false"),o.autofocus=u=!n[0].id,p(o,"placeholder","Field name"),o.value=f=n[0].name},m(h,_){m&&m.m(h,_),w(h,e,_),w(h,t,_),y(t,i),w(h,s,_),w(h,o,_),n[14](o),n[0].id||o.focus(),c||(d=K(o,"input",n[15]),c=!0)},p(h,_){h[0].required?m?m.p(h,_):(m=nd(h),m.c(),m.m(e.parentNode,e)):m&&(m.d(1),m=null),_&1&&l!==(l=j.getFieldTypeIcon(h[0].type))&&p(i,"class",l),_&64&&ee(t,"txt-disabled",!h[6]),_&64&&r!==(r=!h[6])&&(o.disabled=r),_&1&&a!==(a=h[0].id&&h[0].system)&&(o.readOnly=a),_&1&&u!==(u=!h[0].id)&&(o.autofocus=u),_&1&&f!==(f=h[0].name)&&o.value!==f&&(o.value=f)},d(h){h&&(v(e),v(t),v(s),v(o)),m&&m.d(h),n[14](null),c=!1,d()}}}function j$(n){let e;return{c(){e=b("span"),p(e,"class","separator")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function H$(n){let e,t,i,l,s;return{c(){e=b("button"),t=b("i"),p(t,"class","ri-settings-3-line"),p(e,"type","button"),p(e,"aria-label","Toggle field options"),p(e,"class",i="btn btn-sm btn-circle options-trigger "+(n[3]?"btn-secondary":"btn-transparent")),ee(e,"btn-hint",!n[3]&&!n[5]),ee(e,"btn-danger",n[5])},m(o,r){w(o,e,r),y(e,t),l||(s=K(e,"click",n[11]),l=!0)},p(o,r){r&8&&i!==(i="btn btn-sm btn-circle options-trigger "+(o[3]?"btn-secondary":"btn-transparent"))&&p(e,"class",i),r&40&&ee(e,"btn-hint",!o[3]&&!o[5]),r&40&&ee(e,"btn-danger",o[5])},d(o){o&&v(e),l=!1,s()}}}function z$(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-sm btn-circle btn-warning btn-transparent options-trigger"),p(e,"aria-label","Restore")},m(l,s){w(l,e,s),t||(i=[ve(Le.call(null,e,"Restore")),K(e,"click",n[9])],t=!0)},p:Q,d(l){l&&v(e),t=!1,we(i)}}}function id(n){let e,t,i,l,s,o,r,a,u,f,c;const d=n[13].options,m=kt(d,n,n[18],xc);s=new me({props:{class:"form-field form-field-toggle",name:"requried",$$slots:{default:[V$,({uniqueId:k})=>({24:k}),({uniqueId:k})=>k?16777216:0]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field form-field-toggle",name:"presentable",$$slots:{default:[B$,({uniqueId:k})=>({24:k}),({uniqueId:k})=>k?16777216:0]},$$scope:{ctx:n}}});const h=n[13].optionsFooter,_=kt(h,n,n[18],Qc);let g=!n[0].toDelete&&ld(n);return{c(){e=b("div"),t=b("div"),m&&m.c(),i=M(),l=b("div"),V(s.$$.fragment),o=M(),V(r.$$.fragment),a=M(),_&&_.c(),u=M(),g&&g.c(),p(t,"class","hidden-empty m-b-sm"),p(l,"class","schema-field-options-footer"),p(e,"class","schema-field-options")},m(k,S){w(k,e,S),y(e,t),m&&m.m(t,null),y(e,i),y(e,l),H(s,l,null),y(l,o),H(r,l,null),y(l,a),_&&_.m(l,null),y(l,u),g&&g.m(l,null),c=!0},p(k,S){m&&m.p&&(!c||S&262240)&&wt(m,d,k,k[18],c?vt(d,k[18],S,F$):St(k[18]),xc);const T={};S&17039377&&(T.$$scope={dirty:S,ctx:k}),s.$set(T);const $={};S&17039361&&($.$$scope={dirty:S,ctx:k}),r.$set($),_&&_.p&&(!c||S&262240)&&wt(_,h,k,k[18],c?vt(h,k[18],S,N$):St(k[18]),Qc),k[0].toDelete?g&&(oe(),I(g,1,1,()=>{g=null}),re()):g?(g.p(k,S),S&1&&A(g,1)):(g=ld(k),g.c(),A(g,1),g.m(l,null))},i(k){c||(A(m,k),A(s.$$.fragment,k),A(r.$$.fragment,k),A(_,k),A(g),k&&Ke(()=>{c&&(f||(f=Pe(e,et,{duration:150},!0)),f.run(1))}),c=!0)},o(k){I(m,k),I(s.$$.fragment,k),I(r.$$.fragment,k),I(_,k),I(g),k&&(f||(f=Pe(e,et,{duration:150},!1)),f.run(0)),c=!1},d(k){k&&v(e),m&&m.d(k),z(s),z(r),_&&_.d(k),g&&g.d(),k&&f&&f.end()}}}function V$(n){let e,t,i,l,s,o,r,a,u,f,c,d;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),o=Y(n[4]),r=M(),a=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[24]),p(s,"class","txt"),p(a,"class","ri-information-line link-hint"),p(l,"for",f=n[24])},m(m,h){w(m,e,h),e.checked=n[0].required,w(m,i,h),w(m,l,h),y(l,s),y(s,o),y(l,r),y(l,a),c||(d=[K(e,"change",n[16]),ve(u=Le.call(null,a,{text:`Requires the field value NOT to be ${j.zeroDefaultStr(n[0])}.`}))],c=!0)},p(m,h){h&16777216&&t!==(t=m[24])&&p(e,"id",t),h&1&&(e.checked=m[0].required),h&16&&le(o,m[4]),u&&$t(u.update)&&h&1&&u.update.call(null,{text:`Requires the field value NOT to be ${j.zeroDefaultStr(m[0])}.`}),h&16777216&&f!==(f=m[24])&&p(l,"for",f)},d(m){m&&(v(e),v(i),v(l)),c=!1,we(d)}}}function B$(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Presentable",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[24]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[24])},m(c,d){w(c,e,d),e.checked=n[0].presentable,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[17]),ve(Le.call(null,r,{text:"Whether the field should be preferred in the Admin UI relation listings (default to auto)."}))],u=!0)},p(c,d){d&16777216&&t!==(t=c[24])&&p(e,"id",t),d&1&&(e.checked=c[0].presentable),d&16777216&&a!==(a=c[24])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function ld(n){let e,t,i,l,s,o,r,a,u;return a=new En({props:{class:"dropdown dropdown-sm dropdown-upside dropdown-right dropdown-nowrap no-min-width",$$slots:{default:[U$]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),i=M(),l=b("div"),s=b("button"),o=b("i"),r=M(),V(a.$$.fragment),p(t,"class","flex-fill"),p(o,"class","ri-more-line"),p(s,"type","button"),p(s,"aria-label","More"),p(s,"class","btn btn-circle btn-sm btn-transparent"),p(l,"class","inline-flex flex-gap-sm flex-nowrap"),p(e,"class","m-l-auto txt-right")},m(f,c){w(f,e,c),y(e,t),y(e,i),y(e,l),y(l,s),y(s,o),y(s,r),H(a,s,null),u=!0},p(f,c){const d={};c&262144&&(d.$$scope={dirty:c,ctx:f}),a.$set(d)},i(f){u||(A(a.$$.fragment,f),u=!0)},o(f){I(a.$$.fragment,f),u=!1},d(f){f&&v(e),z(a)}}}function U$(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='Remove',p(e,"type","button"),p(e,"class","dropdown-item txt-right")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[8]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function W$(n){let e,t,i,l,s,o,r,a,u,f=n[6]&&td();l=new me({props:{class:"form-field required m-0 "+(n[6]?"":"disabled"),name:"schema."+n[1]+".name",inlineError:!0,$$slots:{default:[q$]},$$scope:{ctx:n}}});const c=n[13].default,d=kt(c,n,n[18],ed),m=d||j$();function h(S,T){if(S[0].toDelete)return z$;if(S[6])return H$}let _=h(n),g=_&&_(n),k=n[6]&&n[3]&&id(n);return{c(){e=b("div"),t=b("div"),f&&f.c(),i=M(),V(l.$$.fragment),s=M(),m&&m.c(),o=M(),g&&g.c(),r=M(),k&&k.c(),p(t,"class","schema-field-header"),p(e,"class","schema-field"),ee(e,"required",n[0].required),ee(e,"expanded",n[6]&&n[3]),ee(e,"deleted",n[0].toDelete)},m(S,T){w(S,e,T),y(e,t),f&&f.m(t,null),y(t,i),H(l,t,null),y(t,s),m&&m.m(t,null),y(t,o),g&&g.m(t,null),y(e,r),k&&k.m(e,null),u=!0},p(S,[T]){S[6]?f||(f=td(),f.c(),f.m(t,i)):f&&(f.d(1),f=null);const $={};T&64&&($.class="form-field required m-0 "+(S[6]?"":"disabled")),T&2&&($.name="schema."+S[1]+".name"),T&262229&&($.$$scope={dirty:T,ctx:S}),l.$set($),d&&d.p&&(!u||T&262240)&&wt(d,c,S,S[18],u?vt(c,S[18],T,R$):St(S[18]),ed),_===(_=h(S))&&g?g.p(S,T):(g&&g.d(1),g=_&&_(S),g&&(g.c(),g.m(t,null))),S[6]&&S[3]?k?(k.p(S,T),T&72&&A(k,1)):(k=id(S),k.c(),A(k,1),k.m(e,null)):k&&(oe(),I(k,1,1,()=>{k=null}),re()),(!u||T&1)&&ee(e,"required",S[0].required),(!u||T&72)&&ee(e,"expanded",S[6]&&S[3]),(!u||T&1)&&ee(e,"deleted",S[0].toDelete)},i(S){u||(A(l.$$.fragment,S),A(m,S),A(k),S&&Ke(()=>{u&&(a||(a=Pe(e,et,{duration:150},!0)),a.run(1))}),u=!0)},o(S){I(l.$$.fragment,S),I(m,S),I(k),S&&(a||(a=Pe(e,et,{duration:150},!1)),a.run(0)),u=!1},d(S){S&&v(e),f&&f.d(),z(l),m&&m.d(S),g&&g.d(),k&&k.d(),S&&a&&a.end()}}}let Cr=[];function Y$(n,e,t){let i,l,s,o;We(n,_i,P=>t(12,o=P));let{$$slots:r={},$$scope:a}=e;const u="f_"+j.randomString(8),f=ot(),c={bool:"Nonfalsey",number:"Nonzero"};let{key:d=""}=e,{field:m=j.initSchemaField()}=e,h,_=!1;function g(){m.id?t(0,m.toDelete=!0,m):f("remove")}function k(){t(0,m.toDelete=!1,m),Gt({})}function S(P){return j.slugify(P)}function T(){t(3,_=!0),D()}function $(){t(3,_=!1)}function C(){_?$():T()}function D(){for(let P of Cr)P.id!=u&&P.collapse()}Vt(()=>(Cr.push({id:u,collapse:$}),m.onMountSelect&&(t(0,m.onMountSelect=!1,m),h==null||h.select()),()=>{j.removeByKey(Cr,"id",u)}));function O(P){te[P?"unshift":"push"](()=>{h=P,t(2,h)})}const E=P=>{const N=m.name;t(0,m.name=S(P.target.value),m),P.target.value=m.name,f("rename",{oldName:N,newName:m.name})};function L(){m.required=this.checked,t(0,m)}function F(){m.presentable=this.checked,t(0,m)}return n.$$set=P=>{"key"in P&&t(1,d=P.key),"field"in P&&t(0,m=P.field),"$$scope"in P&&t(18,a=P.$$scope)},n.$$.update=()=>{n.$$.dirty&1&&m.toDelete&&m.originalName&&m.name!==m.originalName&&t(0,m.name=m.originalName,m),n.$$.dirty&1&&!m.originalName&&m.name&&t(0,m.originalName=m.name,m),n.$$.dirty&1&&typeof m.toDelete>"u"&&t(0,m.toDelete=!1,m),n.$$.dirty&1&&m.required&&t(0,m.nullable=!1,m),n.$$.dirty&1&&t(6,i=!m.toDelete&&!(m.id&&m.system)),n.$$.dirty&4098&&t(5,l=!j.isEmpty(j.getNestedVal(o,`schema.${d}`))),n.$$.dirty&1&&t(4,s=c[m==null?void 0:m.type]||"Nonempty")},[m,d,h,_,s,l,i,f,g,k,S,C,o,r,O,E,L,F,a]}class si extends ge{constructor(e){super(),_e(this,e,Y$,W$,he,{key:1,field:0})}}function K$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Min length"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9]),p(s,"step","1"),p(s,"min","0")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.min),r||(a=K(s,"input",n[3]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&st(s.value)!==u[0].options.min&&ue(s,u[0].options.min)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function J$(n){let e,t,i,l,s,o,r,a,u;return{c(){e=b("label"),t=Y("Max length"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9]),p(s,"step","1"),p(s,"min",r=n[0].options.min||0)},m(f,c){w(f,e,c),y(e,t),w(f,l,c),w(f,s,c),ue(s,n[0].options.max),a||(u=K(s,"input",n[4]),a=!0)},p(f,c){c&512&&i!==(i=f[9])&&p(e,"for",i),c&512&&o!==(o=f[9])&&p(s,"id",o),c&1&&r!==(r=f[0].options.min||0)&&p(s,"min",r),c&1&&st(s.value)!==f[0].options.max&&ue(s,f[0].options.max)},d(f){f&&(v(e),v(l),v(s)),a=!1,u()}}}function Z$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Regex pattern"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","text"),p(s,"id",o=n[9]),p(s,"placeholder","Valid Go regular expression, eg. ^\\w+$")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.pattern),r||(a=K(s,"input",n[5]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&s.value!==u[0].options.pattern&&ue(s,u[0].options.pattern)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function G$(n){let e,t,i,l,s,o,r,a,u,f;return i=new me({props:{class:"form-field",name:"schema."+n[1]+".options.min",$$slots:{default:[K$,({uniqueId:c})=>({9:c}),({uniqueId:c})=>c?512:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.max",$$slots:{default:[J$,({uniqueId:c})=>({9:c}),({uniqueId:c})=>c?512:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field",name:"schema."+n[1]+".options.pattern",$$slots:{default:[Z$,({uniqueId:c})=>({9:c}),({uniqueId:c})=>c?512:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),p(t,"class","col-sm-3"),p(s,"class","col-sm-3"),p(a,"class","col-sm-6"),p(e,"class","grid grid-sm")},m(c,d){w(c,e,d),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),H(u,a,null),f=!0},p(c,d){const m={};d&2&&(m.name="schema."+c[1]+".options.min"),d&1537&&(m.$$scope={dirty:d,ctx:c}),i.$set(m);const h={};d&2&&(h.name="schema."+c[1]+".options.max"),d&1537&&(h.$$scope={dirty:d,ctx:c}),o.$set(h);const _={};d&2&&(_.name="schema."+c[1]+".options.pattern"),d&1537&&(_.$$scope={dirty:d,ctx:c}),u.$set(_)},i(c){f||(A(i.$$.fragment,c),A(o.$$.fragment,c),A(u.$$.fragment,c),f=!0)},o(c){I(i.$$.fragment,c),I(o.$$.fragment,c),I(u.$$.fragment,c),f=!1},d(c){c&&v(e),z(i),z(o),z(u)}}}function X$(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[6](r)}let o={$$slots:{options:[G$]},$$scope:{ctx:n}};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[7]),e.$on("remove",n[8]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};a&1027&&(u.$$scope={dirty:a,ctx:r}),!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function Q$(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(){s.options.min=st(this.value),t(0,s)}function a(){s.options.max=st(this.value),t(0,s)}function u(){s.options.pattern=this.value,t(0,s)}function f(m){s=m,t(0,s)}function c(m){Ae.call(this,n,m)}function d(m){Ae.call(this,n,m)}return n.$$set=m=>{e=Ne(Ne({},e),Kt(m)),t(2,l=Ge(e,i)),"field"in m&&t(0,s=m.field),"key"in m&&t(1,o=m.key)},[s,o,l,r,a,u,f,c,d]}class x$ extends ge{constructor(e){super(),_e(this,e,Q$,X$,he,{field:0,key:1})}}function eT(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Min"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9])},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.min),r||(a=K(s,"input",n[4]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&st(s.value)!==u[0].options.min&&ue(s,u[0].options.min)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function tT(n){let e,t,i,l,s,o,r,a,u;return{c(){e=b("label"),t=Y("Max"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9]),p(s,"min",r=n[0].options.min)},m(f,c){w(f,e,c),y(e,t),w(f,l,c),w(f,s,c),ue(s,n[0].options.max),a||(u=K(s,"input",n[5]),a=!0)},p(f,c){c&512&&i!==(i=f[9])&&p(e,"for",i),c&512&&o!==(o=f[9])&&p(s,"id",o),c&1&&r!==(r=f[0].options.min)&&p(s,"min",r),c&1&&st(s.value)!==f[0].options.max&&ue(s,f[0].options.max)},d(f){f&&(v(e),v(l),v(s)),a=!1,u()}}}function nT(n){let e,t,i,l,s,o,r;return i=new me({props:{class:"form-field",name:"schema."+n[1]+".options.min",$$slots:{default:[eT,({uniqueId:a})=>({9:a}),({uniqueId:a})=>a?512:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.max",$$slots:{default:[tT,({uniqueId:a})=>({9:a}),({uniqueId:a})=>a?512:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),p(t,"class","col-sm-6"),p(s,"class","col-sm-6"),p(e,"class","grid grid-sm")},m(a,u){w(a,e,u),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),r=!0},p(a,u){const f={};u&2&&(f.name="schema."+a[1]+".options.min"),u&1537&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};u&2&&(c.name="schema."+a[1]+".options.max"),u&1537&&(c.$$scope={dirty:u,ctx:a}),o.$set(c)},i(a){r||(A(i.$$.fragment,a),A(o.$$.fragment,a),r=!0)},o(a){I(i.$$.fragment,a),I(o.$$.fragment,a),r=!1},d(a){a&&v(e),z(i),z(o)}}}function iT(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="No decimals",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[9]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[9])},m(c,d){w(c,e,d),e.checked=n[0].options.noDecimal,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[3]),ve(Le.call(null,r,{text:"Existing decimal numbers will not be affected."}))],u=!0)},p(c,d){d&512&&t!==(t=c[9])&&p(e,"id",t),d&1&&(e.checked=c[0].options.noDecimal),d&512&&a!==(a=c[9])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function lT(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle",name:"schema."+n[1]+".options.noDecimal",$$slots:{default:[iT,({uniqueId:i})=>({9:i}),({uniqueId:i})=>i?512:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.name="schema."+i[1]+".options.noDecimal"),l&1537&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function sT(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[6](r)}let o={$$slots:{optionsFooter:[lT],options:[nT]},$$scope:{ctx:n}};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[7]),e.$on("remove",n[8]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};a&1027&&(u.$$scope={dirty:a,ctx:r}),!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function oT(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(){s.options.noDecimal=this.checked,t(0,s)}function a(){s.options.min=st(this.value),t(0,s)}function u(){s.options.max=st(this.value),t(0,s)}function f(m){s=m,t(0,s)}function c(m){Ae.call(this,n,m)}function d(m){Ae.call(this,n,m)}return n.$$set=m=>{e=Ne(Ne({},e),Kt(m)),t(2,l=Ge(e,i)),"field"in m&&t(0,s=m.field),"key"in m&&t(1,o=m.key)},[s,o,l,r,a,u,f,c,d]}class rT extends ge{constructor(e){super(),_e(this,e,oT,sT,he,{field:0,key:1})}}function aT(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[3](r)}let o={};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[4]),e.$on("remove",n[5]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function uT(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(f){s=f,t(0,s)}function a(f){Ae.call(this,n,f)}function u(f){Ae.call(this,n,f)}return n.$$set=f=>{e=Ne(Ne({},e),Kt(f)),t(2,l=Ge(e,i)),"field"in f&&t(0,s=f.field),"key"in f&&t(1,o=f.key)},[s,o,l,r,a,u]}class fT extends ge{constructor(e){super(),_e(this,e,uT,aT,he,{field:0,key:1})}}function cT(n){let e,t,i,l,s=[{type:t=n[5].type||"text"},{value:n[4]},{disabled:n[3]},{readOnly:n[2]},n[5]],o={};for(let r=0;r{t(0,o=j.splitNonEmpty(c.target.value,r))};return n.$$set=c=>{e=Ne(Ne({},e),Kt(c)),t(5,s=Ge(e,l)),"value"in c&&t(0,o=c.value),"separator"in c&&t(1,r=c.separator),"readonly"in c&&t(2,a=c.readonly),"disabled"in c&&t(3,u=c.disabled)},n.$$.update=()=>{n.$$.dirty&3&&t(4,i=j.joinNonEmpty(o,r+" "))},[o,r,a,u,i,s,f]}class Ll extends ge{constructor(e){super(),_e(this,e,dT,cT,he,{value:0,separator:1,readonly:2,disabled:3})}}function pT(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;function h(g){n[3](g)}let _={id:n[8],disabled:!j.isEmpty(n[0].options.onlyDomains)};return n[0].options.exceptDomains!==void 0&&(_.value=n[0].options.exceptDomains),r=new Ll({props:_}),te.push(()=>be(r,"value",h)),{c(){e=b("label"),t=b("span"),t.textContent="Except domains",i=M(),l=b("i"),o=M(),V(r.$$.fragment),u=M(),f=b("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[8]),p(f,"class","help-block")},m(g,k){w(g,e,k),y(e,t),y(e,i),y(e,l),w(g,o,k),H(r,g,k),w(g,u,k),w(g,f,k),c=!0,d||(m=ve(Le.call(null,l,{text:`List of domains that are NOT allowed. + `),i=b("div");for(let o=0;o{"class"in l&&t(0,i=l.class)},[i]}class Eb extends ge{constructor(e){super(),_e(this,e,JS,KS,he,{class:0})}}function ZS(n){let e,t,i,l,s,o,r,a,u;return t=new me({props:{class:"form-field required",name:"logs.maxDays",$$slots:{default:[XS,({uniqueId:f})=>({22:f}),({uniqueId:f})=>f?4194304:0]},$$scope:{ctx:n}}}),l=new me({props:{class:"form-field",name:"logs.minLevel",$$slots:{default:[QS,({uniqueId:f})=>({22:f}),({uniqueId:f})=>f?4194304:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field form-field-toggle",name:"logs.logIp",$$slots:{default:[xS,({uniqueId:f})=>({22:f}),({uniqueId:f})=>f?4194304:0]},$$scope:{ctx:n}}}),{c(){e=b("form"),V(t.$$.fragment),i=M(),V(l.$$.fragment),s=M(),V(o.$$.fragment),p(e,"id",n[6]),p(e,"class","grid"),p(e,"autocomplete","off")},m(f,c){w(f,e,c),H(t,e,null),y(e,i),H(l,e,null),y(e,s),H(o,e,null),r=!0,a||(u=K(e,"submit",Ye(n[7])),a=!0)},p(f,c){const d={};c&12582914&&(d.$$scope={dirty:c,ctx:f}),t.$set(d);const m={};c&12582914&&(m.$$scope={dirty:c,ctx:f}),l.$set(m);const h={};c&12582914&&(h.$$scope={dirty:c,ctx:f}),o.$set(h)},i(f){r||(A(t.$$.fragment,f),A(l.$$.fragment,f),A(o.$$.fragment,f),r=!0)},o(f){I(t.$$.fragment,f),I(l.$$.fragment,f),I(o.$$.fragment,f),r=!1},d(f){f&&v(e),z(t),z(l),z(o),a=!1,u()}}}function GS(n){let e;return{c(){e=b("div"),e.innerHTML='
',p(e,"class","block txt-center")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function XS(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=Y("Max days retention"),l=M(),s=b("input"),r=M(),a=b("div"),a.innerHTML="Set to 0 to disable logs persistence.",p(e,"for",i=n[22]),p(s,"type","number"),p(s,"id",o=n[22]),s.required=!0,p(a,"class","help-block")},m(c,d){w(c,e,d),y(e,t),w(c,l,d),w(c,s,d),ue(s,n[1].logs.maxDays),w(c,r,d),w(c,a,d),u||(f=K(s,"input",n[11]),u=!0)},p(c,d){d&4194304&&i!==(i=c[22])&&p(e,"for",i),d&4194304&&o!==(o=c[22])&&p(s,"id",o),d&2&&st(s.value)!==c[1].logs.maxDays&&ue(s,c[1].logs.maxDays)},d(c){c&&(v(e),v(l),v(s),v(r),v(a)),u=!1,f()}}}function QS(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;return f=new Eb({}),{c(){e=b("label"),t=Y("Min log level"),l=M(),s=b("input"),o=M(),r=b("div"),a=b("p"),a.textContent="Logs with level below the minimum will be ignored.",u=M(),V(f.$$.fragment),p(e,"for",i=n[22]),p(s,"type","number"),s.required=!0,p(s,"min","-100"),p(s,"max","100"),p(r,"class","help-block")},m(h,_){w(h,e,_),y(e,t),w(h,l,_),w(h,s,_),ue(s,n[1].logs.minLevel),w(h,o,_),w(h,r,_),y(r,a),y(r,u),H(f,r,null),c=!0,d||(m=K(s,"input",n[12]),d=!0)},p(h,_){(!c||_&4194304&&i!==(i=h[22]))&&p(e,"for",i),_&2&&st(s.value)!==h[1].logs.minLevel&&ue(s,h[1].logs.minLevel)},i(h){c||(A(f.$$.fragment,h),c=!0)},o(h){I(f.$$.fragment,h),c=!1},d(h){h&&(v(e),v(l),v(s),v(o),v(r)),z(f),d=!1,m()}}}function xS(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable IP logging"),p(e,"type","checkbox"),p(e,"id",t=n[22]),p(l,"for",o=n[22])},m(u,f){w(u,e,f),e.checked=n[1].logs.logIp,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[13]),r=!0)},p(u,f){f&4194304&&t!==(t=u[22])&&p(e,"id",t),f&2&&(e.checked=u[1].logs.logIp),f&4194304&&o!==(o=u[22])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function e$(n){let e,t,i,l;const s=[GS,ZS],o=[];function r(a,u){return a[4]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,u){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}function t$(n){let e;return{c(){e=b("h4"),e.textContent="Logs settings"},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function n$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("button"),t=b("span"),t.textContent="Cancel",i=M(),l=b("button"),s=b("span"),s.textContent="Save changes",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[3],p(s,"class","txt"),p(l,"type","submit"),p(l,"form",n[6]),p(l,"class","btn btn-expanded"),l.disabled=o=!n[5]||n[3],ee(l,"btn-loading",n[3])},m(u,f){w(u,e,f),y(e,t),w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"click",n[0]),r=!0)},p(u,f){f&8&&(e.disabled=u[3]),f&40&&o!==(o=!u[5]||u[3])&&(l.disabled=o),f&8&&ee(l,"btn-loading",u[3])},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function i$(n){let e,t,i={popup:!0,class:"admin-panel",beforeHide:n[14],$$slots:{footer:[n$],header:[t$],default:[e$]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[15](e),e.$on("hide",n[16]),e.$on("show",n[17]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&8&&(o.beforeHide=l[14]),s&8388666&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[15](null),z(e,l)}}}function l$(n,e,t){let i,l;const s=ot(),o="logs_settings_"+j.randomString(3);let r,a=!1,u=!1,f={},c={};function d(){return h(),_(),r==null?void 0:r.show()}function m(){return r==null?void 0:r.hide()}function h(){Gt(),t(9,f={}),t(1,c=JSON.parse(JSON.stringify(f||{})))}async function _(){t(4,u=!0);try{const L=await fe.settings.getAll()||{};k(L)}catch(L){fe.error(L)}t(4,u=!1)}async function g(){if(l){t(3,a=!0);try{const L=await fe.settings.update(j.filterRedactedProps(c));k(L),t(3,a=!1),m(),It("Successfully saved logs settings."),s("save",L)}catch(L){t(3,a=!1),fe.error(L)}}}function k(L={}){t(1,c={logs:(L==null?void 0:L.logs)||{}}),t(9,f=JSON.parse(JSON.stringify(c)))}function S(){c.logs.maxDays=st(this.value),t(1,c)}function T(){c.logs.minLevel=st(this.value),t(1,c)}function $(){c.logs.logIp=this.checked,t(1,c)}const C=()=>!a;function D(L){te[L?"unshift":"push"](()=>{r=L,t(2,r)})}function O(L){Ae.call(this,n,L)}function E(L){Ae.call(this,n,L)}return n.$$.update=()=>{n.$$.dirty&512&&t(10,i=JSON.stringify(f)),n.$$.dirty&1026&&t(5,l=i!=JSON.stringify(c))},[m,c,r,a,u,l,o,g,d,f,i,S,T,$,C,D,O,E]}class s$ extends ge{constructor(e){super(),_e(this,e,l$,i$,he,{show:8,hide:0})}get show(){return this.$$.ctx[8]}get hide(){return this.$$.ctx[0]}}function o$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Include requests by admins"),p(e,"type","checkbox"),p(e,"id",t=n[22]),p(l,"for",o=n[22])},m(u,f){w(u,e,f),e.checked=n[2],w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[11]),r=!0)},p(u,f){f&4194304&&t!==(t=u[22])&&p(e,"id",t),f&4&&(e.checked=u[2]),f&4194304&&o!==(o=u[22])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function Fc(n){let e,t;return e=new bS({props:{filter:n[1],presets:n[5]}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.filter=i[1]),l&32&&(s.presets=i[5]),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function Rc(n){let e,t,i;function l(o){n[13](o)}let s={presets:n[5]};return n[1]!==void 0&&(s.filter=n[1]),e=new Gv({props:s}),te.push(()=>be(e,"filter",l)),e.$on("select",n[14]),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};r&32&&(a.presets=o[5]),!t&&r&2&&(t=!0,a.filter=o[1],ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function r$(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$=n[4],C,D=n[4],O,E,L,F;u=new Go({}),u.$on("refresh",n[10]),h=new me({props:{class:"form-field form-field-toggle m-0",$$slots:{default:[o$,({uniqueId:R})=>({22:R}),({uniqueId:R})=>R?4194304:0]},$$scope:{ctx:n}}}),g=new Ms({props:{value:n[1],placeholder:"Search term or filter like `level > 0 && data.auth = 'guest'`",extraAutocompleteKeys:["level","message","data."]}}),g.$on("submit",n[12]),S=new Eb({props:{class:"block txt-sm txt-hint m-t-xs m-b-base"}});let P=Fc(n),N=Rc(n);return{c(){e=b("div"),t=b("header"),i=b("nav"),l=b("div"),s=Y(n[6]),o=M(),r=b("button"),r.innerHTML='',a=M(),V(u.$$.fragment),f=M(),c=b("div"),d=M(),m=b("div"),V(h.$$.fragment),_=M(),V(g.$$.fragment),k=M(),V(S.$$.fragment),T=M(),P.c(),C=M(),N.c(),O=ke(),p(l,"class","breadcrumb-item"),p(i,"class","breadcrumbs"),p(r,"type","button"),p(r,"aria-label","Logs settings"),p(r,"class","btn btn-transparent btn-circle"),p(c,"class","flex-fill"),p(m,"class","inline-flex"),p(t,"class","page-header"),p(e,"class","page-header-wrapper m-b-0")},m(R,q){w(R,e,q),y(e,t),y(t,i),y(i,l),y(l,s),y(t,o),y(t,r),y(t,a),H(u,t,null),y(t,f),y(t,c),y(t,d),y(t,m),H(h,m,null),y(e,_),H(g,e,null),y(e,k),H(S,e,null),y(e,T),P.m(e,null),w(R,C,q),N.m(R,q),w(R,O,q),E=!0,L||(F=[ve(Le.call(null,r,{text:"Logs settings",position:"right"})),K(r,"click",n[9])],L=!0)},p(R,q){(!E||q&64)&&le(s,R[6]);const W={};q&12582916&&(W.$$scope={dirty:q,ctx:R}),h.$set(W);const J={};q&2&&(J.value=R[1]),g.$set(J),q&16&&he($,$=R[4])?(oe(),I(P,1,1,Q),re(),P=Fc(R),P.c(),A(P,1),P.m(e,null)):P.p(R,q),q&16&&he(D,D=R[4])?(oe(),I(N,1,1,Q),re(),N=Rc(R),N.c(),A(N,1),N.m(O.parentNode,O)):N.p(R,q)},i(R){E||(A(u.$$.fragment,R),A(h.$$.fragment,R),A(g.$$.fragment,R),A(S.$$.fragment,R),A(P),A(N),E=!0)},o(R){I(u.$$.fragment,R),I(h.$$.fragment,R),I(g.$$.fragment,R),I(S.$$.fragment,R),I(P),I(N),E=!1},d(R){R&&(v(e),v(C),v(O)),z(u),z(h),z(g),z(S),P.d(R),N.d(R),L=!1,we(F)}}}function a$(n){let e,t,i,l,s,o;e=new gn({props:{$$slots:{default:[r$]},$$scope:{ctx:n}}});let r={};i=new US({props:r}),n[15](i),i.$on("show",n[16]),i.$on("hide",n[17]);let a={};return s=new s$({props:a}),n[18](s),s.$on("save",n[7]),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),V(s.$$.fragment)},m(u,f){H(e,u,f),w(u,t,f),H(i,u,f),w(u,l,f),H(s,u,f),o=!0},p(u,[f]){const c={};f&8388735&&(c.$$scope={dirty:f,ctx:u}),e.$set(c);const d={};i.$set(d);const m={};s.$set(m)},i(u){o||(A(e.$$.fragment,u),A(i.$$.fragment,u),A(s.$$.fragment,u),o=!0)},o(u){I(e.$$.fragment,u),I(i.$$.fragment,u),I(s.$$.fragment,u),o=!1},d(u){u&&(v(t),v(l)),z(e,u),n[15](null),z(i,u),n[18](null),z(s,u)}}}const to="logId",qc="adminRequests",jc="adminLogRequests";function u$(n,e,t){var L;let i,l,s;We(n,Vo,F=>t(19,l=F)),We(n,Dt,F=>t(6,s=F)),tn(Dt,s="Logs",s);const o=new URLSearchParams(l);let r,a,u=1,f=o.get("filter")||"",c=(o.get(qc)||((L=window.localStorage)==null?void 0:L.getItem(jc)))<<0,d=c;function m(){t(4,u++,u)}function h(F={}){let P={};P.filter=f||null,P[qc]=c<<0||null,j.replaceHashQueryParams(Object.assign(P,F))}const _=()=>a==null?void 0:a.show(),g=()=>m();function k(){c=this.checked,t(2,c)}const S=F=>t(1,f=F.detail);function T(F){f=F,t(1,f)}const $=F=>r==null?void 0:r.show(F==null?void 0:F.detail);function C(F){te[F?"unshift":"push"](()=>{r=F,t(0,r)})}const D=F=>{var N;let P={};P[to]=((N=F.detail)==null?void 0:N.id)||null,j.replaceHashQueryParams(P)},O=()=>{let F={};F[to]=null,j.replaceHashQueryParams(F)};function E(F){te[F?"unshift":"push"](()=>{a=F,t(3,a)})}return n.$$.update=()=>{var F;n.$$.dirty&1&&o.get(to)&&r&&r.show(o.get(to)),n.$$.dirty&4&&t(5,i=c?"":'data.auth!="admin"'),n.$$.dirty&260&&d!=c&&(t(8,d=c),(F=window.localStorage)==null||F.setItem(jc,c<<0),h()),n.$$.dirty&2&&typeof f<"u"&&h()},[r,f,c,a,u,i,s,m,d,_,g,k,S,T,$,C,D,O,E]}class f$ extends ge{constructor(e){super(),_e(this,e,u$,a$,he,{})}}function c$(n){let e,t,i;return{c(){e=b("span"),p(e,"class","dragline svelte-1g2t3dj"),ee(e,"dragging",n[1])},m(l,s){w(l,e,s),n[4](e),t||(i=[K(e,"mousedown",n[5]),K(e,"touchstart",n[2])],t=!0)},p(l,[s]){s&2&&ee(e,"dragging",l[1])},i:Q,o:Q,d(l){l&&v(e),n[4](null),t=!1,we(i)}}}function d$(n,e,t){const i=ot();let{tolerance:l=0}=e,s,o=0,r=0,a=0,u=0,f=!1;function c(g){g.stopPropagation(),o=g.clientX,r=g.clientY,a=g.clientX-s.offsetLeft,u=g.clientY-s.offsetTop,document.addEventListener("touchmove",m),document.addEventListener("mousemove",m),document.addEventListener("touchend",d),document.addEventListener("mouseup",d)}function d(g){f&&(g.preventDefault(),t(1,f=!1),s.classList.remove("no-pointer-events"),i("dragstop",{event:g,elem:s})),document.removeEventListener("touchmove",m),document.removeEventListener("mousemove",m),document.removeEventListener("touchend",d),document.removeEventListener("mouseup",d)}function m(g){let k=g.clientX-o,S=g.clientY-r,T=g.clientX-a,$=g.clientY-u;!f&&Math.abs(T-s.offsetLeft){s=g,t(0,s)})}const _=g=>{g.button==0&&c(g)};return n.$$set=g=>{"tolerance"in g&&t(3,l=g.tolerance)},[s,f,c,l,h,_]}class p$ extends ge{constructor(e){super(),_e(this,e,d$,c$,he,{tolerance:3})}}function m$(n){let e,t,i,l,s;const o=n[5].default,r=kt(o,n,n[4],null);return l=new p$({}),l.$on("dragstart",n[7]),l.$on("dragging",n[8]),l.$on("dragstop",n[9]),{c(){e=b("aside"),r&&r.c(),i=M(),V(l.$$.fragment),p(e,"class",t="page-sidebar "+n[0])},m(a,u){w(a,e,u),r&&r.m(e,null),n[6](e),w(a,i,u),H(l,a,u),s=!0},p(a,[u]){r&&r.p&&(!s||u&16)&&wt(r,o,a,a[4],s?vt(o,a[4],u,null):St(a[4]),null),(!s||u&1&&t!==(t="page-sidebar "+a[0]))&&p(e,"class",t)},i(a){s||(A(r,a),A(l.$$.fragment,a),s=!0)},o(a){I(r,a),I(l.$$.fragment,a),s=!1},d(a){a&&(v(e),v(i)),r&&r.d(a),n[6](null),z(l,a)}}}const Hc="@adminSidebarWidth";function h$(n,e,t){let{$$slots:i={},$$scope:l}=e,{class:s=""}=e,o,r,a=localStorage.getItem(Hc)||null;function u(m){te[m?"unshift":"push"](()=>{o=m,t(1,o),t(2,a)})}const f=()=>{t(3,r=o.offsetWidth)},c=m=>{t(2,a=r+m.detail.diffX+"px")},d=()=>{j.triggerResize()};return n.$$set=m=>{"class"in m&&t(0,s=m.class),"$$scope"in m&&t(4,l=m.$$scope)},n.$$.update=()=>{n.$$.dirty&6&&a&&o&&(t(1,o.style.width=a,o),localStorage.setItem(Hc,a))},[s,o,a,r,l,i,u,f,c,d]}class Ab extends ge{constructor(e){super(),_e(this,e,h$,m$,he,{class:0})}}const Za=Dn({});function an(n,e,t){Za.set({text:n,yesCallback:e,noCallback:t})}function Ib(){Za.set({})}function zc(n){let e,t,i;const l=n[17].default,s=kt(l,n,n[16],null);return{c(){e=b("div"),s&&s.c(),p(e,"class",n[1]),ee(e,"active",n[0])},m(o,r){w(o,e,r),s&&s.m(e,null),n[18](e),i=!0},p(o,r){s&&s.p&&(!i||r&65536)&&wt(s,l,o,o[16],i?vt(l,o[16],r,null):St(o[16]),null),(!i||r&2)&&p(e,"class",o[1]),(!i||r&3)&&ee(e,"active",o[0])},i(o){i||(A(s,o),o&&Ke(()=>{i&&(t||(t=Pe(e,jn,{duration:150,y:3},!0)),t.run(1))}),i=!0)},o(o){I(s,o),o&&(t||(t=Pe(e,jn,{duration:150,y:3},!1)),t.run(0)),i=!1},d(o){o&&v(e),s&&s.d(o),n[18](null),o&&t&&t.end()}}}function _$(n){let e,t,i,l,s=n[0]&&zc(n);return{c(){e=b("div"),s&&s.c(),p(e,"class","toggler-container"),p(e,"tabindex","-1")},m(o,r){w(o,e,r),s&&s.m(e,null),n[19](e),t=!0,i||(l=[K(window,"mousedown",n[5]),K(window,"click",n[6]),K(window,"keydown",n[4]),K(window,"focusin",n[7])],i=!0)},p(o,[r]){o[0]?s?(s.p(o,r),r&1&&A(s,1)):(s=zc(o),s.c(),A(s,1),s.m(e,null)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){t||(A(s),t=!0)},o(o){I(s),t=!1},d(o){o&&v(e),s&&s.d(),n[19](null),i=!1,we(l)}}}function g$(n,e,t){let{$$slots:i={},$$scope:l}=e,{trigger:s=void 0}=e,{active:o=!1}=e,{escClose:r=!0}=e,{autoScroll:a=!0}=e,{closableClass:u="closable"}=e,{class:f=""}=e,c,d,m,h,_=!1;const g=ot();function k(){t(0,o=!1),_=!1,clearTimeout(h)}function S(){t(0,o=!0),clearTimeout(h),h=setTimeout(()=>{a&&(d!=null&&d.scrollIntoViewIfNeeded?d==null||d.scrollIntoViewIfNeeded():d!=null&&d.scrollIntoView&&(d==null||d.scrollIntoView({behavior:"smooth",block:"nearest"})))},180)}function T(){o?k():S()}function $(W){return!c||W.classList.contains(u)||(m==null?void 0:m.contains(W))&&!c.contains(W)||c.contains(W)&&W.closest&&W.closest("."+u)}function C(W){(!o||$(W.target))&&(W.preventDefault(),W.stopPropagation(),T())}function D(W){(W.code==="Enter"||W.code==="Space")&&(!o||$(W.target))&&(W.preventDefault(),W.stopPropagation(),T())}function O(W){o&&r&&W.code==="Escape"&&(W.preventDefault(),k())}function E(W){o&&!(c!=null&&c.contains(W.target))?_=!0:_&&(_=!1)}function L(W){var J;o&&_&&!(c!=null&&c.contains(W.target))&&!(m!=null&&m.contains(W.target))&&!((J=W.target)!=null&&J.closest(".flatpickr-calendar"))&&k()}function F(W){E(W),L(W)}function P(W){N(),c==null||c.addEventListener("click",C),t(15,m=W||(c==null?void 0:c.parentNode)),m==null||m.addEventListener("click",C),m==null||m.addEventListener("keydown",D)}function N(){clearTimeout(h),c==null||c.removeEventListener("click",C),m==null||m.removeEventListener("click",C),m==null||m.removeEventListener("keydown",D)}Vt(()=>(P(),()=>N()));function R(W){te[W?"unshift":"push"](()=>{d=W,t(3,d)})}function q(W){te[W?"unshift":"push"](()=>{c=W,t(2,c)})}return n.$$set=W=>{"trigger"in W&&t(8,s=W.trigger),"active"in W&&t(0,o=W.active),"escClose"in W&&t(9,r=W.escClose),"autoScroll"in W&&t(10,a=W.autoScroll),"closableClass"in W&&t(11,u=W.closableClass),"class"in W&&t(1,f=W.class),"$$scope"in W&&t(16,l=W.$$scope)},n.$$.update=()=>{var W,J;n.$$.dirty&260&&c&&P(s),n.$$.dirty&32769&&(o?((W=m==null?void 0:m.classList)==null||W.add("active"),g("show")):((J=m==null?void 0:m.classList)==null||J.remove("active"),g("hide")))},[o,f,c,d,O,E,L,F,s,r,a,u,k,S,T,m,l,i,R,q]}class En extends ge{constructor(e){super(),_e(this,e,g$,_$,he,{trigger:8,active:0,escClose:9,autoScroll:10,closableClass:11,class:1,hide:12,show:13,toggle:14})}get hide(){return this.$$.ctx[12]}get show(){return this.$$.ctx[13]}get toggle(){return this.$$.ctx[14]}}function Vc(n,e,t){const i=n.slice();return i[27]=e[t],i}function b$(n){let e,t,i,l,s,o,r,a,u;return{c(){e=b("input"),l=M(),s=b("label"),o=Y("Unique"),p(e,"type","checkbox"),p(e,"id",t=n[30]),e.checked=i=n[3].unique,p(s,"for",r=n[30])},m(f,c){w(f,e,c),w(f,l,c),w(f,s,c),y(s,o),a||(u=K(e,"change",n[19]),a=!0)},p(f,c){c[0]&1073741824&&t!==(t=f[30])&&p(e,"id",t),c[0]&8&&i!==(i=f[3].unique)&&(e.checked=i),c[0]&1073741824&&r!==(r=f[30])&&p(s,"for",r)},d(f){f&&(v(e),v(l),v(s)),a=!1,u()}}}function y$(n){let e,t,i,l;function s(a){n[20](a)}var o=n[7];function r(a,u){var c;let f={id:a[30],placeholder:`eg. CREATE INDEX idx_test on ${(c=a[0])==null?void 0:c.name} (created)`,language:"sql-create-index",minHeight:"85"};return a[2]!==void 0&&(f.value=a[2]),{props:f}}return o&&(e=Ot(o,r(n)),te.push(()=>be(e,"value",s))),{c(){e&&V(e.$$.fragment),i=ke()},m(a,u){e&&H(e,a,u),w(a,i,u),l=!0},p(a,u){var f;if(u[0]&128&&o!==(o=a[7])){if(e){oe();const c=e;I(c.$$.fragment,1,0,()=>{z(c,1)}),re()}o?(e=Ot(o,r(a)),te.push(()=>be(e,"value",s)),V(e.$$.fragment),A(e.$$.fragment,1),H(e,i.parentNode,i)):e=null}else if(o){const c={};u[0]&1073741824&&(c.id=a[30]),u[0]&1&&(c.placeholder=`eg. CREATE INDEX idx_test on ${(f=a[0])==null?void 0:f.name} (created)`),!t&&u[0]&4&&(t=!0,c.value=a[2],ye(()=>t=!1)),e.$set(c)}},i(a){l||(e&&A(e.$$.fragment,a),l=!0)},o(a){e&&I(e.$$.fragment,a),l=!1},d(a){a&&v(i),e&&z(e,a)}}}function k$(n){let e;return{c(){e=b("textarea"),e.disabled=!0,p(e,"rows","7"),p(e,"placeholder","Loading...")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function v$(n){let e,t,i,l;const s=[k$,y$],o=[];function r(a,u){return a[8]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,u){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}function Bc(n){let e,t,i,l=pe(n[10]),s=[];for(let o=0;o({30:a}),({uniqueId:a})=>[a?1073741824:0]]},$$scope:{ctx:n}}}),i=new me({props:{class:"form-field required m-b-sm",name:`indexes.${n[6]||""}`,$$slots:{default:[v$,({uniqueId:a})=>({30:a}),({uniqueId:a})=>[a?1073741824:0]]},$$scope:{ctx:n}}});let r=n[10].length>0&&Bc(n);return{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),r&&r.c(),s=ke()},m(a,u){H(e,a,u),w(a,t,u),H(i,a,u),w(a,l,u),r&&r.m(a,u),w(a,s,u),o=!0},p(a,u){const f={};u[0]&1073741837|u[1]&1&&(f.$$scope={dirty:u,ctx:a}),e.$set(f);const c={};u[0]&64&&(c.name=`indexes.${a[6]||""}`),u[0]&1073742213|u[1]&1&&(c.$$scope={dirty:u,ctx:a}),i.$set(c),a[10].length>0?r?r.p(a,u):(r=Bc(a),r.c(),r.m(s.parentNode,s)):r&&(r.d(1),r=null)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),o=!1},d(a){a&&(v(t),v(l),v(s)),z(e,a),z(i,a),r&&r.d(a)}}}function S$(n){let e,t=n[5]?"Update":"Create",i,l;return{c(){e=b("h4"),i=Y(t),l=Y(" index")},m(s,o){w(s,e,o),y(e,i),y(e,l)},p(s,o){o[0]&32&&t!==(t=s[5]?"Update":"Create")&&le(i,t)},d(s){s&&v(e)}}}function Wc(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-sm btn-circle btn-hint btn-transparent m-r-auto")},m(l,s){w(l,e,s),t||(i=[ve(Le.call(null,e,{text:"Delete",position:"top"})),K(e,"click",n[16])],t=!0)},p:Q,d(l){l&&v(e),t=!1,we(i)}}}function $$(n){let e,t,i,l,s,o,r=n[5]!=""&&Wc(n);return{c(){r&&r.c(),e=M(),t=b("button"),t.innerHTML='Cancel',i=M(),l=b("button"),l.innerHTML='Set index',p(t,"type","button"),p(t,"class","btn btn-transparent"),p(l,"type","button"),p(l,"class","btn"),ee(l,"btn-disabled",n[9].length<=0)},m(a,u){r&&r.m(a,u),w(a,e,u),w(a,t,u),w(a,i,u),w(a,l,u),s||(o=[K(t,"click",n[17]),K(l,"click",n[18])],s=!0)},p(a,u){a[5]!=""?r?r.p(a,u):(r=Wc(a),r.c(),r.m(e.parentNode,e)):r&&(r.d(1),r=null),u[0]&512&&ee(l,"btn-disabled",a[9].length<=0)},d(a){a&&(v(e),v(t),v(i),v(l)),r&&r.d(a),s=!1,we(o)}}}function T$(n){let e,t;const i=[{popup:!0},n[14]];let l={$$slots:{footer:[$$],header:[S$],default:[w$]},$$scope:{ctx:n}};for(let s=0;sB.name==W);G?j.removeByValue(J.columns,G):j.pushUnique(J.columns,{name:W}),t(2,d=j.buildIndex(J))}Vt(async()=>{t(8,_=!0);try{t(7,h=(await rt(()=>import("./CodeEditor-3bce9f95.js"),["./CodeEditor-3bce9f95.js","./index-9ee652b3.js"],import.meta.url)).default)}catch(W){console.warn(W)}t(8,_=!1)});const D=()=>T(),O=()=>k(),E=()=>$(),L=W=>{t(3,l.unique=W.target.checked,l),t(3,l.tableName=l.tableName||(u==null?void 0:u.name),l),t(2,d=j.buildIndex(l))};function F(W){d=W,t(2,d)}const P=W=>C(W);function N(W){te[W?"unshift":"push"](()=>{f=W,t(4,f)})}function R(W){Ae.call(this,n,W)}function q(W){Ae.call(this,n,W)}return n.$$set=W=>{e=Ne(Ne({},e),Kt(W)),t(14,r=Ge(e,o)),"collection"in W&&t(0,u=W.collection)},n.$$.update=()=>{var W,J,G;n.$$.dirty[0]&1&&t(10,i=(((J=(W=u==null?void 0:u.schema)==null?void 0:W.filter(B=>!B.toDelete))==null?void 0:J.map(B=>B.name))||[]).concat(["created","updated"])),n.$$.dirty[0]&4&&t(3,l=j.parseIndex(d)),n.$$.dirty[0]&8&&t(9,s=((G=l.columns)==null?void 0:G.map(B=>B.name))||[])},[u,k,d,l,f,c,m,h,_,s,i,T,$,C,r,g,D,O,E,L,F,P,N,R,q]}class M$ extends ge{constructor(e){super(),_e(this,e,C$,T$,he,{collection:0,show:15,hide:1},null,[-1,-1])}get show(){return this.$$.ctx[15]}get hide(){return this.$$.ctx[1]}}function Yc(n,e,t){const i=n.slice();i[10]=e[t],i[13]=t;const l=j.parseIndex(i[10]);return i[11]=l,i}function Kc(n){let e;return{c(){e=b("strong"),e.textContent="Unique:"},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function Jc(n){var d;let e,t,i,l=((d=n[11].columns)==null?void 0:d.map(Zc).join(", "))+"",s,o,r,a,u,f=n[11].unique&&Kc();function c(){return n[4](n[10],n[13])}return{c(){var m,h;e=b("button"),f&&f.c(),t=M(),i=b("span"),s=Y(l),p(i,"class","txt"),p(e,"type","button"),p(e,"class",o="label link-primary "+((h=(m=n[2].indexes)==null?void 0:m[n[13]])!=null&&h.message?"label-danger":"")+" svelte-167lbwu")},m(m,h){var _,g;w(m,e,h),f&&f.m(e,null),y(e,t),y(e,i),y(i,s),a||(u=[ve(r=Le.call(null,e,((g=(_=n[2].indexes)==null?void 0:_[n[13]])==null?void 0:g.message)||"")),K(e,"click",c)],a=!0)},p(m,h){var _,g,k,S,T;n=m,n[11].unique?f||(f=Kc(),f.c(),f.m(e,t)):f&&(f.d(1),f=null),h&1&&l!==(l=((_=n[11].columns)==null?void 0:_.map(Zc).join(", "))+"")&&le(s,l),h&4&&o!==(o="label link-primary "+((k=(g=n[2].indexes)==null?void 0:g[n[13]])!=null&&k.message?"label-danger":"")+" svelte-167lbwu")&&p(e,"class",o),r&&$t(r.update)&&h&4&&r.update.call(null,((T=(S=n[2].indexes)==null?void 0:S[n[13]])==null?void 0:T.message)||"")},d(m){m&&v(e),f&&f.d(),a=!1,we(u)}}}function O$(n){var $,C,D;let e,t,i=(((C=($=n[0])==null?void 0:$.indexes)==null?void 0:C.length)||0)+"",l,s,o,r,a,u,f,c,d,m,h,_,g=pe(((D=n[0])==null?void 0:D.indexes)||[]),k=[];for(let O=0;Obe(c,"collection",S)),c.$on("remove",n[8]),c.$on("submit",n[9]),{c(){e=b("div"),t=Y("Unique constraints and indexes ("),l=Y(i),s=Y(")"),o=M(),r=b("div");for(let O=0;O+ New index',f=M(),V(c.$$.fragment),p(e,"class","section-title"),p(u,"type","button"),p(u,"class","btn btn-xs btn-transparent btn-pill btn-outline"),p(r,"class","indexes-list svelte-167lbwu")},m(O,E){w(O,e,E),y(e,t),y(e,l),y(e,s),w(O,o,E),w(O,r,E);for(let L=0;Ld=!1)),c.$set(L)},i(O){m||(A(c.$$.fragment,O),m=!0)},o(O){I(c.$$.fragment,O),m=!1},d(O){O&&(v(e),v(o),v(r),v(f)),ut(k,O),n[6](null),z(c,O),h=!1,_()}}}const Zc=n=>n.name;function D$(n,e,t){let i;We(n,_i,m=>t(2,i=m));let{collection:l}=e,s;function o(m,h){for(let _=0;_s==null?void 0:s.show(m,h),a=()=>s==null?void 0:s.show();function u(m){te[m?"unshift":"push"](()=>{s=m,t(1,s)})}function f(m){l=m,t(0,l)}const c=m=>{for(let h=0;h{o(m.detail.old,m.detail.new)};return n.$$set=m=>{"collection"in m&&t(0,l=m.collection)},[l,s,i,o,r,a,u,f,c,d]}class E$ extends ge{constructor(e){super(),_e(this,e,D$,O$,he,{collection:0})}}function Gc(n,e,t){const i=n.slice();return i[6]=e[t],i}function Xc(n){let e,t,i,l,s,o,r;function a(){return n[4](n[6])}function u(...f){return n[5](n[6],...f)}return{c(){e=b("div"),t=b("i"),i=M(),l=b("span"),l.textContent=`${n[6].label}`,s=M(),p(t,"class","icon "+n[6].icon+" svelte-1gz9b6p"),p(l,"class","txt"),p(e,"tabindex","0"),p(e,"class","dropdown-item closable svelte-1gz9b6p")},m(f,c){w(f,e,c),y(e,t),y(e,i),y(e,l),y(e,s),o||(r=[K(e,"click",fn(a)),K(e,"keydown",fn(u))],o=!0)},p(f,c){n=f},d(f){f&&v(e),o=!1,we(r)}}}function A$(n){let e,t=pe(n[2]),i=[];for(let l=0;l{o(u.value)},a=(u,f)=>{(f.code==="Enter"||f.code==="Space")&&o(u.value)};return n.$$set=u=>{"class"in u&&t(0,i=u.class)},[i,l,s,o,r,a]}class P$ extends ge{constructor(e){super(),_e(this,e,L$,I$,he,{class:0})}}const N$=n=>({interactive:n&64,hasErrors:n&32}),Qc=n=>({interactive:n[6],hasErrors:n[5]}),F$=n=>({interactive:n&64,hasErrors:n&32}),xc=n=>({interactive:n[6],hasErrors:n[5]}),R$=n=>({interactive:n&64,hasErrors:n&32}),ed=n=>({interactive:n[6],hasErrors:n[5]});function td(n){let e;return{c(){e=b("div"),e.innerHTML='',p(e,"class","drag-handle-wrapper"),p(e,"draggable",!0),p(e,"aria-label","Sort")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function nd(n){let e,t,i;return{c(){e=b("div"),t=b("span"),i=Y(n[4]),p(t,"class","label label-success"),p(e,"class","field-labels")},m(l,s){w(l,e,s),y(e,t),y(t,i)},p(l,s){s&16&&le(i,l[4])},d(l){l&&v(e)}}}function q$(n){let e,t,i,l,s,o,r,a,u,f,c,d,m=n[0].required&&nd(n);return{c(){m&&m.c(),e=M(),t=b("div"),i=b("i"),s=M(),o=b("input"),p(i,"class",l=j.getFieldTypeIcon(n[0].type)),p(t,"class","form-field-addon prefix no-pointer-events field-type-icon"),ee(t,"txt-disabled",!n[6]),p(o,"type","text"),o.required=!0,o.disabled=r=!n[6],o.readOnly=a=n[0].id&&n[0].system,p(o,"spellcheck","false"),o.autofocus=u=!n[0].id,p(o,"placeholder","Field name"),o.value=f=n[0].name},m(h,_){m&&m.m(h,_),w(h,e,_),w(h,t,_),y(t,i),w(h,s,_),w(h,o,_),n[14](o),n[0].id||o.focus(),c||(d=K(o,"input",n[15]),c=!0)},p(h,_){h[0].required?m?m.p(h,_):(m=nd(h),m.c(),m.m(e.parentNode,e)):m&&(m.d(1),m=null),_&1&&l!==(l=j.getFieldTypeIcon(h[0].type))&&p(i,"class",l),_&64&&ee(t,"txt-disabled",!h[6]),_&64&&r!==(r=!h[6])&&(o.disabled=r),_&1&&a!==(a=h[0].id&&h[0].system)&&(o.readOnly=a),_&1&&u!==(u=!h[0].id)&&(o.autofocus=u),_&1&&f!==(f=h[0].name)&&o.value!==f&&(o.value=f)},d(h){h&&(v(e),v(t),v(s),v(o)),m&&m.d(h),n[14](null),c=!1,d()}}}function j$(n){let e;return{c(){e=b("span"),p(e,"class","separator")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function H$(n){let e,t,i,l,s;return{c(){e=b("button"),t=b("i"),p(t,"class","ri-settings-3-line"),p(e,"type","button"),p(e,"aria-label","Toggle field options"),p(e,"class",i="btn btn-sm btn-circle options-trigger "+(n[3]?"btn-secondary":"btn-transparent")),ee(e,"btn-hint",!n[3]&&!n[5]),ee(e,"btn-danger",n[5])},m(o,r){w(o,e,r),y(e,t),l||(s=K(e,"click",n[11]),l=!0)},p(o,r){r&8&&i!==(i="btn btn-sm btn-circle options-trigger "+(o[3]?"btn-secondary":"btn-transparent"))&&p(e,"class",i),r&40&&ee(e,"btn-hint",!o[3]&&!o[5]),r&40&&ee(e,"btn-danger",o[5])},d(o){o&&v(e),l=!1,s()}}}function z$(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-sm btn-circle btn-warning btn-transparent options-trigger"),p(e,"aria-label","Restore")},m(l,s){w(l,e,s),t||(i=[ve(Le.call(null,e,"Restore")),K(e,"click",n[9])],t=!0)},p:Q,d(l){l&&v(e),t=!1,we(i)}}}function id(n){let e,t,i,l,s,o,r,a,u,f,c;const d=n[13].options,m=kt(d,n,n[18],xc);s=new me({props:{class:"form-field form-field-toggle",name:"requried",$$slots:{default:[V$,({uniqueId:k})=>({24:k}),({uniqueId:k})=>k?16777216:0]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field form-field-toggle",name:"presentable",$$slots:{default:[B$,({uniqueId:k})=>({24:k}),({uniqueId:k})=>k?16777216:0]},$$scope:{ctx:n}}});const h=n[13].optionsFooter,_=kt(h,n,n[18],Qc);let g=!n[0].toDelete&&ld(n);return{c(){e=b("div"),t=b("div"),m&&m.c(),i=M(),l=b("div"),V(s.$$.fragment),o=M(),V(r.$$.fragment),a=M(),_&&_.c(),u=M(),g&&g.c(),p(t,"class","hidden-empty m-b-sm"),p(l,"class","schema-field-options-footer"),p(e,"class","schema-field-options")},m(k,S){w(k,e,S),y(e,t),m&&m.m(t,null),y(e,i),y(e,l),H(s,l,null),y(l,o),H(r,l,null),y(l,a),_&&_.m(l,null),y(l,u),g&&g.m(l,null),c=!0},p(k,S){m&&m.p&&(!c||S&262240)&&wt(m,d,k,k[18],c?vt(d,k[18],S,F$):St(k[18]),xc);const T={};S&17039377&&(T.$$scope={dirty:S,ctx:k}),s.$set(T);const $={};S&17039361&&($.$$scope={dirty:S,ctx:k}),r.$set($),_&&_.p&&(!c||S&262240)&&wt(_,h,k,k[18],c?vt(h,k[18],S,N$):St(k[18]),Qc),k[0].toDelete?g&&(oe(),I(g,1,1,()=>{g=null}),re()):g?(g.p(k,S),S&1&&A(g,1)):(g=ld(k),g.c(),A(g,1),g.m(l,null))},i(k){c||(A(m,k),A(s.$$.fragment,k),A(r.$$.fragment,k),A(_,k),A(g),k&&Ke(()=>{c&&(f||(f=Pe(e,et,{duration:150},!0)),f.run(1))}),c=!0)},o(k){I(m,k),I(s.$$.fragment,k),I(r.$$.fragment,k),I(_,k),I(g),k&&(f||(f=Pe(e,et,{duration:150},!1)),f.run(0)),c=!1},d(k){k&&v(e),m&&m.d(k),z(s),z(r),_&&_.d(k),g&&g.d(),k&&f&&f.end()}}}function V$(n){let e,t,i,l,s,o,r,a,u,f,c,d;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),o=Y(n[4]),r=M(),a=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[24]),p(s,"class","txt"),p(a,"class","ri-information-line link-hint"),p(l,"for",f=n[24])},m(m,h){w(m,e,h),e.checked=n[0].required,w(m,i,h),w(m,l,h),y(l,s),y(s,o),y(l,r),y(l,a),c||(d=[K(e,"change",n[16]),ve(u=Le.call(null,a,{text:`Requires the field value NOT to be ${j.zeroDefaultStr(n[0])}.`}))],c=!0)},p(m,h){h&16777216&&t!==(t=m[24])&&p(e,"id",t),h&1&&(e.checked=m[0].required),h&16&&le(o,m[4]),u&&$t(u.update)&&h&1&&u.update.call(null,{text:`Requires the field value NOT to be ${j.zeroDefaultStr(m[0])}.`}),h&16777216&&f!==(f=m[24])&&p(l,"for",f)},d(m){m&&(v(e),v(i),v(l)),c=!1,we(d)}}}function B$(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Presentable",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[24]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[24])},m(c,d){w(c,e,d),e.checked=n[0].presentable,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[17]),ve(Le.call(null,r,{text:"Whether the field should be preferred in the Admin UI relation listings (default to auto)."}))],u=!0)},p(c,d){d&16777216&&t!==(t=c[24])&&p(e,"id",t),d&1&&(e.checked=c[0].presentable),d&16777216&&a!==(a=c[24])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function ld(n){let e,t,i,l,s,o,r,a,u;return a=new En({props:{class:"dropdown dropdown-sm dropdown-upside dropdown-right dropdown-nowrap no-min-width",$$slots:{default:[U$]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),i=M(),l=b("div"),s=b("button"),o=b("i"),r=M(),V(a.$$.fragment),p(t,"class","flex-fill"),p(o,"class","ri-more-line"),p(s,"type","button"),p(s,"aria-label","More"),p(s,"class","btn btn-circle btn-sm btn-transparent"),p(l,"class","inline-flex flex-gap-sm flex-nowrap"),p(e,"class","m-l-auto txt-right")},m(f,c){w(f,e,c),y(e,t),y(e,i),y(e,l),y(l,s),y(s,o),y(s,r),H(a,s,null),u=!0},p(f,c){const d={};c&262144&&(d.$$scope={dirty:c,ctx:f}),a.$set(d)},i(f){u||(A(a.$$.fragment,f),u=!0)},o(f){I(a.$$.fragment,f),u=!1},d(f){f&&v(e),z(a)}}}function U$(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='Remove',p(e,"type","button"),p(e,"class","dropdown-item txt-right")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[8]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function W$(n){let e,t,i,l,s,o,r,a,u,f=n[6]&&td();l=new me({props:{class:"form-field required m-0 "+(n[6]?"":"disabled"),name:"schema."+n[1]+".name",inlineError:!0,$$slots:{default:[q$]},$$scope:{ctx:n}}});const c=n[13].default,d=kt(c,n,n[18],ed),m=d||j$();function h(S,T){if(S[0].toDelete)return z$;if(S[6])return H$}let _=h(n),g=_&&_(n),k=n[6]&&n[3]&&id(n);return{c(){e=b("div"),t=b("div"),f&&f.c(),i=M(),V(l.$$.fragment),s=M(),m&&m.c(),o=M(),g&&g.c(),r=M(),k&&k.c(),p(t,"class","schema-field-header"),p(e,"class","schema-field"),ee(e,"required",n[0].required),ee(e,"expanded",n[6]&&n[3]),ee(e,"deleted",n[0].toDelete)},m(S,T){w(S,e,T),y(e,t),f&&f.m(t,null),y(t,i),H(l,t,null),y(t,s),m&&m.m(t,null),y(t,o),g&&g.m(t,null),y(e,r),k&&k.m(e,null),u=!0},p(S,[T]){S[6]?f||(f=td(),f.c(),f.m(t,i)):f&&(f.d(1),f=null);const $={};T&64&&($.class="form-field required m-0 "+(S[6]?"":"disabled")),T&2&&($.name="schema."+S[1]+".name"),T&262229&&($.$$scope={dirty:T,ctx:S}),l.$set($),d&&d.p&&(!u||T&262240)&&wt(d,c,S,S[18],u?vt(c,S[18],T,R$):St(S[18]),ed),_===(_=h(S))&&g?g.p(S,T):(g&&g.d(1),g=_&&_(S),g&&(g.c(),g.m(t,null))),S[6]&&S[3]?k?(k.p(S,T),T&72&&A(k,1)):(k=id(S),k.c(),A(k,1),k.m(e,null)):k&&(oe(),I(k,1,1,()=>{k=null}),re()),(!u||T&1)&&ee(e,"required",S[0].required),(!u||T&72)&&ee(e,"expanded",S[6]&&S[3]),(!u||T&1)&&ee(e,"deleted",S[0].toDelete)},i(S){u||(A(l.$$.fragment,S),A(m,S),A(k),S&&Ke(()=>{u&&(a||(a=Pe(e,et,{duration:150},!0)),a.run(1))}),u=!0)},o(S){I(l.$$.fragment,S),I(m,S),I(k),S&&(a||(a=Pe(e,et,{duration:150},!1)),a.run(0)),u=!1},d(S){S&&v(e),f&&f.d(),z(l),m&&m.d(S),g&&g.d(),k&&k.d(),S&&a&&a.end()}}}let Cr=[];function Y$(n,e,t){let i,l,s,o;We(n,_i,P=>t(12,o=P));let{$$slots:r={},$$scope:a}=e;const u="f_"+j.randomString(8),f=ot(),c={bool:"Nonfalsey",number:"Nonzero"};let{key:d=""}=e,{field:m=j.initSchemaField()}=e,h,_=!1;function g(){m.id?t(0,m.toDelete=!0,m):f("remove")}function k(){t(0,m.toDelete=!1,m),Gt({})}function S(P){return j.slugify(P)}function T(){t(3,_=!0),D()}function $(){t(3,_=!1)}function C(){_?$():T()}function D(){for(let P of Cr)P.id!=u&&P.collapse()}Vt(()=>(Cr.push({id:u,collapse:$}),m.onMountSelect&&(t(0,m.onMountSelect=!1,m),h==null||h.select()),()=>{j.removeByKey(Cr,"id",u)}));function O(P){te[P?"unshift":"push"](()=>{h=P,t(2,h)})}const E=P=>{const N=m.name;t(0,m.name=S(P.target.value),m),P.target.value=m.name,f("rename",{oldName:N,newName:m.name})};function L(){m.required=this.checked,t(0,m)}function F(){m.presentable=this.checked,t(0,m)}return n.$$set=P=>{"key"in P&&t(1,d=P.key),"field"in P&&t(0,m=P.field),"$$scope"in P&&t(18,a=P.$$scope)},n.$$.update=()=>{n.$$.dirty&1&&m.toDelete&&m.originalName&&m.name!==m.originalName&&t(0,m.name=m.originalName,m),n.$$.dirty&1&&!m.originalName&&m.name&&t(0,m.originalName=m.name,m),n.$$.dirty&1&&typeof m.toDelete>"u"&&t(0,m.toDelete=!1,m),n.$$.dirty&1&&m.required&&t(0,m.nullable=!1,m),n.$$.dirty&1&&t(6,i=!m.toDelete&&!(m.id&&m.system)),n.$$.dirty&4098&&t(5,l=!j.isEmpty(j.getNestedVal(o,`schema.${d}`))),n.$$.dirty&1&&t(4,s=c[m==null?void 0:m.type]||"Nonempty")},[m,d,h,_,s,l,i,f,g,k,S,C,o,r,O,E,L,F,a]}class si extends ge{constructor(e){super(),_e(this,e,Y$,W$,he,{key:1,field:0})}}function K$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Min length"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9]),p(s,"step","1"),p(s,"min","0")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.min),r||(a=K(s,"input",n[3]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&st(s.value)!==u[0].options.min&&ue(s,u[0].options.min)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function J$(n){let e,t,i,l,s,o,r,a,u;return{c(){e=b("label"),t=Y("Max length"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9]),p(s,"step","1"),p(s,"min",r=n[0].options.min||0)},m(f,c){w(f,e,c),y(e,t),w(f,l,c),w(f,s,c),ue(s,n[0].options.max),a||(u=K(s,"input",n[4]),a=!0)},p(f,c){c&512&&i!==(i=f[9])&&p(e,"for",i),c&512&&o!==(o=f[9])&&p(s,"id",o),c&1&&r!==(r=f[0].options.min||0)&&p(s,"min",r),c&1&&st(s.value)!==f[0].options.max&&ue(s,f[0].options.max)},d(f){f&&(v(e),v(l),v(s)),a=!1,u()}}}function Z$(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Regex pattern"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","text"),p(s,"id",o=n[9]),p(s,"placeholder","Valid Go regular expression, eg. ^\\w+$")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.pattern),r||(a=K(s,"input",n[5]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&s.value!==u[0].options.pattern&&ue(s,u[0].options.pattern)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function G$(n){let e,t,i,l,s,o,r,a,u,f;return i=new me({props:{class:"form-field",name:"schema."+n[1]+".options.min",$$slots:{default:[K$,({uniqueId:c})=>({9:c}),({uniqueId:c})=>c?512:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.max",$$slots:{default:[J$,({uniqueId:c})=>({9:c}),({uniqueId:c})=>c?512:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field",name:"schema."+n[1]+".options.pattern",$$slots:{default:[Z$,({uniqueId:c})=>({9:c}),({uniqueId:c})=>c?512:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),p(t,"class","col-sm-3"),p(s,"class","col-sm-3"),p(a,"class","col-sm-6"),p(e,"class","grid grid-sm")},m(c,d){w(c,e,d),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),H(u,a,null),f=!0},p(c,d){const m={};d&2&&(m.name="schema."+c[1]+".options.min"),d&1537&&(m.$$scope={dirty:d,ctx:c}),i.$set(m);const h={};d&2&&(h.name="schema."+c[1]+".options.max"),d&1537&&(h.$$scope={dirty:d,ctx:c}),o.$set(h);const _={};d&2&&(_.name="schema."+c[1]+".options.pattern"),d&1537&&(_.$$scope={dirty:d,ctx:c}),u.$set(_)},i(c){f||(A(i.$$.fragment,c),A(o.$$.fragment,c),A(u.$$.fragment,c),f=!0)},o(c){I(i.$$.fragment,c),I(o.$$.fragment,c),I(u.$$.fragment,c),f=!1},d(c){c&&v(e),z(i),z(o),z(u)}}}function X$(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[6](r)}let o={$$slots:{options:[G$]},$$scope:{ctx:n}};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[7]),e.$on("remove",n[8]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};a&1027&&(u.$$scope={dirty:a,ctx:r}),!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function Q$(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(){s.options.min=st(this.value),t(0,s)}function a(){s.options.max=st(this.value),t(0,s)}function u(){s.options.pattern=this.value,t(0,s)}function f(m){s=m,t(0,s)}function c(m){Ae.call(this,n,m)}function d(m){Ae.call(this,n,m)}return n.$$set=m=>{e=Ne(Ne({},e),Kt(m)),t(2,l=Ge(e,i)),"field"in m&&t(0,s=m.field),"key"in m&&t(1,o=m.key)},[s,o,l,r,a,u,f,c,d]}class x$ extends ge{constructor(e){super(),_e(this,e,Q$,X$,he,{field:0,key:1})}}function eT(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Min"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9])},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.min),r||(a=K(s,"input",n[4]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(s,"id",o),f&1&&st(s.value)!==u[0].options.min&&ue(s,u[0].options.min)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function tT(n){let e,t,i,l,s,o,r,a,u;return{c(){e=b("label"),t=Y("Max"),l=M(),s=b("input"),p(e,"for",i=n[9]),p(s,"type","number"),p(s,"id",o=n[9]),p(s,"min",r=n[0].options.min)},m(f,c){w(f,e,c),y(e,t),w(f,l,c),w(f,s,c),ue(s,n[0].options.max),a||(u=K(s,"input",n[5]),a=!0)},p(f,c){c&512&&i!==(i=f[9])&&p(e,"for",i),c&512&&o!==(o=f[9])&&p(s,"id",o),c&1&&r!==(r=f[0].options.min)&&p(s,"min",r),c&1&&st(s.value)!==f[0].options.max&&ue(s,f[0].options.max)},d(f){f&&(v(e),v(l),v(s)),a=!1,u()}}}function nT(n){let e,t,i,l,s,o,r;return i=new me({props:{class:"form-field",name:"schema."+n[1]+".options.min",$$slots:{default:[eT,({uniqueId:a})=>({9:a}),({uniqueId:a})=>a?512:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.max",$$slots:{default:[tT,({uniqueId:a})=>({9:a}),({uniqueId:a})=>a?512:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),p(t,"class","col-sm-6"),p(s,"class","col-sm-6"),p(e,"class","grid grid-sm")},m(a,u){w(a,e,u),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),r=!0},p(a,u){const f={};u&2&&(f.name="schema."+a[1]+".options.min"),u&1537&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};u&2&&(c.name="schema."+a[1]+".options.max"),u&1537&&(c.$$scope={dirty:u,ctx:a}),o.$set(c)},i(a){r||(A(i.$$.fragment,a),A(o.$$.fragment,a),r=!0)},o(a){I(i.$$.fragment,a),I(o.$$.fragment,a),r=!1},d(a){a&&v(e),z(i),z(o)}}}function iT(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="No decimals",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[9]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[9])},m(c,d){w(c,e,d),e.checked=n[0].options.noDecimal,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[3]),ve(Le.call(null,r,{text:"Existing decimal numbers will not be affected."}))],u=!0)},p(c,d){d&512&&t!==(t=c[9])&&p(e,"id",t),d&1&&(e.checked=c[0].options.noDecimal),d&512&&a!==(a=c[9])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function lT(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle",name:"schema."+n[1]+".options.noDecimal",$$slots:{default:[iT,({uniqueId:i})=>({9:i}),({uniqueId:i})=>i?512:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.name="schema."+i[1]+".options.noDecimal"),l&1537&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function sT(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[6](r)}let o={$$slots:{optionsFooter:[lT],options:[nT]},$$scope:{ctx:n}};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[7]),e.$on("remove",n[8]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};a&1027&&(u.$$scope={dirty:a,ctx:r}),!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function oT(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(){s.options.noDecimal=this.checked,t(0,s)}function a(){s.options.min=st(this.value),t(0,s)}function u(){s.options.max=st(this.value),t(0,s)}function f(m){s=m,t(0,s)}function c(m){Ae.call(this,n,m)}function d(m){Ae.call(this,n,m)}return n.$$set=m=>{e=Ne(Ne({},e),Kt(m)),t(2,l=Ge(e,i)),"field"in m&&t(0,s=m.field),"key"in m&&t(1,o=m.key)},[s,o,l,r,a,u,f,c,d]}class rT extends ge{constructor(e){super(),_e(this,e,oT,sT,he,{field:0,key:1})}}function aT(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[3](r)}let o={};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[4]),e.$on("remove",n[5]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function uT(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(f){s=f,t(0,s)}function a(f){Ae.call(this,n,f)}function u(f){Ae.call(this,n,f)}return n.$$set=f=>{e=Ne(Ne({},e),Kt(f)),t(2,l=Ge(e,i)),"field"in f&&t(0,s=f.field),"key"in f&&t(1,o=f.key)},[s,o,l,r,a,u]}class fT extends ge{constructor(e){super(),_e(this,e,uT,aT,he,{field:0,key:1})}}function cT(n){let e,t,i,l,s=[{type:t=n[5].type||"text"},{value:n[4]},{disabled:n[3]},{readOnly:n[2]},n[5]],o={};for(let r=0;r{t(0,o=j.splitNonEmpty(c.target.value,r))};return n.$$set=c=>{e=Ne(Ne({},e),Kt(c)),t(5,s=Ge(e,l)),"value"in c&&t(0,o=c.value),"separator"in c&&t(1,r=c.separator),"readonly"in c&&t(2,a=c.readonly),"disabled"in c&&t(3,u=c.disabled)},n.$$.update=()=>{n.$$.dirty&3&&t(4,i=j.joinNonEmpty(o,r+" "))},[o,r,a,u,i,s,f]}class Ll extends ge{constructor(e){super(),_e(this,e,dT,cT,he,{value:0,separator:1,readonly:2,disabled:3})}}function pT(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;function h(g){n[3](g)}let _={id:n[8],disabled:!j.isEmpty(n[0].options.onlyDomains)};return n[0].options.exceptDomains!==void 0&&(_.value=n[0].options.exceptDomains),r=new Ll({props:_}),te.push(()=>be(r,"value",h)),{c(){e=b("label"),t=b("span"),t.textContent="Except domains",i=M(),l=b("i"),o=M(),V(r.$$.fragment),u=M(),f=b("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[8]),p(f,"class","help-block")},m(g,k){w(g,e,k),y(e,t),y(e,i),y(e,l),w(g,o,k),H(r,g,k),w(g,u,k),w(g,f,k),c=!0,d||(m=ve(Le.call(null,l,{text:`List of domains that are NOT allowed. This field is disabled if "Only domains" is set.`,position:"top"})),d=!0)},p(g,k){(!c||k&256&&s!==(s=g[8]))&&p(e,"for",s);const S={};k&256&&(S.id=g[8]),k&1&&(S.disabled=!j.isEmpty(g[0].options.onlyDomains)),!a&&k&1&&(a=!0,S.value=g[0].options.exceptDomains,ye(()=>a=!1)),r.$set(S)},i(g){c||(A(r.$$.fragment,g),c=!0)},o(g){I(r.$$.fragment,g),c=!1},d(g){g&&(v(e),v(o),v(u),v(f)),z(r,g),d=!1,m()}}}function mT(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;function h(g){n[4](g)}let _={id:n[8]+".options.onlyDomains",disabled:!j.isEmpty(n[0].options.exceptDomains)};return n[0].options.onlyDomains!==void 0&&(_.value=n[0].options.onlyDomains),r=new Ll({props:_}),te.push(()=>be(r,"value",h)),{c(){e=b("label"),t=b("span"),t.textContent="Only domains",i=M(),l=b("i"),o=M(),V(r.$$.fragment),u=M(),f=b("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[8]+".options.onlyDomains"),p(f,"class","help-block")},m(g,k){w(g,e,k),y(e,t),y(e,i),y(e,l),w(g,o,k),H(r,g,k),w(g,u,k),w(g,f,k),c=!0,d||(m=ve(Le.call(null,l,{text:`List of domains that are ONLY allowed. This field is disabled if "Except domains" is set.`,position:"top"})),d=!0)},p(g,k){(!c||k&256&&s!==(s=g[8]+".options.onlyDomains"))&&p(e,"for",s);const S={};k&256&&(S.id=g[8]+".options.onlyDomains"),k&1&&(S.disabled=!j.isEmpty(g[0].options.exceptDomains)),!a&&k&1&&(a=!0,S.value=g[0].options.onlyDomains,ye(()=>a=!1)),r.$set(S)},i(g){c||(A(r.$$.fragment,g),c=!0)},o(g){I(r.$$.fragment,g),c=!1},d(g){g&&(v(e),v(o),v(u),v(f)),z(r,g),d=!1,m()}}}function hT(n){let e,t,i,l,s,o,r;return i=new me({props:{class:"form-field",name:"schema."+n[1]+".options.exceptDomains",$$slots:{default:[pT,({uniqueId:a})=>({8:a}),({uniqueId:a})=>a?256:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.onlyDomains",$$slots:{default:[mT,({uniqueId:a})=>({8:a}),({uniqueId:a})=>a?256:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),p(t,"class","col-sm-6"),p(s,"class","col-sm-6"),p(e,"class","grid grid-sm")},m(a,u){w(a,e,u),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),r=!0},p(a,u){const f={};u&2&&(f.name="schema."+a[1]+".options.exceptDomains"),u&769&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};u&2&&(c.name="schema."+a[1]+".options.onlyDomains"),u&769&&(c.$$scope={dirty:u,ctx:a}),o.$set(c)},i(a){r||(A(i.$$.fragment,a),A(o.$$.fragment,a),r=!0)},o(a){I(i.$$.fragment,a),I(o.$$.fragment,a),r=!1},d(a){a&&v(e),z(i),z(o)}}}function _T(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[5](r)}let o={$$slots:{options:[hT]},$$scope:{ctx:n}};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[6]),e.$on("remove",n[7]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};a&515&&(u.$$scope={dirty:a,ctx:r}),!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function gT(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(d){n.$$.not_equal(s.options.exceptDomains,d)&&(s.options.exceptDomains=d,t(0,s))}function a(d){n.$$.not_equal(s.options.onlyDomains,d)&&(s.options.onlyDomains=d,t(0,s))}function u(d){s=d,t(0,s)}function f(d){Ae.call(this,n,d)}function c(d){Ae.call(this,n,d)}return n.$$set=d=>{e=Ne(Ne({},e),Kt(d)),t(2,l=Ge(e,i)),"field"in d&&t(0,s=d.field),"key"in d&&t(1,o=d.key)},[s,o,l,r,a,u,f,c]}class Lb extends ge{constructor(e){super(),_e(this,e,gT,_T,he,{field:0,key:1})}}function bT(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[3](r)}let o={};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[4]),e.$on("remove",n[5]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function yT(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(f){s=f,t(0,s)}function a(f){Ae.call(this,n,f)}function u(f){Ae.call(this,n,f)}return n.$$set=f=>{e=Ne(Ne({},e),Kt(f)),t(2,l=Ge(e,i)),"field"in f&&t(0,s=f.field),"key"in f&&t(1,o=f.key)},[s,o,l,r,a,u]}class kT extends ge{constructor(e){super(),_e(this,e,yT,bT,he,{field:0,key:1})}}function vT(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Strip urls domain",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[8]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[8])},m(c,d){w(c,e,d),e.checked=n[0].options.convertUrls,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[3]),ve(Le.call(null,r,{text:"This could help making the editor content more portable between environments since there will be no local base url to replace."}))],u=!0)},p(c,d){d&256&&t!==(t=c[8])&&p(e,"id",t),d&1&&(e.checked=c[0].options.convertUrls),d&256&&a!==(a=c[8])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function wT(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle",name:"schema."+n[1]+".options.convertUrls",$$slots:{default:[vT,({uniqueId:i})=>({8:i}),({uniqueId:i})=>i?256:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&2&&(s.name="schema."+i[1]+".options.convertUrls"),l&769&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function ST(n){let e,t,i;const l=[{key:n[1]},n[2]];function s(r){n[4](r)}let o={$$slots:{optionsFooter:[wT]},$$scope:{ctx:n}};for(let r=0;rbe(e,"field",s)),e.$on("rename",n[5]),e.$on("remove",n[6]),{c(){V(e.$$.fragment)},m(r,a){H(e,r,a),i=!0},p(r,[a]){const u=a&6?pt(l,[a&2&&{key:r[1]},a&4&&Tt(r[2])]):{};a&515&&(u.$$scope={dirty:a,ctx:r}),!t&&a&1&&(t=!0,u.field=r[0],ye(()=>t=!1)),e.$set(u)},i(r){i||(A(e.$$.fragment,r),i=!0)},o(r){I(e.$$.fragment,r),i=!1},d(r){z(e,r)}}}function $T(n,e,t){const i=["field","key"];let l=Ge(e,i),{field:s}=e,{key:o=""}=e;function r(){t(0,s.options={convertUrls:!1},s)}function a(){s.options.convertUrls=this.checked,t(0,s)}function u(d){s=d,t(0,s)}function f(d){Ae.call(this,n,d)}function c(d){Ae.call(this,n,d)}return n.$$set=d=>{e=Ne(Ne({},e),Kt(d)),t(2,l=Ge(e,i)),"field"in d&&t(0,s=d.field),"key"in d&&t(1,o=d.key)},n.$$.update=()=>{n.$$.dirty&1&&j.isEmpty(s.options)&&r()},[s,o,l,a,u,f,c]}class TT extends ge{constructor(e){super(),_e(this,e,$T,ST,he,{field:0,key:1})}}var Mr=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],yl={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(n){return typeof console<"u"&&console.warn(n)},getWeek:function(n){var e=new Date(n.getTime());e.setHours(0,0,0,0),e.setDate(e.getDate()+3-(e.getDay()+6)%7);var t=new Date(e.getFullYear(),0,4);return 1+Math.round(((e.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},gs={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(n){var e=n%100;if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},pn=function(n,e){return e===void 0&&(e=2),("000"+n).slice(e*-1)},Ln=function(n){return n===!0?1:0};function sd(n,e){var t;return function(){var i=this,l=arguments;clearTimeout(t),t=setTimeout(function(){return n.apply(i,l)},e)}}var Or=function(n){return n instanceof Array?n:[n]};function rn(n,e,t){if(t===!0)return n.classList.add(e);n.classList.remove(e)}function ct(n,e,t){var i=window.document.createElement(n);return e=e||"",t=t||"",i.className=e,t!==void 0&&(i.textContent=t),i}function no(n){for(;n.firstChild;)n.removeChild(n.firstChild)}function Pb(n,e){if(e(n))return n;if(n.parentNode)return Pb(n.parentNode,e)}function io(n,e){var t=ct("div","numInputWrapper"),i=ct("input","numInput "+n),l=ct("span","arrowUp"),s=ct("span","arrowDown");if(navigator.userAgent.indexOf("MSIE 9.0")===-1?i.type="number":(i.type="text",i.pattern="\\d*"),e!==void 0)for(var o in e)i.setAttribute(o,e[o]);return t.appendChild(i),t.appendChild(l),t.appendChild(s),t}function yn(n){try{if(typeof n.composedPath=="function"){var e=n.composedPath();return e[0]}return n.target}catch{return n.target}}var Dr=function(){},qo=function(n,e,t){return t.months[e?"shorthand":"longhand"][n]},CT={D:Dr,F:function(n,e,t){n.setMonth(t.months.longhand.indexOf(e))},G:function(n,e){n.setHours((n.getHours()>=12?12:0)+parseFloat(e))},H:function(n,e){n.setHours(parseFloat(e))},J:function(n,e){n.setDate(parseFloat(e))},K:function(n,e,t){n.setHours(n.getHours()%12+12*Ln(new RegExp(t.amPM[1],"i").test(e)))},M:function(n,e,t){n.setMonth(t.months.shorthand.indexOf(e))},S:function(n,e){n.setSeconds(parseFloat(e))},U:function(n,e){return new Date(parseFloat(e)*1e3)},W:function(n,e,t){var i=parseInt(e),l=new Date(n.getFullYear(),0,2+(i-1)*7,0,0,0,0);return l.setDate(l.getDate()-l.getDay()+t.firstDayOfWeek),l},Y:function(n,e){n.setFullYear(parseFloat(e))},Z:function(n,e){return new Date(e)},d:function(n,e){n.setDate(parseFloat(e))},h:function(n,e){n.setHours((n.getHours()>=12?12:0)+parseFloat(e))},i:function(n,e){n.setMinutes(parseFloat(e))},j:function(n,e){n.setDate(parseFloat(e))},l:Dr,m:function(n,e){n.setMonth(parseFloat(e)-1)},n:function(n,e){n.setMonth(parseFloat(e)-1)},s:function(n,e){n.setSeconds(parseFloat(e))},u:function(n,e){return new Date(parseFloat(e))},w:Dr,y:function(n,e){n.setFullYear(2e3+parseFloat(e))}},Ji={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},os={Z:function(n){return n.toISOString()},D:function(n,e,t){return e.weekdays.shorthand[os.w(n,e,t)]},F:function(n,e,t){return qo(os.n(n,e,t)-1,!1,e)},G:function(n,e,t){return pn(os.h(n,e,t))},H:function(n){return pn(n.getHours())},J:function(n,e){return e.ordinal!==void 0?n.getDate()+e.ordinal(n.getDate()):n.getDate()},K:function(n,e){return e.amPM[Ln(n.getHours()>11)]},M:function(n,e){return qo(n.getMonth(),!0,e)},S:function(n){return pn(n.getSeconds())},U:function(n){return n.getTime()/1e3},W:function(n,e,t){return t.getWeek(n)},Y:function(n){return pn(n.getFullYear(),4)},d:function(n){return pn(n.getDate())},h:function(n){return n.getHours()%12?n.getHours()%12:12},i:function(n){return pn(n.getMinutes())},j:function(n){return n.getDate()},l:function(n,e){return e.weekdays.longhand[n.getDay()]},m:function(n){return pn(n.getMonth()+1)},n:function(n){return n.getMonth()+1},s:function(n){return n.getSeconds()},u:function(n){return n.getTime()},w:function(n){return n.getDay()},y:function(n){return String(n.getFullYear()).substring(2)}},Nb=function(n){var e=n.config,t=e===void 0?yl:e,i=n.l10n,l=i===void 0?gs:i,s=n.isMobile,o=s===void 0?!1:s;return function(r,a,u){var f=u||l;return t.formatDate!==void 0&&!o?t.formatDate(r,a,f):a.split("").map(function(c,d,m){return os[c]&&m[d-1]!=="\\"?os[c](r,f,t):c!=="\\"?c:""}).join("")}},fa=function(n){var e=n.config,t=e===void 0?yl:e,i=n.l10n,l=i===void 0?gs:i;return function(s,o,r,a){if(!(s!==0&&!s)){var u=a||l,f,c=s;if(s instanceof Date)f=new Date(s.getTime());else if(typeof s!="string"&&s.toFixed!==void 0)f=new Date(s);else if(typeof s=="string"){var d=o||(t||yl).dateFormat,m=String(s).trim();if(m==="today")f=new Date,r=!0;else if(t&&t.parseDate)f=t.parseDate(s,d);else if(/Z$/.test(m)||/GMT$/.test(m))f=new Date(s);else{for(var h=void 0,_=[],g=0,k=0,S="";gMath.min(e,t)&&n=0?new Date:new Date(t.config.minDate.getTime()),ie=Ar(t.config);X.setHours(ie.hours,ie.minutes,ie.seconds,X.getMilliseconds()),t.selectedDates=[X],t.latestSelectedDateObj=X}Z!==void 0&&Z.type!=="blur"&&oi(Z);var de=t._input.value;c(),en(),t._input.value!==de&&t._debouncedChange()}function u(Z,X){return Z%12+12*Ln(X===t.l10n.amPM[1])}function f(Z){switch(Z%24){case 0:case 12:return 12;default:return Z%12}}function c(){if(!(t.hourElement===void 0||t.minuteElement===void 0)){var Z=(parseInt(t.hourElement.value.slice(-2),10)||0)%24,X=(parseInt(t.minuteElement.value,10)||0)%60,ie=t.secondElement!==void 0?(parseInt(t.secondElement.value,10)||0)%60:0;t.amPM!==void 0&&(Z=u(Z,t.amPM.textContent));var de=t.config.minTime!==void 0||t.config.minDate&&t.minDateHasTime&&t.latestSelectedDateObj&&kn(t.latestSelectedDateObj,t.config.minDate,!0)===0,$e=t.config.maxTime!==void 0||t.config.maxDate&&t.maxDateHasTime&&t.latestSelectedDateObj&&kn(t.latestSelectedDateObj,t.config.maxDate,!0)===0;if(t.config.maxTime!==void 0&&t.config.minTime!==void 0&&t.config.minTime>t.config.maxTime){var Ie=Er(t.config.minTime.getHours(),t.config.minTime.getMinutes(),t.config.minTime.getSeconds()),Je=Er(t.config.maxTime.getHours(),t.config.maxTime.getMinutes(),t.config.maxTime.getSeconds()),qe=Er(Z,X,ie);if(qe>Je&&qe=12)]),t.secondElement!==void 0&&(t.secondElement.value=pn(ie)))}function h(Z){var X=yn(Z),ie=parseInt(X.value)+(Z.delta||0);(ie/1e3>1||Z.key==="Enter"&&!/[^\d]/.test(ie.toString()))&&tt(ie)}function _(Z,X,ie,de){if(X instanceof Array)return X.forEach(function($e){return _(Z,$e,ie,de)});if(Z instanceof Array)return Z.forEach(function($e){return _($e,X,ie,de)});Z.addEventListener(X,ie,de),t._handlers.push({remove:function(){return Z.removeEventListener(X,ie,de)}})}function g(){gt("onChange")}function k(){if(t.config.wrap&&["open","close","toggle","clear"].forEach(function(ie){Array.prototype.forEach.call(t.element.querySelectorAll("[data-"+ie+"]"),function(de){return _(de,"click",t[ie])})}),t.isMobile){al();return}var Z=sd(ze,50);if(t._debouncedChange=sd(g,ET),t.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&_(t.daysContainer,"mouseover",function(ie){t.config.mode==="range"&&Oe(yn(ie))}),_(t._input,"keydown",Te),t.calendarContainer!==void 0&&_(t.calendarContainer,"keydown",Te),!t.config.inline&&!t.config.static&&_(window,"resize",Z),window.ontouchstart!==void 0?_(window.document,"touchstart",Ze):_(window.document,"mousedown",Ze),_(window.document,"focus",Ze,{capture:!0}),t.config.clickOpens===!0&&(_(t._input,"focus",t.open),_(t._input,"click",t.open)),t.daysContainer!==void 0&&(_(t.monthNav,"click",Bn),_(t.monthNav,["keyup","increment"],h),_(t.daysContainer,"click",ol)),t.timeContainer!==void 0&&t.minuteElement!==void 0&&t.hourElement!==void 0){var X=function(ie){return yn(ie).select()};_(t.timeContainer,["increment"],a),_(t.timeContainer,"blur",a,{capture:!0}),_(t.timeContainer,"click",T),_([t.hourElement,t.minuteElement],["focus","click"],X),t.secondElement!==void 0&&_(t.secondElement,"focus",function(){return t.secondElement&&t.secondElement.select()}),t.amPM!==void 0&&_(t.amPM,"click",function(ie){a(ie)})}t.config.allowInput&&_(t._input,"blur",Pt)}function S(Z,X){var ie=Z!==void 0?t.parseDate(Z):t.latestSelectedDateObj||(t.config.minDate&&t.config.minDate>t.now?t.config.minDate:t.config.maxDate&&t.config.maxDate1),t.calendarContainer.appendChild(Z);var $e=t.config.appendTo!==void 0&&t.config.appendTo.nodeType!==void 0;if((t.config.inline||t.config.static)&&(t.calendarContainer.classList.add(t.config.inline?"inline":"static"),t.config.inline&&(!$e&&t.element.parentNode?t.element.parentNode.insertBefore(t.calendarContainer,t._input.nextSibling):t.config.appendTo!==void 0&&t.config.appendTo.appendChild(t.calendarContainer)),t.config.static)){var Ie=ct("div","flatpickr-wrapper");t.element.parentNode&&t.element.parentNode.insertBefore(Ie,t.element),Ie.appendChild(t.element),t.altInput&&Ie.appendChild(t.altInput),Ie.appendChild(t.calendarContainer)}!t.config.static&&!t.config.inline&&(t.config.appendTo!==void 0?t.config.appendTo:window.document.body).appendChild(t.calendarContainer)}function D(Z,X,ie,de){var $e=Xe(X,!0),Ie=ct("span",Z,X.getDate().toString());return Ie.dateObj=X,Ie.$i=de,Ie.setAttribute("aria-label",t.formatDate(X,t.config.ariaDateFormat)),Z.indexOf("hidden")===-1&&kn(X,t.now)===0&&(t.todayDateElem=Ie,Ie.classList.add("today"),Ie.setAttribute("aria-current","date")),$e?(Ie.tabIndex=-1,Ce(X)&&(Ie.classList.add("selected"),t.selectedDateElem=Ie,t.config.mode==="range"&&(rn(Ie,"startRange",t.selectedDates[0]&&kn(X,t.selectedDates[0],!0)===0),rn(Ie,"endRange",t.selectedDates[1]&&kn(X,t.selectedDates[1],!0)===0),Z==="nextMonthDay"&&Ie.classList.add("inRange")))):Ie.classList.add("flatpickr-disabled"),t.config.mode==="range"&&Qe(X)&&!Ce(X)&&Ie.classList.add("inRange"),t.weekNumbers&&t.config.showMonths===1&&Z!=="prevMonthDay"&&de%7===6&&t.weekNumbers.insertAdjacentHTML("beforeend",""+t.config.getWeek(X)+""),gt("onDayCreate",Ie),Ie}function O(Z){Z.focus(),t.config.mode==="range"&&Oe(Z)}function E(Z){for(var X=Z>0?0:t.config.showMonths-1,ie=Z>0?t.config.showMonths:-1,de=X;de!=ie;de+=Z)for(var $e=t.daysContainer.children[de],Ie=Z>0?0:$e.children.length-1,Je=Z>0?$e.children.length:-1,qe=Ie;qe!=Je;qe+=Z){var xe=$e.children[qe];if(xe.className.indexOf("hidden")===-1&&Xe(xe.dateObj))return xe}}function L(Z,X){for(var ie=Z.className.indexOf("Month")===-1?Z.dateObj.getMonth():t.currentMonth,de=X>0?t.config.showMonths:-1,$e=X>0?1:-1,Ie=ie-t.currentMonth;Ie!=de;Ie+=$e)for(var Je=t.daysContainer.children[Ie],qe=ie-t.currentMonth===Ie?Z.$i+X:X<0?Je.children.length-1:0,xe=Je.children.length,Re=qe;Re>=0&&Re0?xe:-1);Re+=$e){var Be=Je.children[Re];if(Be.className.indexOf("hidden")===-1&&Xe(Be.dateObj)&&Math.abs(Z.$i-Re)>=Math.abs(X))return O(Be)}t.changeMonth($e),F(E($e),0)}function F(Z,X){var ie=s(),de=Ct(ie||document.body),$e=Z!==void 0?Z:de?ie:t.selectedDateElem!==void 0&&Ct(t.selectedDateElem)?t.selectedDateElem:t.todayDateElem!==void 0&&Ct(t.todayDateElem)?t.todayDateElem:E(X>0?1:-1);$e===void 0?t._input.focus():de?L($e,X):O($e)}function P(Z,X){for(var ie=(new Date(Z,X,1).getDay()-t.l10n.firstDayOfWeek+7)%7,de=t.utils.getDaysInMonth((X-1+12)%12,Z),$e=t.utils.getDaysInMonth(X,Z),Ie=window.document.createDocumentFragment(),Je=t.config.showMonths>1,qe=Je?"prevMonthDay hidden":"prevMonthDay",xe=Je?"nextMonthDay hidden":"nextMonthDay",Re=de+1-ie,Be=0;Re<=de;Re++,Be++)Ie.appendChild(D("flatpickr-day "+qe,new Date(Z,X-1,Re),Re,Be));for(Re=1;Re<=$e;Re++,Be++)Ie.appendChild(D("flatpickr-day",new Date(Z,X,Re),Re,Be));for(var yt=$e+1;yt<=42-ie&&(t.config.showMonths===1||Be%7!==0);yt++,Be++)Ie.appendChild(D("flatpickr-day "+xe,new Date(Z,X+1,yt%$e),yt,Be));var Xn=ct("div","dayContainer");return Xn.appendChild(Ie),Xn}function N(){if(t.daysContainer!==void 0){no(t.daysContainer),t.weekNumbers&&no(t.weekNumbers);for(var Z=document.createDocumentFragment(),X=0;X1||t.config.monthSelectorType!=="dropdown")){var Z=function(de){return t.config.minDate!==void 0&&t.currentYear===t.config.minDate.getFullYear()&&det.config.maxDate.getMonth())};t.monthsDropdownContainer.tabIndex=-1,t.monthsDropdownContainer.innerHTML="";for(var X=0;X<12;X++)if(Z(X)){var ie=ct("option","flatpickr-monthDropdown-month");ie.value=new Date(t.currentYear,X).getMonth().toString(),ie.textContent=qo(X,t.config.shorthandCurrentMonth,t.l10n),ie.tabIndex=-1,t.currentMonth===X&&(ie.selected=!0),t.monthsDropdownContainer.appendChild(ie)}}}function q(){var Z=ct("div","flatpickr-month"),X=window.document.createDocumentFragment(),ie;t.config.showMonths>1||t.config.monthSelectorType==="static"?ie=ct("span","cur-month"):(t.monthsDropdownContainer=ct("select","flatpickr-monthDropdown-months"),t.monthsDropdownContainer.setAttribute("aria-label",t.l10n.monthAriaLabel),_(t.monthsDropdownContainer,"change",function(Je){var qe=yn(Je),xe=parseInt(qe.value,10);t.changeMonth(xe-t.currentMonth),gt("onMonthChange")}),R(),ie=t.monthsDropdownContainer);var de=io("cur-year",{tabindex:"-1"}),$e=de.getElementsByTagName("input")[0];$e.setAttribute("aria-label",t.l10n.yearAriaLabel),t.config.minDate&&$e.setAttribute("min",t.config.minDate.getFullYear().toString()),t.config.maxDate&&($e.setAttribute("max",t.config.maxDate.getFullYear().toString()),$e.disabled=!!t.config.minDate&&t.config.minDate.getFullYear()===t.config.maxDate.getFullYear());var Ie=ct("div","flatpickr-current-month");return Ie.appendChild(ie),Ie.appendChild(de),X.appendChild(Ie),Z.appendChild(X),{container:Z,yearElement:$e,monthElement:ie}}function W(){no(t.monthNav),t.monthNav.appendChild(t.prevMonthNav),t.config.showMonths&&(t.yearElements=[],t.monthElements=[]);for(var Z=t.config.showMonths;Z--;){var X=q();t.yearElements.push(X.yearElement),t.monthElements.push(X.monthElement),t.monthNav.appendChild(X.container)}t.monthNav.appendChild(t.nextMonthNav)}function J(){return t.monthNav=ct("div","flatpickr-months"),t.yearElements=[],t.monthElements=[],t.prevMonthNav=ct("span","flatpickr-prev-month"),t.prevMonthNav.innerHTML=t.config.prevArrow,t.nextMonthNav=ct("span","flatpickr-next-month"),t.nextMonthNav.innerHTML=t.config.nextArrow,W(),Object.defineProperty(t,"_hidePrevMonthArrow",{get:function(){return t.__hidePrevMonthArrow},set:function(Z){t.__hidePrevMonthArrow!==Z&&(rn(t.prevMonthNav,"flatpickr-disabled",Z),t.__hidePrevMonthArrow=Z)}}),Object.defineProperty(t,"_hideNextMonthArrow",{get:function(){return t.__hideNextMonthArrow},set:function(Z){t.__hideNextMonthArrow!==Z&&(rn(t.nextMonthNav,"flatpickr-disabled",Z),t.__hideNextMonthArrow=Z)}}),t.currentYearElement=t.yearElements[0],Jt(),t.monthNav}function G(){t.calendarContainer.classList.add("hasTime"),t.config.noCalendar&&t.calendarContainer.classList.add("noCalendar");var Z=Ar(t.config);t.timeContainer=ct("div","flatpickr-time"),t.timeContainer.tabIndex=-1;var X=ct("span","flatpickr-time-separator",":"),ie=io("flatpickr-hour",{"aria-label":t.l10n.hourAriaLabel});t.hourElement=ie.getElementsByTagName("input")[0];var de=io("flatpickr-minute",{"aria-label":t.l10n.minuteAriaLabel});if(t.minuteElement=de.getElementsByTagName("input")[0],t.hourElement.tabIndex=t.minuteElement.tabIndex=-1,t.hourElement.value=pn(t.latestSelectedDateObj?t.latestSelectedDateObj.getHours():t.config.time_24hr?Z.hours:f(Z.hours)),t.minuteElement.value=pn(t.latestSelectedDateObj?t.latestSelectedDateObj.getMinutes():Z.minutes),t.hourElement.setAttribute("step",t.config.hourIncrement.toString()),t.minuteElement.setAttribute("step",t.config.minuteIncrement.toString()),t.hourElement.setAttribute("min",t.config.time_24hr?"0":"1"),t.hourElement.setAttribute("max",t.config.time_24hr?"23":"12"),t.hourElement.setAttribute("maxlength","2"),t.minuteElement.setAttribute("min","0"),t.minuteElement.setAttribute("max","59"),t.minuteElement.setAttribute("maxlength","2"),t.timeContainer.appendChild(ie),t.timeContainer.appendChild(X),t.timeContainer.appendChild(de),t.config.time_24hr&&t.timeContainer.classList.add("time24hr"),t.config.enableSeconds){t.timeContainer.classList.add("hasSeconds");var $e=io("flatpickr-second");t.secondElement=$e.getElementsByTagName("input")[0],t.secondElement.value=pn(t.latestSelectedDateObj?t.latestSelectedDateObj.getSeconds():Z.seconds),t.secondElement.setAttribute("step",t.minuteElement.getAttribute("step")),t.secondElement.setAttribute("min","0"),t.secondElement.setAttribute("max","59"),t.secondElement.setAttribute("maxlength","2"),t.timeContainer.appendChild(ct("span","flatpickr-time-separator",":")),t.timeContainer.appendChild($e)}return t.config.time_24hr||(t.amPM=ct("span","flatpickr-am-pm",t.l10n.amPM[Ln((t.latestSelectedDateObj?t.hourElement.value:t.config.defaultHour)>11)]),t.amPM.title=t.l10n.toggleTitle,t.amPM.tabIndex=-1,t.timeContainer.appendChild(t.amPM)),t.timeContainer}function B(){t.weekdayContainer?no(t.weekdayContainer):t.weekdayContainer=ct("div","flatpickr-weekdays");for(var Z=t.config.showMonths;Z--;){var X=ct("div","flatpickr-weekdaycontainer");t.weekdayContainer.appendChild(X)}return U(),t.weekdayContainer}function U(){if(t.weekdayContainer){var Z=t.l10n.firstDayOfWeek,X=od(t.l10n.weekdays.shorthand);Z>0&&Z @@ -77,7 +77,7 @@ var xb=Object.defineProperty;var e0=(n,e,t)=>e in n?xb(n,e,{enumerable:!0,config `),l=b("code"),l.textContent="id",s=Y(` , `),o=b("code"),o.textContent="created",r=Y(` , `),a=b("code"),a.textContent="updated",u=M(),O&&O.c(),f=Y(` - .`),c=M(),d=b("div");for(let N=0;NC=!1)),$.$set(q)},i(N){if(!D){for(let R=0;RD.name===$))}function f($){return i.findIndex(C=>C===$)}function c($,C){var D;!((D=l==null?void 0:l.schema)!=null&&D.length)||$===C||!C||t(0,l.indexes=l.indexes.map(O=>j.replaceIndexColumn(O,$,C)),l)}function d($,C,D,O){D[O]=$,t(0,l)}const m=$=>o($),h=$=>c($.detail.oldName,$.detail.newName);function _($){n.$$.not_equal(l.schema,$)&&(l.schema=$,t(0,l))}const g=$=>{if(!$.detail)return;const C=$.detail.target;C.style.opacity=0,setTimeout(()=>{var D;(D=C==null?void 0:C.style)==null||D.removeProperty("opacity")},0),$.detail.dataTransfer.setDragImage(C,0,0)},k=()=>{Gt({})},S=$=>r($.detail);function T($){l=$,t(0,l)}return n.$$set=$=>{"collection"in $&&t(0,l=$.collection)},n.$$.update=()=>{n.$$.dirty&1&&typeof l.schema>"u"&&t(0,l.schema=[],l),n.$$.dirty&1&&(i=l.schema.filter($=>!$.toDelete)||[])},[l,s,o,r,f,c,d,m,h,_,g,k,S,T]}class xC extends ge{constructor(e){super(),_e(this,e,QC,XC,he,{collection:0})}}const e5=n=>({isAdminOnly:n&512}),Pd=n=>({isAdminOnly:n[9]}),t5=n=>({isAdminOnly:n&512}),Nd=n=>({isAdminOnly:n[9]}),n5=n=>({isAdminOnly:n&512}),Fd=n=>({isAdminOnly:n[9]});function i5(n){let e,t;return e=new me({props:{class:"form-field rule-field "+(n[4]?"requied":"")+" "+(n[9]?"disabled":""),name:n[3],$$slots:{default:[s5,({uniqueId:i})=>({18:i}),({uniqueId:i})=>i?262144:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&528&&(s.class="form-field rule-field "+(i[4]?"requied":"")+" "+(i[9]?"disabled":"")),l&8&&(s.name=i[3]),l&295655&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function l5(n){let e;return{c(){e=b("div"),e.innerHTML='',p(e,"class","txt-center")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function Rd(n){let e,t,i;return{c(){e=b("button"),e.innerHTML=' Set Admins only',p(e,"type","button"),p(e,"class","btn btn-sm btn-transparent btn-hint lock-toggle svelte-1akuazq")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[11]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function qd(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='Unlock and set custom rule
',p(e,"type","button"),p(e,"class","unlock-overlay svelte-1akuazq"),p(e,"aria-label","Unlock and set custom rule")},m(o,r){w(o,e,r),i=!0,l||(s=K(e,"click",n[10]),l=!0)},p:Q,i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.98},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.98},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function s5(n){let e,t,i,l,s,o,r=n[9]?"- Admins only":"",a,u,f,c,d,m,h,_,g,k,S;const T=n[12].beforeLabel,$=kt(T,n,n[15],Fd),C=n[12].afterLabel,D=kt(C,n,n[15],Nd);let O=!n[9]&&Rd(n);function E(q){n[14](q)}var L=n[7];function F(q,W){let J={id:q[18],baseCollection:q[1],disabled:q[9],placeholder:q[9]?"":q[5]};return q[0]!==void 0&&(J.value=q[0]),{props:J}}L&&(m=Ot(L,F(n)),n[13](m),te.push(()=>be(m,"value",E)));let P=n[9]&&qd(n);const N=n[12].default,R=kt(N,n,n[15],Pd);return{c(){e=b("div"),t=b("label"),$&&$.c(),i=M(),l=b("span"),s=Y(n[2]),o=M(),a=Y(r),u=M(),D&&D.c(),f=M(),O&&O.c(),d=M(),m&&V(m.$$.fragment),_=M(),P&&P.c(),g=M(),k=b("div"),R&&R.c(),p(l,"class","txt"),ee(l,"txt-hint",n[9]),p(t,"for",c=n[18]),p(e,"class","input-wrapper svelte-1akuazq"),p(k,"class","help-block")},m(q,W){w(q,e,W),y(e,t),$&&$.m(t,null),y(t,i),y(t,l),y(l,s),y(l,o),y(l,a),y(t,u),D&&D.m(t,null),y(t,f),O&&O.m(t,null),y(e,d),m&&H(m,e,null),y(e,_),P&&P.m(e,null),w(q,g,W),w(q,k,W),R&&R.m(k,null),S=!0},p(q,W){if($&&$.p&&(!S||W&33280)&&wt($,T,q,q[15],S?vt(T,q[15],W,n5):St(q[15]),Fd),(!S||W&4)&&le(s,q[2]),(!S||W&512)&&r!==(r=q[9]?"- Admins only":"")&&le(a,r),(!S||W&512)&&ee(l,"txt-hint",q[9]),D&&D.p&&(!S||W&33280)&&wt(D,C,q,q[15],S?vt(C,q[15],W,t5):St(q[15]),Nd),q[9]?O&&(O.d(1),O=null):O?O.p(q,W):(O=Rd(q),O.c(),O.m(t,null)),(!S||W&262144&&c!==(c=q[18]))&&p(t,"for",c),W&128&&L!==(L=q[7])){if(m){oe();const J=m;I(J.$$.fragment,1,0,()=>{z(J,1)}),re()}L?(m=Ot(L,F(q)),q[13](m),te.push(()=>be(m,"value",E)),V(m.$$.fragment),A(m.$$.fragment,1),H(m,e,_)):m=null}else if(L){const J={};W&262144&&(J.id=q[18]),W&2&&(J.baseCollection=q[1]),W&512&&(J.disabled=q[9]),W&544&&(J.placeholder=q[9]?"":q[5]),!h&&W&1&&(h=!0,J.value=q[0],ye(()=>h=!1)),m.$set(J)}q[9]?P?(P.p(q,W),W&512&&A(P,1)):(P=qd(q),P.c(),A(P,1),P.m(e,null)):P&&(oe(),I(P,1,1,()=>{P=null}),re()),R&&R.p&&(!S||W&33280)&&wt(R,N,q,q[15],S?vt(N,q[15],W,e5):St(q[15]),Pd)},i(q){S||(A($,q),A(D,q),m&&A(m.$$.fragment,q),A(P),A(R,q),S=!0)},o(q){I($,q),I(D,q),m&&I(m.$$.fragment,q),I(P),I(R,q),S=!1},d(q){q&&(v(e),v(g),v(k)),$&&$.d(q),D&&D.d(q),O&&O.d(),n[13](null),m&&z(m),P&&P.d(),R&&R.d(q)}}}function o5(n){let e,t,i,l;const s=[l5,i5],o=[];function r(a,u){return a[8]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,[u]){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}let jd;function r5(n,e,t){let i,{$$slots:l={},$$scope:s}=e,{collection:o=null}=e,{rule:r=null}=e,{label:a="Rule"}=e,{formKey:u="rule"}=e,{required:f=!1}=e,{placeholder:c="Leave empty to grant everyone access..."}=e,d=null,m=null,h=jd,_=!1;g();async function g(){h||_||(t(8,_=!0),t(7,h=(await rt(()=>import("./FilterAutocompleteInput-a63ad5f2.js"),["./FilterAutocompleteInput-a63ad5f2.js","./index-9ee652b3.js"],import.meta.url)).default),jd=h,t(8,_=!1))}async function k(){t(0,r=m||""),await Qt(),d==null||d.focus()}async function S(){m=r,t(0,r=null)}function T(C){te[C?"unshift":"push"](()=>{d=C,t(6,d)})}function $(C){r=C,t(0,r)}return n.$$set=C=>{"collection"in C&&t(1,o=C.collection),"rule"in C&&t(0,r=C.rule),"label"in C&&t(2,a=C.label),"formKey"in C&&t(3,u=C.formKey),"required"in C&&t(4,f=C.required),"placeholder"in C&&t(5,c=C.placeholder),"$$scope"in C&&t(15,s=C.$$scope)},n.$$.update=()=>{n.$$.dirty&1&&t(9,i=r===null)},[r,o,a,u,f,c,d,h,_,i,k,S,l,T,$,s]}class vl extends ge{constructor(e){super(),_e(this,e,r5,o5,he,{collection:1,rule:0,label:2,formKey:3,required:4,placeholder:5})}}function Hd(n,e,t){const i=n.slice();return i[11]=e[t],i}function zd(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D,O,E,L=pe(n[2]),F=[];for(let P=0;P@request
filter:",c=M(),d=b("div"),d.innerHTML="@request.headers.* @request.query.* @request.data.* @request.auth.*",m=M(),h=b("hr"),_=M(),g=b("p"),g.innerHTML="You could also add constraints and query other collections using the @collection filter:",k=M(),S=b("div"),S.innerHTML="@collection.ANY_COLLECTION_NAME.*",T=M(),$=b("hr"),C=M(),D=b("p"),D.innerHTML=`Example rule: + .`),c=M(),d=b("div");for(let N=0;NC=!1)),$.$set(q)},i(N){if(!D){for(let R=0;RD.name===$))}function f($){return i.findIndex(C=>C===$)}function c($,C){var D;!((D=l==null?void 0:l.schema)!=null&&D.length)||$===C||!C||t(0,l.indexes=l.indexes.map(O=>j.replaceIndexColumn(O,$,C)),l)}function d($,C,D,O){D[O]=$,t(0,l)}const m=$=>o($),h=$=>c($.detail.oldName,$.detail.newName);function _($){n.$$.not_equal(l.schema,$)&&(l.schema=$,t(0,l))}const g=$=>{if(!$.detail)return;const C=$.detail.target;C.style.opacity=0,setTimeout(()=>{var D;(D=C==null?void 0:C.style)==null||D.removeProperty("opacity")},0),$.detail.dataTransfer.setDragImage(C,0,0)},k=()=>{Gt({})},S=$=>r($.detail);function T($){l=$,t(0,l)}return n.$$set=$=>{"collection"in $&&t(0,l=$.collection)},n.$$.update=()=>{n.$$.dirty&1&&typeof l.schema>"u"&&t(0,l.schema=[],l),n.$$.dirty&1&&(i=l.schema.filter($=>!$.toDelete)||[])},[l,s,o,r,f,c,d,m,h,_,g,k,S,T]}class xC extends ge{constructor(e){super(),_e(this,e,QC,XC,he,{collection:0})}}const e5=n=>({isAdminOnly:n&512}),Pd=n=>({isAdminOnly:n[9]}),t5=n=>({isAdminOnly:n&512}),Nd=n=>({isAdminOnly:n[9]}),n5=n=>({isAdminOnly:n&512}),Fd=n=>({isAdminOnly:n[9]});function i5(n){let e,t;return e=new me({props:{class:"form-field rule-field "+(n[4]?"requied":"")+" "+(n[9]?"disabled":""),name:n[3],$$slots:{default:[s5,({uniqueId:i})=>({18:i}),({uniqueId:i})=>i?262144:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&528&&(s.class="form-field rule-field "+(i[4]?"requied":"")+" "+(i[9]?"disabled":"")),l&8&&(s.name=i[3]),l&295655&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function l5(n){let e;return{c(){e=b("div"),e.innerHTML='',p(e,"class","txt-center")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function Rd(n){let e,t,i;return{c(){e=b("button"),e.innerHTML=' Set Admins only',p(e,"type","button"),p(e,"class","btn btn-sm btn-transparent btn-hint lock-toggle svelte-1akuazq")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[11]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function qd(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='Unlock and set custom rule
',p(e,"type","button"),p(e,"class","unlock-overlay svelte-1akuazq"),p(e,"aria-label","Unlock and set custom rule")},m(o,r){w(o,e,r),i=!0,l||(s=K(e,"click",n[10]),l=!0)},p:Q,i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.98},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.98},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function s5(n){let e,t,i,l,s,o,r=n[9]?"- Admins only":"",a,u,f,c,d,m,h,_,g,k,S;const T=n[12].beforeLabel,$=kt(T,n,n[15],Fd),C=n[12].afterLabel,D=kt(C,n,n[15],Nd);let O=!n[9]&&Rd(n);function E(q){n[14](q)}var L=n[7];function F(q,W){let J={id:q[18],baseCollection:q[1],disabled:q[9],placeholder:q[9]?"":q[5]};return q[0]!==void 0&&(J.value=q[0]),{props:J}}L&&(m=Ot(L,F(n)),n[13](m),te.push(()=>be(m,"value",E)));let P=n[9]&&qd(n);const N=n[12].default,R=kt(N,n,n[15],Pd);return{c(){e=b("div"),t=b("label"),$&&$.c(),i=M(),l=b("span"),s=Y(n[2]),o=M(),a=Y(r),u=M(),D&&D.c(),f=M(),O&&O.c(),d=M(),m&&V(m.$$.fragment),_=M(),P&&P.c(),g=M(),k=b("div"),R&&R.c(),p(l,"class","txt"),ee(l,"txt-hint",n[9]),p(t,"for",c=n[18]),p(e,"class","input-wrapper svelte-1akuazq"),p(k,"class","help-block")},m(q,W){w(q,e,W),y(e,t),$&&$.m(t,null),y(t,i),y(t,l),y(l,s),y(l,o),y(l,a),y(t,u),D&&D.m(t,null),y(t,f),O&&O.m(t,null),y(e,d),m&&H(m,e,null),y(e,_),P&&P.m(e,null),w(q,g,W),w(q,k,W),R&&R.m(k,null),S=!0},p(q,W){if($&&$.p&&(!S||W&33280)&&wt($,T,q,q[15],S?vt(T,q[15],W,n5):St(q[15]),Fd),(!S||W&4)&&le(s,q[2]),(!S||W&512)&&r!==(r=q[9]?"- Admins only":"")&&le(a,r),(!S||W&512)&&ee(l,"txt-hint",q[9]),D&&D.p&&(!S||W&33280)&&wt(D,C,q,q[15],S?vt(C,q[15],W,t5):St(q[15]),Nd),q[9]?O&&(O.d(1),O=null):O?O.p(q,W):(O=Rd(q),O.c(),O.m(t,null)),(!S||W&262144&&c!==(c=q[18]))&&p(t,"for",c),W&128&&L!==(L=q[7])){if(m){oe();const J=m;I(J.$$.fragment,1,0,()=>{z(J,1)}),re()}L?(m=Ot(L,F(q)),q[13](m),te.push(()=>be(m,"value",E)),V(m.$$.fragment),A(m.$$.fragment,1),H(m,e,_)):m=null}else if(L){const J={};W&262144&&(J.id=q[18]),W&2&&(J.baseCollection=q[1]),W&512&&(J.disabled=q[9]),W&544&&(J.placeholder=q[9]?"":q[5]),!h&&W&1&&(h=!0,J.value=q[0],ye(()=>h=!1)),m.$set(J)}q[9]?P?(P.p(q,W),W&512&&A(P,1)):(P=qd(q),P.c(),A(P,1),P.m(e,null)):P&&(oe(),I(P,1,1,()=>{P=null}),re()),R&&R.p&&(!S||W&33280)&&wt(R,N,q,q[15],S?vt(N,q[15],W,e5):St(q[15]),Pd)},i(q){S||(A($,q),A(D,q),m&&A(m.$$.fragment,q),A(P),A(R,q),S=!0)},o(q){I($,q),I(D,q),m&&I(m.$$.fragment,q),I(P),I(R,q),S=!1},d(q){q&&(v(e),v(g),v(k)),$&&$.d(q),D&&D.d(q),O&&O.d(),n[13](null),m&&z(m),P&&P.d(),R&&R.d(q)}}}function o5(n){let e,t,i,l;const s=[l5,i5],o=[];function r(a,u){return a[8]?0:1}return e=r(n),t=o[e]=s[e](n),{c(){t.c(),i=ke()},m(a,u){o[e].m(a,u),w(a,i,u),l=!0},p(a,[u]){let f=e;e=r(a),e===f?o[e].p(a,u):(oe(),I(o[f],1,1,()=>{o[f]=null}),re(),t=o[e],t?t.p(a,u):(t=o[e]=s[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){l||(A(t),l=!0)},o(a){I(t),l=!1},d(a){a&&v(i),o[e].d(a)}}}let jd;function r5(n,e,t){let i,{$$slots:l={},$$scope:s}=e,{collection:o=null}=e,{rule:r=null}=e,{label:a="Rule"}=e,{formKey:u="rule"}=e,{required:f=!1}=e,{placeholder:c="Leave empty to grant everyone access..."}=e,d=null,m=null,h=jd,_=!1;g();async function g(){h||_||(t(8,_=!0),t(7,h=(await rt(()=>import("./FilterAutocompleteInput-f45db6a6.js"),["./FilterAutocompleteInput-f45db6a6.js","./index-9ee652b3.js"],import.meta.url)).default),jd=h,t(8,_=!1))}async function k(){t(0,r=m||""),await Qt(),d==null||d.focus()}async function S(){m=r,t(0,r=null)}function T(C){te[C?"unshift":"push"](()=>{d=C,t(6,d)})}function $(C){r=C,t(0,r)}return n.$$set=C=>{"collection"in C&&t(1,o=C.collection),"rule"in C&&t(0,r=C.rule),"label"in C&&t(2,a=C.label),"formKey"in C&&t(3,u=C.formKey),"required"in C&&t(4,f=C.required),"placeholder"in C&&t(5,c=C.placeholder),"$$scope"in C&&t(15,s=C.$$scope)},n.$$.update=()=>{n.$$.dirty&1&&t(9,i=r===null)},[r,o,a,u,f,c,d,h,_,i,k,S,l,T,$,s]}class vl extends ge{constructor(e){super(),_e(this,e,r5,o5,he,{collection:1,rule:0,label:2,formKey:3,required:4,placeholder:5})}}function Hd(n,e,t){const i=n.slice();return i[11]=e[t],i}function zd(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D,O,E,L=pe(n[2]),F=[];for(let P=0;P@request filter:",c=M(),d=b("div"),d.innerHTML="@request.headers.* @request.query.* @request.data.* @request.auth.*",m=M(),h=b("hr"),_=M(),g=b("p"),g.innerHTML="You could also add constraints and query other collections using the @collection filter:",k=M(),S=b("div"),S.innerHTML="@collection.ANY_COLLECTION_NAME.*",T=M(),$=b("hr"),C=M(),D=b("p"),D.innerHTML=`Example rule:
@request.auth.id != "" && created > "2022-01-01 00:00:00"`,p(l,"class","m-b-0"),p(o,"class","inline-flex flex-gap-5"),p(a,"class","m-t-10 m-b-5"),p(f,"class","m-b-0"),p(d,"class","inline-flex flex-gap-5"),p(h,"class","m-t-10 m-b-5"),p(g,"class","m-b-0"),p(S,"class","inline-flex flex-gap-5"),p($,"class","m-t-10 m-b-5"),p(i,"class","content"),p(t,"class","alert alert-warning m-0")},m(P,N){w(P,e,N),y(e,t),y(t,i),y(i,l),y(i,s),y(i,o);for(let R=0;R{E&&(O||(O=Pe(e,et,{duration:150},!0)),O.run(1))}),E=!0)},o(P){P&&(O||(O=Pe(e,et,{duration:150},!1)),O.run(0)),E=!1},d(P){P&&v(e),ut(F,P),P&&O&&O.end()}}}function Vd(n){let e,t=n[11]+"",i;return{c(){e=b("code"),i=Y(t)},m(l,s){w(l,e,s),y(e,i)},p(l,s){s&4&&t!==(t=l[11]+"")&&le(i,t)},d(l){l&&v(e)}}}function Bd(n){let e,t,i,l,s,o,r,a,u;function f(g){n[6](g)}let c={label:"Create rule",formKey:"createRule",collection:n[0],$$slots:{afterLabel:[a5,({isAdminOnly:g})=>({10:g}),({isAdminOnly:g})=>g?1024:0]},$$scope:{ctx:n}};n[0].createRule!==void 0&&(c.rule=n[0].createRule),e=new vl({props:c}),te.push(()=>be(e,"rule",f));function d(g){n[7](g)}let m={label:"Update rule",formKey:"updateRule",collection:n[0]};n[0].updateRule!==void 0&&(m.rule=n[0].updateRule),l=new vl({props:m}),te.push(()=>be(l,"rule",d));function h(g){n[8](g)}let _={label:"Delete rule",formKey:"deleteRule",collection:n[0]};return n[0].deleteRule!==void 0&&(_.rule=n[0].deleteRule),r=new vl({props:_}),te.push(()=>be(r,"rule",h)),{c(){V(e.$$.fragment),i=M(),V(l.$$.fragment),o=M(),V(r.$$.fragment)},m(g,k){H(e,g,k),w(g,i,k),H(l,g,k),w(g,o,k),H(r,g,k),u=!0},p(g,k){const S={};k&1&&(S.collection=g[0]),k&17408&&(S.$$scope={dirty:k,ctx:g}),!t&&k&1&&(t=!0,S.rule=g[0].createRule,ye(()=>t=!1)),e.$set(S);const T={};k&1&&(T.collection=g[0]),!s&&k&1&&(s=!0,T.rule=g[0].updateRule,ye(()=>s=!1)),l.$set(T);const $={};k&1&&($.collection=g[0]),!a&&k&1&&(a=!0,$.rule=g[0].deleteRule,ye(()=>a=!1)),r.$set($)},i(g){u||(A(e.$$.fragment,g),A(l.$$.fragment,g),A(r.$$.fragment,g),u=!0)},o(g){I(e.$$.fragment,g),I(l.$$.fragment,g),I(r.$$.fragment,g),u=!1},d(g){g&&(v(i),v(o)),z(e,g),z(l,g),z(r,g)}}}function Ud(n){let e,t,i;return{c(){e=b("i"),p(e,"class","ri-information-line link-hint")},m(l,s){w(l,e,s),t||(i=ve(Le.call(null,e,{text:'The Create rule is executed after a "dry save" of the submitted data, giving you access to the main record fields as in every other rule.',position:"top"})),t=!0)},d(l){l&&v(e),t=!1,i()}}}function a5(n){let e,t=!n[10]&&Ud();return{c(){t&&t.c(),e=ke()},m(i,l){t&&t.m(i,l),w(i,e,l)},p(i,l){i[10]?t&&(t.d(1),t=null):t||(t=Ud(),t.c(),t.m(e.parentNode,e))},d(i){i&&v(e),t&&t.d(i)}}}function Wd(n){let e,t,i;function l(o){n[9](o)}let s={label:"Manage rule",formKey:"options.manageRule",placeholder:"",required:n[0].options.manageRule!==null,collection:n[0],$$slots:{default:[u5]},$$scope:{ctx:n}};return n[0].options.manageRule!==void 0&&(s.rule=n[0].options.manageRule),e=new vl({props:s}),te.push(()=>be(e,"rule",l)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};r&1&&(a.required=o[0].options.manageRule!==null),r&1&&(a.collection=o[0]),r&16384&&(a.$$scope={dirty:r,ctx:o}),!t&&r&1&&(t=!0,a.rule=o[0].options.manageRule,ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function u5(n){let e,t,i;return{c(){e=b("p"),e.textContent=`This API rule gives admin-like permissions to allow fully managing the auth record(s), eg. changing the password without requiring to enter the old one, directly updating the verified state or email, etc.`,t=M(),i=b("p"),i.innerHTML="This rule is executed in addition to the create and update API rules."},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},p:Q,d(l){l&&(v(e),v(t),v(i))}}}function f5(n){var N,R;let e,t,i,l,s,o=n[1]?"Hide available fields":"Show available fields",r,a,u,f,c,d,m,h,_,g,k,S,T,$,C=n[1]&&zd(n);function D(q){n[4](q)}let O={label:"List/Search rule",formKey:"listRule",collection:n[0]};n[0].listRule!==void 0&&(O.rule=n[0].listRule),f=new vl({props:O}),te.push(()=>be(f,"rule",D));function E(q){n[5](q)}let L={label:"View rule",formKey:"viewRule",collection:n[0]};n[0].viewRule!==void 0&&(L.rule=n[0].viewRule),m=new vl({props:L}),te.push(()=>be(m,"rule",E));let F=((N=n[0])==null?void 0:N.type)!=="view"&&Bd(n),P=((R=n[0])==null?void 0:R.type)==="auth"&&Wd(n);return{c(){e=b("div"),t=b("div"),i=b("p"),i.innerHTML=`All rules follow the @@ -86,7 +86,7 @@ var xb=Object.defineProperty;var e0=(n,e,t)=>e in n?xb(n,e,{enumerable:!0,config
If your query doesn't have a suitable one, you can use the universal (ROW_NUMBER() OVER()) as id.
  • Expressions must be aliased with a valid formatted field name (eg. - MAX(balance) as maxBalance).
  • `,u=M(),_&&_.c(),f=ke(),p(t,"class","txt"),p(e,"for",i=n[8]),p(a,"class","help-block")},m(g,k){w(g,e,k),y(e,t),w(g,l,k),m[s].m(g,k),w(g,r,k),w(g,a,k),w(g,u,k),_&&_.m(g,k),w(g,f,k),c=!0},p(g,k){(!c||k&256&&i!==(i=g[8]))&&p(e,"for",i);let S=s;s=h(g),s===S?m[s].p(g,k):(oe(),I(m[S],1,1,()=>{m[S]=null}),re(),o=m[s],o?o.p(g,k):(o=m[s]=d[s](g),o.c()),A(o,1),o.m(r.parentNode,r)),g[3].length?_?_.p(g,k):(_=Kd(g),_.c(),_.m(f.parentNode,f)):_&&(_.d(1),_=null)},i(g){c||(A(o),c=!0)},o(g){I(o),c=!1},d(g){g&&(v(e),v(l),v(r),v(a),v(u),v(f)),m[s].d(g),_&&_.d(g)}}}function _5(n){let e,t;return e=new me({props:{class:"form-field required "+(n[3].length?"error":""),name:"options.query",$$slots:{default:[h5,({uniqueId:i})=>({8:i}),({uniqueId:i})=>i?256:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&8&&(s.class="form-field required "+(i[3].length?"error":"")),l&4367&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function g5(n,e,t){let i;We(n,_i,c=>t(4,i=c));let{collection:l}=e,s,o=!1,r=[];function a(c){var h;t(3,r=[]);const d=j.getNestedVal(c,"schema",null);if(j.isEmpty(d))return;if(d!=null&&d.message){r.push(d==null?void 0:d.message);return}const m=j.extractColumnsFromQuery((h=l==null?void 0:l.options)==null?void 0:h.query);j.removeByValue(m,"id"),j.removeByValue(m,"created"),j.removeByValue(m,"updated");for(let _ in d)for(let g in d[_]){const k=d[_][g].message,S=m[_]||_;r.push(j.sentenize(S+": "+k))}}Vt(async()=>{t(2,o=!0);try{t(1,s=(await rt(()=>import("./CodeEditor-efd8db8b.js"),["./CodeEditor-efd8db8b.js","./index-9ee652b3.js"],import.meta.url)).default)}catch(c){console.warn(c)}t(2,o=!1)});function u(c){n.$$.not_equal(l.options.query,c)&&(l.options.query=c,t(0,l))}const f=()=>{r.length&&ii("schema")};return n.$$set=c=>{"collection"in c&&t(0,l=c.collection)},n.$$.update=()=>{n.$$.dirty&16&&a(i)},[l,s,o,r,i,u,f]}class b5 extends ge{constructor(e){super(),_e(this,e,g5,_5,he,{collection:0})}}const y5=n=>({active:n&1}),Zd=n=>({active:n[0]});function Gd(n){let e,t,i;const l=n[15].default,s=kt(l,n,n[14],null);return{c(){e=b("div"),s&&s.c(),p(e,"class","accordion-content")},m(o,r){w(o,e,r),s&&s.m(e,null),i=!0},p(o,r){s&&s.p&&(!i||r&16384)&&wt(s,l,o,o[14],i?vt(l,o[14],r,null):St(o[14]),null)},i(o){i||(A(s,o),o&&Ke(()=>{i&&(t||(t=Pe(e,et,{duration:150},!0)),t.run(1))}),i=!0)},o(o){I(s,o),o&&(t||(t=Pe(e,et,{duration:150},!1)),t.run(0)),i=!1},d(o){o&&v(e),s&&s.d(o),o&&t&&t.end()}}}function k5(n){let e,t,i,l,s,o,r;const a=n[15].header,u=kt(a,n,n[14],Zd);let f=n[0]&&Gd(n);return{c(){e=b("div"),t=b("button"),u&&u.c(),i=M(),f&&f.c(),p(t,"type","button"),p(t,"class","accordion-header"),p(t,"draggable",n[2]),ee(t,"interactive",n[3]),p(e,"class",l="accordion "+(n[7]?"drag-over":"")+" "+n[1]),ee(e,"active",n[0])},m(c,d){w(c,e,d),y(e,t),u&&u.m(t,null),y(e,i),f&&f.m(e,null),n[22](e),s=!0,o||(r=[K(t,"click",Ye(n[17])),K(t,"drop",Ye(n[18])),K(t,"dragstart",n[19]),K(t,"dragenter",n[20]),K(t,"dragleave",n[21]),K(t,"dragover",Ye(n[16]))],o=!0)},p(c,[d]){u&&u.p&&(!s||d&16385)&&wt(u,a,c,c[14],s?vt(a,c[14],d,y5):St(c[14]),Zd),(!s||d&4)&&p(t,"draggable",c[2]),(!s||d&8)&&ee(t,"interactive",c[3]),c[0]?f?(f.p(c,d),d&1&&A(f,1)):(f=Gd(c),f.c(),A(f,1),f.m(e,null)):f&&(oe(),I(f,1,1,()=>{f=null}),re()),(!s||d&130&&l!==(l="accordion "+(c[7]?"drag-over":"")+" "+c[1]))&&p(e,"class",l),(!s||d&131)&&ee(e,"active",c[0])},i(c){s||(A(u,c),A(f),s=!0)},o(c){I(u,c),I(f),s=!1},d(c){c&&v(e),u&&u.d(c),f&&f.d(),n[22](null),o=!1,we(r)}}}function v5(n,e,t){let{$$slots:i={},$$scope:l}=e;const s=ot();let o,r,{class:a=""}=e,{draggable:u=!1}=e,{active:f=!1}=e,{interactive:c=!0}=e,{single:d=!1}=e,m=!1;function h(){return!!f}function _(){S(),t(0,f=!0),s("expand")}function g(){t(0,f=!1),clearTimeout(r),s("collapse")}function k(){s("toggle"),f?g():_()}function S(){if(d&&o.closest(".accordions")){const F=o.closest(".accordions").querySelectorAll(".accordion.active .accordion-header.interactive");for(const P of F)P.click()}}Vt(()=>()=>clearTimeout(r));function T(F){Ae.call(this,n,F)}const $=()=>c&&k(),C=F=>{u&&(t(7,m=!1),S(),s("drop",F))},D=F=>u&&s("dragstart",F),O=F=>{u&&(t(7,m=!0),s("dragenter",F))},E=F=>{u&&(t(7,m=!1),s("dragleave",F))};function L(F){te[F?"unshift":"push"](()=>{o=F,t(6,o)})}return n.$$set=F=>{"class"in F&&t(1,a=F.class),"draggable"in F&&t(2,u=F.draggable),"active"in F&&t(0,f=F.active),"interactive"in F&&t(3,c=F.interactive),"single"in F&&t(9,d=F.single),"$$scope"in F&&t(14,l=F.$$scope)},n.$$.update=()=>{n.$$.dirty&8257&&f&&(clearTimeout(r),t(13,r=setTimeout(()=>{o!=null&&o.scrollIntoViewIfNeeded?o.scrollIntoViewIfNeeded():o!=null&&o.scrollIntoView&&o.scrollIntoView({behavior:"smooth",block:"nearest"})},200)))},[f,a,u,c,k,S,o,m,s,d,h,_,g,r,l,i,T,$,C,D,O,E,L]}class _o extends ge{constructor(e){super(),_e(this,e,v5,k5,he,{class:1,draggable:2,active:0,interactive:3,single:9,isExpanded:10,expand:11,collapse:12,toggle:4,collapseSiblings:5})}get isExpanded(){return this.$$.ctx[10]}get expand(){return this.$$.ctx[11]}get collapse(){return this.$$.ctx[12]}get toggle(){return this.$$.ctx[4]}get collapseSiblings(){return this.$$.ctx[5]}}function w5(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].options.allowUsernameAuth,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[5]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowUsernameAuth),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function S5(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowUsernameAuth",$$slots:{default:[w5,({uniqueId:i})=>({13:i}),({uniqueId:i})=>i?8192:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&24577&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function $5(n){let e;return{c(){e=b("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function T5(n){let e;return{c(){e=b("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function Xd(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,{text:"Has errors",position:"left"})),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function C5(n){let e,t,i,l,s,o;function r(c,d){return c[0].options.allowUsernameAuth?T5:$5}let a=r(n),u=a(n),f=n[3]&&Xd();return{c(){e=b("div"),e.innerHTML=' Username/Password',t=M(),i=b("div"),l=M(),u.c(),s=M(),f&&f.c(),o=ke(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(c,d){w(c,e,d),w(c,t,d),w(c,i,d),w(c,l,d),u.m(c,d),w(c,s,d),f&&f.m(c,d),w(c,o,d)},p(c,d){a!==(a=r(c))&&(u.d(1),u=a(c),u&&(u.c(),u.m(s.parentNode,s))),c[3]?f?d&8&&A(f,1):(f=Xd(),f.c(),A(f,1),f.m(o.parentNode,o)):f&&(oe(),I(f,1,1,()=>{f=null}),re())},d(c){c&&(v(e),v(t),v(i),v(l),v(s),v(o)),u.d(c),f&&f.d(c)}}}function M5(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].options.allowEmailAuth,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[6]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowEmailAuth),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function Qd(n){let e,t,i,l,s,o,r,a;return i=new me({props:{class:"form-field "+(j.isEmpty(n[0].options.onlyEmailDomains)?"":"disabled"),name:"options.exceptEmailDomains",$$slots:{default:[O5,({uniqueId:u})=>({13:u}),({uniqueId:u})=>u?8192:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field "+(j.isEmpty(n[0].options.exceptEmailDomains)?"":"disabled"),name:"options.onlyEmailDomains",$$slots:{default:[D5,({uniqueId:u})=>({13:u}),({uniqueId:u})=>u?8192:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),p(t,"class","col-lg-6"),p(s,"class","col-lg-6"),p(e,"class","grid grid-sm p-t-sm")},m(u,f){w(u,e,f),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),a=!0},p(u,f){const c={};f&1&&(c.class="form-field "+(j.isEmpty(u[0].options.onlyEmailDomains)?"":"disabled")),f&24577&&(c.$$scope={dirty:f,ctx:u}),i.$set(c);const d={};f&1&&(d.class="form-field "+(j.isEmpty(u[0].options.exceptEmailDomains)?"":"disabled")),f&24577&&(d.$$scope={dirty:f,ctx:u}),o.$set(d)},i(u){a||(A(i.$$.fragment,u),A(o.$$.fragment,u),u&&Ke(()=>{a&&(r||(r=Pe(e,et,{duration:150},!0)),r.run(1))}),a=!0)},o(u){I(i.$$.fragment,u),I(o.$$.fragment,u),u&&(r||(r=Pe(e,et,{duration:150},!1)),r.run(0)),a=!1},d(u){u&&v(e),z(i),z(o),u&&r&&r.end()}}}function O5(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;function h(g){n[7](g)}let _={id:n[13],disabled:!j.isEmpty(n[0].options.onlyEmailDomains)};return n[0].options.exceptEmailDomains!==void 0&&(_.value=n[0].options.exceptEmailDomains),r=new Ll({props:_}),te.push(()=>be(r,"value",h)),{c(){e=b("label"),t=b("span"),t.textContent="Except domains",i=M(),l=b("i"),o=M(),V(r.$$.fragment),u=M(),f=b("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[13]),p(f,"class","help-block")},m(g,k){w(g,e,k),y(e,t),y(e,i),y(e,l),w(g,o,k),H(r,g,k),w(g,u,k),w(g,f,k),c=!0,d||(m=ve(Le.call(null,l,{text:`Email domains that are NOT allowed to sign up. + MAX(balance) as maxBalance).`,u=M(),_&&_.c(),f=ke(),p(t,"class","txt"),p(e,"for",i=n[8]),p(a,"class","help-block")},m(g,k){w(g,e,k),y(e,t),w(g,l,k),m[s].m(g,k),w(g,r,k),w(g,a,k),w(g,u,k),_&&_.m(g,k),w(g,f,k),c=!0},p(g,k){(!c||k&256&&i!==(i=g[8]))&&p(e,"for",i);let S=s;s=h(g),s===S?m[s].p(g,k):(oe(),I(m[S],1,1,()=>{m[S]=null}),re(),o=m[s],o?o.p(g,k):(o=m[s]=d[s](g),o.c()),A(o,1),o.m(r.parentNode,r)),g[3].length?_?_.p(g,k):(_=Kd(g),_.c(),_.m(f.parentNode,f)):_&&(_.d(1),_=null)},i(g){c||(A(o),c=!0)},o(g){I(o),c=!1},d(g){g&&(v(e),v(l),v(r),v(a),v(u),v(f)),m[s].d(g),_&&_.d(g)}}}function _5(n){let e,t;return e=new me({props:{class:"form-field required "+(n[3].length?"error":""),name:"options.query",$$slots:{default:[h5,({uniqueId:i})=>({8:i}),({uniqueId:i})=>i?256:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&8&&(s.class="form-field required "+(i[3].length?"error":"")),l&4367&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function g5(n,e,t){let i;We(n,_i,c=>t(4,i=c));let{collection:l}=e,s,o=!1,r=[];function a(c){var h;t(3,r=[]);const d=j.getNestedVal(c,"schema",null);if(j.isEmpty(d))return;if(d!=null&&d.message){r.push(d==null?void 0:d.message);return}const m=j.extractColumnsFromQuery((h=l==null?void 0:l.options)==null?void 0:h.query);j.removeByValue(m,"id"),j.removeByValue(m,"created"),j.removeByValue(m,"updated");for(let _ in d)for(let g in d[_]){const k=d[_][g].message,S=m[_]||_;r.push(j.sentenize(S+": "+k))}}Vt(async()=>{t(2,o=!0);try{t(1,s=(await rt(()=>import("./CodeEditor-3bce9f95.js"),["./CodeEditor-3bce9f95.js","./index-9ee652b3.js"],import.meta.url)).default)}catch(c){console.warn(c)}t(2,o=!1)});function u(c){n.$$.not_equal(l.options.query,c)&&(l.options.query=c,t(0,l))}const f=()=>{r.length&&ii("schema")};return n.$$set=c=>{"collection"in c&&t(0,l=c.collection)},n.$$.update=()=>{n.$$.dirty&16&&a(i)},[l,s,o,r,i,u,f]}class b5 extends ge{constructor(e){super(),_e(this,e,g5,_5,he,{collection:0})}}const y5=n=>({active:n&1}),Zd=n=>({active:n[0]});function Gd(n){let e,t,i;const l=n[15].default,s=kt(l,n,n[14],null);return{c(){e=b("div"),s&&s.c(),p(e,"class","accordion-content")},m(o,r){w(o,e,r),s&&s.m(e,null),i=!0},p(o,r){s&&s.p&&(!i||r&16384)&&wt(s,l,o,o[14],i?vt(l,o[14],r,null):St(o[14]),null)},i(o){i||(A(s,o),o&&Ke(()=>{i&&(t||(t=Pe(e,et,{duration:150},!0)),t.run(1))}),i=!0)},o(o){I(s,o),o&&(t||(t=Pe(e,et,{duration:150},!1)),t.run(0)),i=!1},d(o){o&&v(e),s&&s.d(o),o&&t&&t.end()}}}function k5(n){let e,t,i,l,s,o,r;const a=n[15].header,u=kt(a,n,n[14],Zd);let f=n[0]&&Gd(n);return{c(){e=b("div"),t=b("button"),u&&u.c(),i=M(),f&&f.c(),p(t,"type","button"),p(t,"class","accordion-header"),p(t,"draggable",n[2]),ee(t,"interactive",n[3]),p(e,"class",l="accordion "+(n[7]?"drag-over":"")+" "+n[1]),ee(e,"active",n[0])},m(c,d){w(c,e,d),y(e,t),u&&u.m(t,null),y(e,i),f&&f.m(e,null),n[22](e),s=!0,o||(r=[K(t,"click",Ye(n[17])),K(t,"drop",Ye(n[18])),K(t,"dragstart",n[19]),K(t,"dragenter",n[20]),K(t,"dragleave",n[21]),K(t,"dragover",Ye(n[16]))],o=!0)},p(c,[d]){u&&u.p&&(!s||d&16385)&&wt(u,a,c,c[14],s?vt(a,c[14],d,y5):St(c[14]),Zd),(!s||d&4)&&p(t,"draggable",c[2]),(!s||d&8)&&ee(t,"interactive",c[3]),c[0]?f?(f.p(c,d),d&1&&A(f,1)):(f=Gd(c),f.c(),A(f,1),f.m(e,null)):f&&(oe(),I(f,1,1,()=>{f=null}),re()),(!s||d&130&&l!==(l="accordion "+(c[7]?"drag-over":"")+" "+c[1]))&&p(e,"class",l),(!s||d&131)&&ee(e,"active",c[0])},i(c){s||(A(u,c),A(f),s=!0)},o(c){I(u,c),I(f),s=!1},d(c){c&&v(e),u&&u.d(c),f&&f.d(),n[22](null),o=!1,we(r)}}}function v5(n,e,t){let{$$slots:i={},$$scope:l}=e;const s=ot();let o,r,{class:a=""}=e,{draggable:u=!1}=e,{active:f=!1}=e,{interactive:c=!0}=e,{single:d=!1}=e,m=!1;function h(){return!!f}function _(){S(),t(0,f=!0),s("expand")}function g(){t(0,f=!1),clearTimeout(r),s("collapse")}function k(){s("toggle"),f?g():_()}function S(){if(d&&o.closest(".accordions")){const F=o.closest(".accordions").querySelectorAll(".accordion.active .accordion-header.interactive");for(const P of F)P.click()}}Vt(()=>()=>clearTimeout(r));function T(F){Ae.call(this,n,F)}const $=()=>c&&k(),C=F=>{u&&(t(7,m=!1),S(),s("drop",F))},D=F=>u&&s("dragstart",F),O=F=>{u&&(t(7,m=!0),s("dragenter",F))},E=F=>{u&&(t(7,m=!1),s("dragleave",F))};function L(F){te[F?"unshift":"push"](()=>{o=F,t(6,o)})}return n.$$set=F=>{"class"in F&&t(1,a=F.class),"draggable"in F&&t(2,u=F.draggable),"active"in F&&t(0,f=F.active),"interactive"in F&&t(3,c=F.interactive),"single"in F&&t(9,d=F.single),"$$scope"in F&&t(14,l=F.$$scope)},n.$$.update=()=>{n.$$.dirty&8257&&f&&(clearTimeout(r),t(13,r=setTimeout(()=>{o!=null&&o.scrollIntoViewIfNeeded?o.scrollIntoViewIfNeeded():o!=null&&o.scrollIntoView&&o.scrollIntoView({behavior:"smooth",block:"nearest"})},200)))},[f,a,u,c,k,S,o,m,s,d,h,_,g,r,l,i,T,$,C,D,O,E,L]}class _o extends ge{constructor(e){super(),_e(this,e,v5,k5,he,{class:1,draggable:2,active:0,interactive:3,single:9,isExpanded:10,expand:11,collapse:12,toggle:4,collapseSiblings:5})}get isExpanded(){return this.$$.ctx[10]}get expand(){return this.$$.ctx[11]}get collapse(){return this.$$.ctx[12]}get toggle(){return this.$$.ctx[4]}get collapseSiblings(){return this.$$.ctx[5]}}function w5(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].options.allowUsernameAuth,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[5]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowUsernameAuth),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function S5(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowUsernameAuth",$$slots:{default:[w5,({uniqueId:i})=>({13:i}),({uniqueId:i})=>i?8192:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&24577&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function $5(n){let e;return{c(){e=b("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function T5(n){let e;return{c(){e=b("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function Xd(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,{text:"Has errors",position:"left"})),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function C5(n){let e,t,i,l,s,o;function r(c,d){return c[0].options.allowUsernameAuth?T5:$5}let a=r(n),u=a(n),f=n[3]&&Xd();return{c(){e=b("div"),e.innerHTML=' Username/Password',t=M(),i=b("div"),l=M(),u.c(),s=M(),f&&f.c(),o=ke(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(c,d){w(c,e,d),w(c,t,d),w(c,i,d),w(c,l,d),u.m(c,d),w(c,s,d),f&&f.m(c,d),w(c,o,d)},p(c,d){a!==(a=r(c))&&(u.d(1),u=a(c),u&&(u.c(),u.m(s.parentNode,s))),c[3]?f?d&8&&A(f,1):(f=Xd(),f.c(),A(f,1),f.m(o.parentNode,o)):f&&(oe(),I(f,1,1,()=>{f=null}),re())},d(c){c&&(v(e),v(t),v(i),v(l),v(s),v(o)),u.d(c),f&&f.d(c)}}}function M5(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].options.allowEmailAuth,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[6]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowEmailAuth),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function Qd(n){let e,t,i,l,s,o,r,a;return i=new me({props:{class:"form-field "+(j.isEmpty(n[0].options.onlyEmailDomains)?"":"disabled"),name:"options.exceptEmailDomains",$$slots:{default:[O5,({uniqueId:u})=>({13:u}),({uniqueId:u})=>u?8192:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field "+(j.isEmpty(n[0].options.exceptEmailDomains)?"":"disabled"),name:"options.onlyEmailDomains",$$slots:{default:[D5,({uniqueId:u})=>({13:u}),({uniqueId:u})=>u?8192:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),p(t,"class","col-lg-6"),p(s,"class","col-lg-6"),p(e,"class","grid grid-sm p-t-sm")},m(u,f){w(u,e,f),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),a=!0},p(u,f){const c={};f&1&&(c.class="form-field "+(j.isEmpty(u[0].options.onlyEmailDomains)?"":"disabled")),f&24577&&(c.$$scope={dirty:f,ctx:u}),i.$set(c);const d={};f&1&&(d.class="form-field "+(j.isEmpty(u[0].options.exceptEmailDomains)?"":"disabled")),f&24577&&(d.$$scope={dirty:f,ctx:u}),o.$set(d)},i(u){a||(A(i.$$.fragment,u),A(o.$$.fragment,u),u&&Ke(()=>{a&&(r||(r=Pe(e,et,{duration:150},!0)),r.run(1))}),a=!0)},o(u){I(i.$$.fragment,u),I(o.$$.fragment,u),u&&(r||(r=Pe(e,et,{duration:150},!1)),r.run(0)),a=!1},d(u){u&&v(e),z(i),z(o),u&&r&&r.end()}}}function O5(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;function h(g){n[7](g)}let _={id:n[13],disabled:!j.isEmpty(n[0].options.onlyEmailDomains)};return n[0].options.exceptEmailDomains!==void 0&&(_.value=n[0].options.exceptEmailDomains),r=new Ll({props:_}),te.push(()=>be(r,"value",h)),{c(){e=b("label"),t=b("span"),t.textContent="Except domains",i=M(),l=b("i"),o=M(),V(r.$$.fragment),u=M(),f=b("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[13]),p(f,"class","help-block")},m(g,k){w(g,e,k),y(e,t),y(e,i),y(e,l),w(g,o,k),H(r,g,k),w(g,u,k),w(g,f,k),c=!0,d||(m=ve(Le.call(null,l,{text:`Email domains that are NOT allowed to sign up. This field is disabled if "Only domains" is set.`,position:"top"})),d=!0)},p(g,k){(!c||k&8192&&s!==(s=g[13]))&&p(e,"for",s);const S={};k&8192&&(S.id=g[13]),k&1&&(S.disabled=!j.isEmpty(g[0].options.onlyEmailDomains)),!a&&k&1&&(a=!0,S.value=g[0].options.exceptEmailDomains,ye(()=>a=!1)),r.$set(S)},i(g){c||(A(r.$$.fragment,g),c=!0)},o(g){I(r.$$.fragment,g),c=!1},d(g){g&&(v(e),v(o),v(u),v(f)),z(r,g),d=!1,m()}}}function D5(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;function h(g){n[8](g)}let _={id:n[13],disabled:!j.isEmpty(n[0].options.exceptEmailDomains)};return n[0].options.onlyEmailDomains!==void 0&&(_.value=n[0].options.onlyEmailDomains),r=new Ll({props:_}),te.push(()=>be(r,"value",h)),{c(){e=b("label"),t=b("span"),t.textContent="Only domains",i=M(),l=b("i"),o=M(),V(r.$$.fragment),u=M(),f=b("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[13]),p(f,"class","help-block")},m(g,k){w(g,e,k),y(e,t),y(e,i),y(e,l),w(g,o,k),H(r,g,k),w(g,u,k),w(g,f,k),c=!0,d||(m=ve(Le.call(null,l,{text:`Email domains that are ONLY allowed to sign up. This field is disabled if "Except domains" is set.`,position:"top"})),d=!0)},p(g,k){(!c||k&8192&&s!==(s=g[13]))&&p(e,"for",s);const S={};k&8192&&(S.id=g[13]),k&1&&(S.disabled=!j.isEmpty(g[0].options.exceptEmailDomains)),!a&&k&1&&(a=!0,S.value=g[0].options.onlyEmailDomains,ye(()=>a=!1)),r.$set(S)},i(g){c||(A(r.$$.fragment,g),c=!0)},o(g){I(r.$$.fragment,g),c=!1},d(g){g&&(v(e),v(o),v(u),v(f)),z(r,g),d=!1,m()}}}function E5(n){let e,t,i,l;e=new me({props:{class:"form-field form-field-toggle m-0",name:"options.allowEmailAuth",$$slots:{default:[M5,({uniqueId:o})=>({13:o}),({uniqueId:o})=>o?8192:0]},$$scope:{ctx:n}}});let s=n[0].options.allowEmailAuth&&Qd(n);return{c(){V(e.$$.fragment),t=M(),s&&s.c(),i=ke()},m(o,r){H(e,o,r),w(o,t,r),s&&s.m(o,r),w(o,i,r),l=!0},p(o,r){const a={};r&24577&&(a.$$scope={dirty:r,ctx:o}),e.$set(a),o[0].options.allowEmailAuth?s?(s.p(o,r),r&1&&A(s,1)):(s=Qd(o),s.c(),A(s,1),s.m(i.parentNode,i)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){l||(A(e.$$.fragment,o),A(s),l=!0)},o(o){I(e.$$.fragment,o),I(s),l=!1},d(o){o&&(v(t),v(i)),z(e,o),s&&s.d(o)}}}function A5(n){let e;return{c(){e=b("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function I5(n){let e;return{c(){e=b("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function xd(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,{text:"Has errors",position:"left"})),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function L5(n){let e,t,i,l,s,o;function r(c,d){return c[0].options.allowEmailAuth?I5:A5}let a=r(n),u=a(n),f=n[2]&&xd();return{c(){e=b("div"),e.innerHTML=' Email/Password',t=M(),i=b("div"),l=M(),u.c(),s=M(),f&&f.c(),o=ke(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(c,d){w(c,e,d),w(c,t,d),w(c,i,d),w(c,l,d),u.m(c,d),w(c,s,d),f&&f.m(c,d),w(c,o,d)},p(c,d){a!==(a=r(c))&&(u.d(1),u=a(c),u&&(u.c(),u.m(s.parentNode,s))),c[2]?f?d&4&&A(f,1):(f=xd(),f.c(),A(f,1),f.m(o.parentNode,o)):f&&(oe(),I(f,1,1,()=>{f=null}),re())},d(c){c&&(v(e),v(t),v(i),v(l),v(s),v(o)),u.d(c),f&&f.d(c)}}}function P5(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].options.allowOAuth2Auth,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[9]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowOAuth2Auth),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function ep(n){let e,t,i;return{c(){e=b("div"),e.innerHTML='
    ',p(e,"class","block")},m(l,s){w(l,e,s),i=!0},i(l){i||(l&&Ke(()=>{i&&(t||(t=Pe(e,et,{duration:150},!0)),t.run(1))}),i=!0)},o(l){l&&(t||(t=Pe(e,et,{duration:150},!1)),t.run(0)),i=!1},d(l){l&&v(e),l&&t&&t.end()}}}function N5(n){let e,t,i,l;e=new me({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowOAuth2Auth",$$slots:{default:[P5,({uniqueId:o})=>({13:o}),({uniqueId:o})=>o?8192:0]},$$scope:{ctx:n}}});let s=n[0].options.allowOAuth2Auth&&ep();return{c(){V(e.$$.fragment),t=M(),s&&s.c(),i=ke()},m(o,r){H(e,o,r),w(o,t,r),s&&s.m(o,r),w(o,i,r),l=!0},p(o,r){const a={};r&24577&&(a.$$scope={dirty:r,ctx:o}),e.$set(a),o[0].options.allowOAuth2Auth?s?r&1&&A(s,1):(s=ep(),s.c(),A(s,1),s.m(i.parentNode,i)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){l||(A(e.$$.fragment,o),A(s),l=!0)},o(o){I(e.$$.fragment,o),I(s),l=!1},d(o){o&&(v(t),v(i)),z(e,o),s&&s.d(o)}}}function F5(n){let e;return{c(){e=b("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function R5(n){let e;return{c(){e=b("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function tp(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,{text:"Has errors",position:"left"})),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function q5(n){let e,t,i,l,s,o;function r(c,d){return c[0].options.allowOAuth2Auth?R5:F5}let a=r(n),u=a(n),f=n[1]&&tp();return{c(){e=b("div"),e.innerHTML=' OAuth2',t=M(),i=b("div"),l=M(),u.c(),s=M(),f&&f.c(),o=ke(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(c,d){w(c,e,d),w(c,t,d),w(c,i,d),w(c,l,d),u.m(c,d),w(c,s,d),f&&f.m(c,d),w(c,o,d)},p(c,d){a!==(a=r(c))&&(u.d(1),u=a(c),u&&(u.c(),u.m(s.parentNode,s))),c[1]?f?d&2&&A(f,1):(f=tp(),f.c(),A(f,1),f.m(o.parentNode,o)):f&&(oe(),I(f,1,1,()=>{f=null}),re())},d(c){c&&(v(e),v(t),v(i),v(l),v(s),v(o)),u.d(c),f&&f.d(c)}}}function j5(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Minimum password length"),l=M(),s=b("input"),p(e,"for",i=n[13]),p(s,"type","number"),p(s,"id",o=n[13]),s.required=!0,p(s,"min","6"),p(s,"max","72")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].options.minPasswordLength),r||(a=K(s,"input",n[10]),r=!0)},p(u,f){f&8192&&i!==(i=u[13])&&p(e,"for",i),f&8192&&o!==(o=u[13])&&p(s,"id",o),f&1&&st(s.value)!==u[0].options.minPasswordLength&&ue(s,u[0].options.minPasswordLength)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function H5(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Always require email",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(s,"class","txt"),p(r,"class","ri-information-line txt-sm link-hint"),p(l,"for",a=n[13])},m(c,d){w(c,e,d),e.checked=n[0].options.requireEmail,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[11]),ve(Le.call(null,r,{text:`The constraint is applied only for new records. Also note that some OAuth2 providers (like Twitter), don't return an email and the authentication may fail if the email field is required.`,position:"right"}))],u=!0)},p(c,d){d&8192&&t!==(t=c[13])&&p(e,"id",t),d&1&&(e.checked=c[0].options.requireEmail),d&8192&&a!==(a=c[13])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function z5(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Forbid authentication for unverified users",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(s,"class","txt"),p(r,"class","ri-information-line txt-sm link-hint"),p(l,"for",a=n[13])},m(c,d){w(c,e,d),e.checked=n[0].options.onlyVerified,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[12]),ve(Le.call(null,r,{text:["If enabled, it returns 403 for new unverfied user authentication requests.","If you need more granular control, don't enable this option and instead use the `@request.auth.verified = true` rule in the specific collection(s) you are targeting."].join(` @@ -94,9 +94,9 @@ Also note that some OAuth2 providers (like Twitter), don't return an email and t `),l=b("strong"),o=Y(s),r=M(),a=b("i"),u=M(),f=b("strong"),d=Y(c),p(l,"class","txt-strikethrough txt-hint"),p(a,"class","ri-arrow-right-line txt-sm"),p(f,"class","txt"),p(t,"class","inline-flex"),p(e,"class","svelte-xqpcsf")},m(_,g){w(_,e,g),y(e,t),y(t,i),y(t,l),y(l,o),y(t,r),y(t,a),y(t,u),y(t,f),y(f,d)},p(_,g){var k,S;g&2&&s!==(s=((k=_[1])==null?void 0:k.name)+"")&&le(o,s),g&4&&c!==(c=((S=_[2])==null?void 0:S.name)+"")&&le(d,c)},d(_){_&&v(e)}}}function ap(n){let e,t,i,l=pe(n[6]),s=[];for(let f=0;f',i=M(),l=b("div"),s=b("p"),s.textContent=`If any of the collection changes is part of another collection rule, filter or view query, - you'll have to update it manually!`,o=M(),u&&u.c(),r=M(),f&&f.c(),a=ke(),p(t,"class","icon"),p(l,"class","content txt-bold"),p(e,"class","alert alert-warning")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),y(l,s),y(l,o),u&&u.m(l,null),w(c,r,d),f&&f.m(c,d),w(c,a,d)},p(c,d){c[7].length?u||(u=sp(),u.c(),u.m(l,null)):u&&(u.d(1),u=null),c[9]?f?f.p(c,d):(f=op(c),f.c(),f.m(a.parentNode,a)):f&&(f.d(1),f=null)},d(c){c&&(v(e),v(r),v(a)),u&&u.d(),f&&f.d(c)}}}function Y5(n){let e;return{c(){e=b("h4"),e.textContent="Confirm collection changes"},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function K5(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='Cancel',t=M(),i=b("button"),i.innerHTML='Confirm',e.autofocus=!0,p(e,"type","button"),p(e,"class","btn btn-transparent"),p(i,"type","button"),p(i,"class","btn btn-expanded")},m(o,r){w(o,e,r),w(o,t,r),w(o,i,r),e.focus(),l||(s=[K(e,"click",n[12]),K(i,"click",n[13])],l=!0)},p:Q,d(o){o&&(v(e),v(t),v(i)),l=!1,we(s)}}}function J5(n){let e,t,i={class:"confirm-changes-panel",popup:!0,$$slots:{footer:[K5],header:[Y5],default:[W5]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[14](e),e.$on("hide",n[15]),e.$on("show",n[16]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&33555422&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[14](null),z(e,l)}}}function Z5(n,e,t){let i,l,s,o,r,a;const u=ot();let f,c,d;async function m(C,D){t(1,c=C),t(2,d=D),await Qt(),i||s.length||o.length||r.length?f==null||f.show():_()}function h(){f==null||f.hide()}function _(){h(),u("confirm")}const g=()=>h(),k=()=>_();function S(C){te[C?"unshift":"push"](()=>{f=C,t(5,f)})}function T(C){Ae.call(this,n,C)}function $(C){Ae.call(this,n,C)}return n.$$.update=()=>{var C,D,O;n.$$.dirty&6&&t(3,i=(c==null?void 0:c.name)!=(d==null?void 0:d.name)),n.$$.dirty&4&&t(4,l=(d==null?void 0:d.type)==="view"),n.$$.dirty&4&&t(8,s=((C=d==null?void 0:d.schema)==null?void 0:C.filter(E=>E.id&&!E.toDelete&&E.originalName!=E.name))||[]),n.$$.dirty&4&&t(7,o=((D=d==null?void 0:d.schema)==null?void 0:D.filter(E=>E.id&&E.toDelete))||[]),n.$$.dirty&6&&t(6,r=((O=d==null?void 0:d.schema)==null?void 0:O.filter(E=>{var F,P,N;const L=(F=c==null?void 0:c.schema)==null?void 0:F.find(R=>R.id==E.id);return L?((P=L.options)==null?void 0:P.maxSelect)!=1&&((N=E.options)==null?void 0:N.maxSelect)==1:!1}))||[]),n.$$.dirty&24&&t(9,a=!l||i)},[h,c,d,i,l,f,r,o,s,a,_,m,g,k,S,T,$]}class G5 extends ge{constructor(e){super(),_e(this,e,Z5,J5,he,{show:11,hide:0})}get show(){return this.$$.ctx[11]}get hide(){return this.$$.ctx[0]}}function dp(n,e,t){const i=n.slice();return i[49]=e[t][0],i[50]=e[t][1],i}function X5(n){let e,t,i;function l(o){n[35](o)}let s={};return n[2]!==void 0&&(s.collection=n[2]),e=new xC({props:s}),te.push(()=>be(e,"collection",l)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};!t&&r[0]&4&&(t=!0,a.collection=o[2],ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function Q5(n){let e,t,i;function l(o){n[34](o)}let s={};return n[2]!==void 0&&(s.collection=n[2]),e=new b5({props:s}),te.push(()=>be(e,"collection",l)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};!t&&r[0]&4&&(t=!0,a.collection=o[2],ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function pp(n){let e,t,i,l;function s(r){n[36](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new d5({props:o}),te.push(()=>be(t,"collection",s)),{c(){e=b("div"),V(t.$$.fragment),p(e,"class","tab-item active")},m(r,a){w(r,e,a),H(t,e,null),l=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],ye(()=>i=!1)),t.$set(u)},i(r){l||(A(t.$$.fragment,r),l=!0)},o(r){I(t.$$.fragment,r),l=!1},d(r){r&&v(e),z(t)}}}function mp(n){let e,t,i,l;function s(r){n[37](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new U5({props:o}),te.push(()=>be(t,"collection",s)),{c(){e=b("div"),V(t.$$.fragment),p(e,"class","tab-item"),ee(e,"active",n[3]===Ml)},m(r,a){w(r,e,a),H(t,e,null),l=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],ye(()=>i=!1)),t.$set(u),(!l||a[0]&8)&&ee(e,"active",r[3]===Ml)},i(r){l||(A(t.$$.fragment,r),l=!0)},o(r){I(t.$$.fragment,r),l=!1},d(r){r&&v(e),z(t)}}}function x5(n){let e,t,i,l,s,o,r;const a=[Q5,X5],u=[];function f(m,h){return m[14]?0:1}i=f(n),l=u[i]=a[i](n);let c=n[3]===bs&&pp(n),d=n[15]&&mp(n);return{c(){e=b("div"),t=b("div"),l.c(),s=M(),c&&c.c(),o=M(),d&&d.c(),p(t,"class","tab-item"),ee(t,"active",n[3]===Di),p(e,"class","tabs-content svelte-12y0yzb")},m(m,h){w(m,e,h),y(e,t),u[i].m(t,null),y(e,s),c&&c.m(e,null),y(e,o),d&&d.m(e,null),r=!0},p(m,h){let _=i;i=f(m),i===_?u[i].p(m,h):(oe(),I(u[_],1,1,()=>{u[_]=null}),re(),l=u[i],l?l.p(m,h):(l=u[i]=a[i](m),l.c()),A(l,1),l.m(t,null)),(!r||h[0]&8)&&ee(t,"active",m[3]===Di),m[3]===bs?c?(c.p(m,h),h[0]&8&&A(c,1)):(c=pp(m),c.c(),A(c,1),c.m(e,o)):c&&(oe(),I(c,1,1,()=>{c=null}),re()),m[15]?d?(d.p(m,h),h[0]&32768&&A(d,1)):(d=mp(m),d.c(),A(d,1),d.m(e,null)):d&&(oe(),I(d,1,1,()=>{d=null}),re())},i(m){r||(A(l),A(c),A(d),r=!0)},o(m){I(l),I(c),I(d),r=!1},d(m){m&&v(e),u[i].d(),c&&c.d(),d&&d.d()}}}function hp(n){let e,t,i,l,s,o,r;return o=new En({props:{class:"dropdown dropdown-right m-t-5",$$slots:{default:[e6]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=M(),i=b("button"),l=b("i"),s=M(),V(o.$$.fragment),p(e,"class","flex-fill"),p(l,"class","ri-more-line"),p(i,"type","button"),p(i,"aria-label","More"),p(i,"class","btn btn-sm btn-circle btn-transparent flex-gap-0")},m(a,u){w(a,e,u),w(a,t,u),w(a,i,u),y(i,l),y(i,s),H(o,i,null),r=!0},p(a,u){const f={};u[1]&4194304&&(f.$$scope={dirty:u,ctx:a}),o.$set(f)},i(a){r||(A(o.$$.fragment,a),r=!0)},o(a){I(o.$$.fragment,a),r=!1},d(a){a&&(v(e),v(t),v(i)),z(o)}}}function e6(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML=' Duplicate',t=M(),i=b("button"),i.innerHTML=' Delete',p(e,"type","button"),p(e,"class","dropdown-item closable"),p(i,"type","button"),p(i,"class","dropdown-item txt-danger closable")},m(o,r){w(o,e,r),w(o,t,r),w(o,i,r),l||(s=[K(e,"click",n[26]),K(i,"click",fn(Ye(n[27])))],l=!0)},p:Q,d(o){o&&(v(e),v(t),v(i)),l=!1,we(s)}}}function _p(n){let e,t,i,l;return i=new En({props:{class:"dropdown dropdown-right dropdown-nowrap m-t-5",$$slots:{default:[t6]},$$scope:{ctx:n}}}),{c(){e=b("i"),t=M(),V(i.$$.fragment),p(e,"class","ri-arrow-down-s-fill")},m(s,o){w(s,e,o),w(s,t,o),H(i,s,o),l=!0},p(s,o){const r={};o[0]&68|o[1]&4194304&&(r.$$scope={dirty:o,ctx:s}),i.$set(r)},i(s){l||(A(i.$$.fragment,s),l=!0)},o(s){I(i.$$.fragment,s),l=!1},d(s){s&&(v(e),v(t)),z(i,s)}}}function gp(n){let e,t,i,l,s,o=n[50]+"",r,a,u,f,c;function d(){return n[29](n[49])}return{c(){e=b("button"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=Y(" collection"),u=M(),p(t,"class",i=Jn(j.getCollectionTypeIcon(n[49]))+" svelte-12y0yzb"),p(s,"class","txt"),p(e,"type","button"),p(e,"class","dropdown-item closable"),ee(e,"selected",n[49]==n[2].type)},m(m,h){w(m,e,h),y(e,t),y(e,l),y(e,s),y(s,r),y(s,a),y(e,u),f||(c=K(e,"click",d),f=!0)},p(m,h){n=m,h[0]&64&&i!==(i=Jn(j.getCollectionTypeIcon(n[49]))+" svelte-12y0yzb")&&p(t,"class",i),h[0]&64&&o!==(o=n[50]+"")&&le(r,o),h[0]&68&&ee(e,"selected",n[49]==n[2].type)},d(m){m&&v(e),f=!1,c()}}}function t6(n){let e,t=pe(Object.entries(n[6])),i=[];for(let l=0;l{P=null}),re()):P?(P.p(R,q),q[0]&4&&A(P,1)):(P=_p(R),P.c(),A(P,1),P.m(d,null)),(!E||q[0]&4&&$!==($="btn btn-sm p-r-10 p-l-10 "+(R[2].id?"btn-transparent":"btn-outline")))&&p(d,"class",$),(!E||q[0]&4&&C!==(C=!!R[2].id))&&(d.disabled=C),R[2].system?N||(N=bp(),N.c(),N.m(O.parentNode,O)):N&&(N.d(1),N=null)},i(R){E||(A(P),E=!0)},o(R){I(P),E=!1},d(R){R&&(v(e),v(l),v(s),v(f),v(c),v(D),v(O)),P&&P.d(),N&&N.d(R),L=!1,F()}}}function yp(n){let e,t,i,l,s,o;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(r,a){w(r,e,a),l=!0,s||(o=ve(t=Le.call(null,e,n[11])),s=!0)},p(r,a){t&&$t(t.update)&&a[0]&2048&&t.update.call(null,r[11])},i(r){l||(r&&Ke(()=>{l&&(i||(i=Pe(e,Yt,{duration:150,start:.7},!0)),i.run(1))}),l=!0)},o(r){r&&(i||(i=Pe(e,Yt,{duration:150,start:.7},!1)),i.run(0)),l=!1},d(r){r&&v(e),r&&i&&i.end(),s=!1,o()}}}function kp(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,"Has errors")),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function vp(n){var a,u,f;let e,t,i,l=!j.isEmpty((a=n[5])==null?void 0:a.options)&&!((f=(u=n[5])==null?void 0:u.options)!=null&&f.manageRule),s,o,r=l&&wp();return{c(){e=b("button"),t=b("span"),t.textContent="Options",i=M(),r&&r.c(),p(t,"class","txt"),p(e,"type","button"),p(e,"class","tab-item"),ee(e,"active",n[3]===Ml)},m(c,d){w(c,e,d),y(e,t),y(e,i),r&&r.m(e,null),s||(o=K(e,"click",n[33]),s=!0)},p(c,d){var m,h,_;d[0]&32&&(l=!j.isEmpty((m=c[5])==null?void 0:m.options)&&!((_=(h=c[5])==null?void 0:h.options)!=null&&_.manageRule)),l?r?d[0]&32&&A(r,1):(r=wp(),r.c(),A(r,1),r.m(e,null)):r&&(oe(),I(r,1,1,()=>{r=null}),re()),d[0]&8&&ee(e,"active",c[3]===Ml)},d(c){c&&v(e),r&&r.d(),s=!1,o()}}}function wp(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,"Has errors")),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function i6(n){var W,J,G,B,U,ae,x;let e,t=n[2].id?"Edit collection":"New collection",i,l,s,o,r,a,u,f,c,d,m,h=n[14]?"Query":"Fields",_,g,k=!j.isEmpty(n[11]),S,T,$,C,D=!j.isEmpty((W=n[5])==null?void 0:W.listRule)||!j.isEmpty((J=n[5])==null?void 0:J.viewRule)||!j.isEmpty((G=n[5])==null?void 0:G.createRule)||!j.isEmpty((B=n[5])==null?void 0:B.updateRule)||!j.isEmpty((U=n[5])==null?void 0:U.deleteRule)||!j.isEmpty((x=(ae=n[5])==null?void 0:ae.options)==null?void 0:x.manageRule),O,E,L,F,P=!!n[2].id&&!n[2].system&&hp(n);r=new me({props:{class:"form-field collection-field-name required m-b-0 "+(n[13]?"disabled":""),name:"name",$$slots:{default:[n6,({uniqueId:se})=>({48:se}),({uniqueId:se})=>[0,se?131072:0]]},$$scope:{ctx:n}}});let N=k&&yp(n),R=D&&kp(),q=n[15]&&vp(n);return{c(){e=b("h4"),i=Y(t),l=M(),P&&P.c(),s=M(),o=b("form"),V(r.$$.fragment),a=M(),u=b("input"),f=M(),c=b("div"),d=b("button"),m=b("span"),_=Y(h),g=M(),N&&N.c(),S=M(),T=b("button"),$=b("span"),$.textContent="API Rules",C=M(),R&&R.c(),O=M(),q&&q.c(),p(e,"class","upsert-panel-title svelte-12y0yzb"),p(u,"type","submit"),p(u,"class","hidden"),p(u,"tabindex","-1"),p(o,"class","block"),p(m,"class","txt"),p(d,"type","button"),p(d,"class","tab-item"),ee(d,"active",n[3]===Di),p($,"class","txt"),p(T,"type","button"),p(T,"class","tab-item"),ee(T,"active",n[3]===bs),p(c,"class","tabs-header stretched")},m(se,De){w(se,e,De),y(e,i),w(se,l,De),P&&P.m(se,De),w(se,s,De),w(se,o,De),H(r,o,null),y(o,a),y(o,u),w(se,f,De),w(se,c,De),y(c,d),y(d,m),y(m,_),y(d,g),N&&N.m(d,null),y(c,S),y(c,T),y(T,$),y(T,C),R&&R.m(T,null),y(c,O),q&&q.m(c,null),E=!0,L||(F=[K(o,"submit",Ye(n[30])),K(d,"click",n[31]),K(T,"click",n[32])],L=!0)},p(se,De){var Ve,Ze,tt,Xe,Ct,Pt,Te;(!E||De[0]&4)&&t!==(t=se[2].id?"Edit collection":"New collection")&&le(i,t),se[2].id&&!se[2].system?P?(P.p(se,De),De[0]&4&&A(P,1)):(P=hp(se),P.c(),A(P,1),P.m(s.parentNode,s)):P&&(oe(),I(P,1,1,()=>{P=null}),re());const je={};De[0]&8192&&(je.class="form-field collection-field-name required m-b-0 "+(se[13]?"disabled":"")),De[0]&41028|De[1]&4325376&&(je.$$scope={dirty:De,ctx:se}),r.$set(je),(!E||De[0]&16384)&&h!==(h=se[14]?"Query":"Fields")&&le(_,h),De[0]&2048&&(k=!j.isEmpty(se[11])),k?N?(N.p(se,De),De[0]&2048&&A(N,1)):(N=yp(se),N.c(),A(N,1),N.m(d,null)):N&&(oe(),I(N,1,1,()=>{N=null}),re()),(!E||De[0]&8)&&ee(d,"active",se[3]===Di),De[0]&32&&(D=!j.isEmpty((Ve=se[5])==null?void 0:Ve.listRule)||!j.isEmpty((Ze=se[5])==null?void 0:Ze.viewRule)||!j.isEmpty((tt=se[5])==null?void 0:tt.createRule)||!j.isEmpty((Xe=se[5])==null?void 0:Xe.updateRule)||!j.isEmpty((Ct=se[5])==null?void 0:Ct.deleteRule)||!j.isEmpty((Te=(Pt=se[5])==null?void 0:Pt.options)==null?void 0:Te.manageRule)),D?R?De[0]&32&&A(R,1):(R=kp(),R.c(),A(R,1),R.m(T,null)):R&&(oe(),I(R,1,1,()=>{R=null}),re()),(!E||De[0]&8)&&ee(T,"active",se[3]===bs),se[15]?q?q.p(se,De):(q=vp(se),q.c(),q.m(c,null)):q&&(q.d(1),q=null)},i(se){E||(A(P),A(r.$$.fragment,se),A(N),A(R),E=!0)},o(se){I(P),I(r.$$.fragment,se),I(N),I(R),E=!1},d(se){se&&(v(e),v(l),v(s),v(o),v(f),v(c)),P&&P.d(se),z(r),N&&N.d(),R&&R.d(),q&&q.d(),L=!1,we(F)}}}function l6(n){let e,t,i,l,s,o=n[2].id?"Save changes":"Create",r,a,u,f;return{c(){e=b("button"),t=b("span"),t.textContent="Cancel",i=M(),l=b("button"),s=b("span"),r=Y(o),p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[9],p(s,"class","txt"),p(l,"type","button"),p(l,"class","btn btn-expanded"),l.disabled=a=!n[12]||n[9],ee(l,"btn-loading",n[9])},m(c,d){w(c,e,d),y(e,t),w(c,i,d),w(c,l,d),y(l,s),y(s,r),u||(f=[K(e,"click",n[24]),K(l,"click",n[25])],u=!0)},p(c,d){d[0]&512&&(e.disabled=c[9]),d[0]&4&&o!==(o=c[2].id?"Save changes":"Create")&&le(r,o),d[0]&4608&&a!==(a=!c[12]||c[9])&&(l.disabled=a),d[0]&512&&ee(l,"btn-loading",c[9])},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function s6(n){let e,t,i,l,s={class:"overlay-panel-lg colored-header collection-panel",escClose:!1,overlayClose:!n[9],beforeHide:n[38],$$slots:{footer:[l6],header:[i6],default:[x5]},$$scope:{ctx:n}};e=new Xt({props:s}),n[39](e),e.$on("hide",n[40]),e.$on("show",n[41]);let o={};return i=new G5({props:o}),n[42](i),i.$on("confirm",n[43]),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment)},m(r,a){H(e,r,a),w(r,t,a),H(i,r,a),l=!0},p(r,a){const u={};a[0]&512&&(u.overlayClose=!r[9]),a[0]&1040&&(u.beforeHide=r[38]),a[0]&64108|a[1]&4194304&&(u.$$scope={dirty:a,ctx:r}),e.$set(u);const f={};i.$set(f)},i(r){l||(A(e.$$.fragment,r),A(i.$$.fragment,r),l=!0)},o(r){I(e.$$.fragment,r),I(i.$$.fragment,r),l=!1},d(r){r&&v(t),n[39](null),z(e,r),n[42](null),z(i,r)}}}const Di="schema",bs="api_rules",Ml="options",o6="base",Sp="auth",$p="view";function Ir(n){return JSON.stringify(n)}function r6(n,e,t){let i,l,s,o,r,a;We(n,_i,ne=>t(5,a=ne));const u={};u[o6]="Base",u[$p]="View",u[Sp]="Auth";const f=ot();let c,d,m=null,h=j.initCollection(),_=!1,g=!1,k=Di,S=Ir(h),T="";function $(ne){t(3,k=ne)}function C(ne){return O(ne),t(10,g=!0),$(Di),c==null?void 0:c.show()}function D(){return c==null?void 0:c.hide()}async function O(ne){Gt({}),typeof ne<"u"?(t(22,m=ne),t(2,h=structuredClone(ne))):(t(22,m=null),t(2,h=j.initCollection())),t(2,h.schema=h.schema||[],h),t(2,h.originalName=h.name||"",h),await Qt(),t(23,S=Ir(h))}function E(){h.id?d==null||d.show(m,h):L()}function L(){if(_)return;t(9,_=!0);const ne=F();let Fe;h.id?Fe=fe.collections.update(h.id,ne):Fe=fe.collections.create(ne),Fe.then(Se=>{Ma(),Zk(Se),t(10,g=!1),D(),It(h.id?"Successfully updated collection.":"Successfully created collection."),f("save",{isNew:!h.id,collection:Se})}).catch(Se=>{fe.error(Se)}).finally(()=>{t(9,_=!1)})}function F(){const ne=Object.assign({},h);ne.schema=ne.schema.slice(0);for(let Fe=ne.schema.length-1;Fe>=0;Fe--)ne.schema[Fe].toDelete&&ne.schema.splice(Fe,1);return ne}function P(){m!=null&&m.id&&an(`Do you really want to delete collection "${m.name}" and all its records?`,()=>fe.collections.delete(m.id).then(()=>{D(),It(`Successfully deleted collection "${m.name}".`),f("delete",m),Gk(m)}).catch(ne=>{fe.error(ne)}))}function N(ne){t(2,h.type=ne,h),ii("schema")}function R(){o?an("You have unsaved changes. Do you really want to discard them?",()=>{q()}):q()}async function q(){const ne=m?structuredClone(m):null;if(ne){if(ne.id="",ne.created="",ne.updated="",ne.name+="_duplicate",!j.isEmpty(ne.schema))for(const Fe of ne.schema)Fe.id="";if(!j.isEmpty(ne.indexes))for(let Fe=0;FeD(),J=()=>E(),G=()=>R(),B=()=>P(),U=ne=>{t(2,h.name=j.slugify(ne.target.value),h),ne.target.value=h.name},ae=ne=>N(ne),x=()=>{r&&E()},se=()=>$(Di),De=()=>$(bs),je=()=>$(Ml);function Ve(ne){h=ne,t(2,h),t(22,m)}function Ze(ne){h=ne,t(2,h),t(22,m)}function tt(ne){h=ne,t(2,h),t(22,m)}function Xe(ne){h=ne,t(2,h),t(22,m)}const Ct=()=>o&&g?(an("You have unsaved changes. Do you really want to close the panel?",()=>{t(10,g=!1),D()}),!1):!0;function Pt(ne){te[ne?"unshift":"push"](()=>{c=ne,t(7,c)})}function Te(ne){Ae.call(this,n,ne)}function Oe(ne){Ae.call(this,n,ne)}function ze(ne){te[ne?"unshift":"push"](()=>{d=ne,t(8,d)})}const _t=()=>L();return n.$$.update=()=>{var ne,Fe;n.$$.dirty[0]&4&&h.type==="view"&&(t(2,h.createRule=null,h),t(2,h.updateRule=null,h),t(2,h.deleteRule=null,h),t(2,h.indexes=[],h)),n.$$.dirty[0]&4194308&&h.name&&(m==null?void 0:m.name)!=h.name&&h.indexes.length>0&&t(2,h.indexes=(ne=h.indexes)==null?void 0:ne.map(Se=>j.replaceIndexTableName(Se,h.name)),h),n.$$.dirty[0]&4&&t(15,i=h.type===Sp),n.$$.dirty[0]&4&&t(14,l=h.type===$p),n.$$.dirty[0]&32&&(a.schema||(Fe=a.options)!=null&&Fe.query?t(11,T=j.getNestedVal(a,"schema.message")||"Has errors"):t(11,T="")),n.$$.dirty[0]&4&&t(13,s=!!h.id&&h.system),n.$$.dirty[0]&8388612&&t(4,o=S!=Ir(h)),n.$$.dirty[0]&20&&t(12,r=!h.id||o),n.$$.dirty[0]&12&&k===Ml&&h.type!=="auth"&&$(Di)},[$,D,h,k,o,a,u,c,d,_,g,T,r,s,l,i,E,L,P,N,R,C,m,S,W,J,G,B,U,ae,x,se,De,je,Ve,Ze,tt,Xe,Ct,Pt,Te,Oe,ze,_t]}class Xa extends ge{constructor(e){super(),_e(this,e,r6,s6,he,{changeTab:0,show:21,hide:1},null,[-1,-1])}get changeTab(){return this.$$.ctx[0]}get show(){return this.$$.ctx[21]}get hide(){return this.$$.ctx[1]}}function a6(n){let e;return{c(){e=b("i"),p(e,"class","ri-pushpin-line m-l-auto svelte-1u3ag8h")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function u6(n){let e;return{c(){e=b("i"),p(e,"class","ri-unpin-line svelte-1u3ag8h")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function f6(n){let e,t,i,l,s,o=n[0].name+"",r,a,u,f,c,d,m,h;function _(S,T){return S[1]?u6:a6}let g=_(n),k=g(n);return{c(){var S;e=b("a"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=M(),u=b("span"),k.c(),p(t,"class",i=Jn(j.getCollectionTypeIcon(n[0].type))+" svelte-1u3ag8h"),p(s,"class","txt m-r-auto"),p(u,"class","btn btn-xs btn-circle btn-hint btn-transparent pin-collection svelte-1u3ag8h"),p(u,"aria-label","Pin collection"),p(e,"href",c="/collections?collectionId="+n[0].id),p(e,"class","sidebar-list-item svelte-1u3ag8h"),p(e,"title",d=n[0].name),ee(e,"active",((S=n[2])==null?void 0:S.id)===n[0].id)},m(S,T){w(S,e,T),y(e,t),y(e,l),y(e,s),y(s,r),y(e,a),y(e,u),k.m(u,null),m||(h=[ve(f=Le.call(null,u,{position:"right",text:(n[1]?"Unpin":"Pin")+" collection"})),K(u,"click",fn(Ye(n[5]))),ve(ln.call(null,e))],m=!0)},p(S,[T]){var $;T&1&&i!==(i=Jn(j.getCollectionTypeIcon(S[0].type))+" svelte-1u3ag8h")&&p(t,"class",i),T&1&&o!==(o=S[0].name+"")&&le(r,o),g!==(g=_(S))&&(k.d(1),k=g(S),k&&(k.c(),k.m(u,null))),f&&$t(f.update)&&T&2&&f.update.call(null,{position:"right",text:(S[1]?"Unpin":"Pin")+" collection"}),T&1&&c!==(c="/collections?collectionId="+S[0].id)&&p(e,"href",c),T&1&&d!==(d=S[0].name)&&p(e,"title",d),T&5&&ee(e,"active",(($=S[2])==null?void 0:$.id)===S[0].id)},i:Q,o:Q,d(S){S&&v(e),k.d(),m=!1,we(h)}}}function c6(n,e,t){let i,l;We(n,li,u=>t(2,l=u));let{collection:s}=e,{pinnedIds:o}=e;function r(u){o.includes(u.id)?j.removeByValue(o,u.id):o.push(u.id),t(4,o)}const a=()=>r(s);return n.$$set=u=>{"collection"in u&&t(0,s=u.collection),"pinnedIds"in u&&t(4,o=u.pinnedIds)},n.$$.update=()=>{n.$$.dirty&17&&t(1,i=o.includes(s.id))},[s,i,l,r,o,a]}class Rb extends ge{constructor(e){super(),_e(this,e,c6,f6,he,{collection:0,pinnedIds:4})}}function Tp(n,e,t){const i=n.slice();return i[22]=e[t],i}function Cp(n,e,t){const i=n.slice();return i[22]=e[t],i}function Mp(n){let e,t,i=[],l=new Map,s,o,r=pe(n[6]);const a=u=>u[22].id;for(let u=0;ube(i,"pinnedIds",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u&64&&(f.collection=e[22]),!l&&u&2&&(l=!0,f.pinnedIds=e[1],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function Dp(n){let e,t=[],i=new Map,l,s,o=n[6].length&&Ep(),r=pe(n[5]);const a=u=>u[22].id;for(let u=0;ube(i,"pinnedIds",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u&32&&(f.collection=e[22]),!l&&u&2&&(l=!0,f.pinnedIds=e[1],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function Ip(n){let e;return{c(){e=b("p"),e.textContent="No collections found.",p(e,"class","txt-hint m-t-10 m-b-10 txt-center")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function Lp(n){let e,t,i,l;return{c(){e=b("footer"),t=b("button"),t.innerHTML=' New collection',p(t,"type","button"),p(t,"class","btn btn-block btn-outline"),p(e,"class","sidebar-footer")},m(s,o){w(s,e,o),y(e,t),i||(l=K(t,"click",n[16]),i=!0)},p:Q,d(s){s&&v(e),i=!1,l()}}}function d6(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S=n[6].length&&Mp(n),T=n[5].length&&Dp(n),$=n[3].length&&!n[2].length&&Ip(),C=!n[9]&&Lp(n);return{c(){e=b("header"),t=b("div"),i=b("div"),l=b("button"),l.innerHTML='',s=M(),o=b("input"),r=M(),a=b("hr"),u=M(),f=b("div"),S&&S.c(),c=M(),T&&T.c(),d=M(),$&&$.c(),m=M(),C&&C.c(),h=ke(),p(l,"type","button"),p(l,"class","btn btn-xs btn-transparent btn-circle btn-clear"),ee(l,"hidden",!n[7]),p(i,"class","form-field-addon"),p(o,"type","text"),p(o,"placeholder","Search collections..."),p(o,"name","collections-search"),p(t,"class","form-field search"),ee(t,"active",n[7]),p(e,"class","sidebar-header"),p(a,"class","m-t-5 m-b-xs"),p(f,"class","sidebar-content"),ee(f,"fade",n[8]),ee(f,"sidebar-content-compact",n[2].length>20)},m(D,O){w(D,e,O),y(e,t),y(t,i),y(i,l),y(t,s),y(t,o),ue(o,n[0]),w(D,r,O),w(D,a,O),w(D,u,O),w(D,f,O),S&&S.m(f,null),y(f,c),T&&T.m(f,null),y(f,d),$&&$.m(f,null),w(D,m,O),C&&C.m(D,O),w(D,h,O),_=!0,g||(k=[K(l,"click",n[12]),K(o,"input",n[13])],g=!0)},p(D,O){(!_||O&128)&&ee(l,"hidden",!D[7]),O&1&&o.value!==D[0]&&ue(o,D[0]),(!_||O&128)&&ee(t,"active",D[7]),D[6].length?S?(S.p(D,O),O&64&&A(S,1)):(S=Mp(D),S.c(),A(S,1),S.m(f,c)):S&&(oe(),I(S,1,1,()=>{S=null}),re()),D[5].length?T?(T.p(D,O),O&32&&A(T,1)):(T=Dp(D),T.c(),A(T,1),T.m(f,d)):T&&(oe(),I(T,1,1,()=>{T=null}),re()),D[3].length&&!D[2].length?$||($=Ip(),$.c(),$.m(f,null)):$&&($.d(1),$=null),(!_||O&256)&&ee(f,"fade",D[8]),(!_||O&4)&&ee(f,"sidebar-content-compact",D[2].length>20),D[9]?C&&(C.d(1),C=null):C?C.p(D,O):(C=Lp(D),C.c(),C.m(h.parentNode,h))},i(D){_||(A(S),A(T),_=!0)},o(D){I(S),I(T),_=!1},d(D){D&&(v(e),v(r),v(a),v(u),v(f),v(m),v(h)),S&&S.d(),T&&T.d(),$&&$.d(),C&&C.d(D),g=!1,we(k)}}}function p6(n){let e,t,i,l;e=new Ab({props:{class:"collection-sidebar",$$slots:{default:[d6]},$$scope:{ctx:n}}});let s={};return i=new Xa({props:s}),n[17](i),i.$on("save",n[18]),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment)},m(o,r){H(e,o,r),w(o,t,r),H(i,o,r),l=!0},p(o,[r]){const a={};r&134218751&&(a.$$scope={dirty:r,ctx:o}),e.$set(a);const u={};i.$set(u)},i(o){l||(A(e.$$.fragment,o),A(i.$$.fragment,o),l=!0)},o(o){I(e.$$.fragment,o),I(i.$$.fragment,o),l=!1},d(o){o&&v(t),z(e,o),n[17](null),z(i,o)}}}const Pp="@pinnedCollections";function m6(){setTimeout(()=>{const n=document.querySelector(".collection-sidebar .sidebar-list-item.active");n&&(n==null||n.scrollIntoView({block:"nearest"}))},0)}function h6(n,e,t){let i,l,s,o,r,a,u,f,c;We(n,zn,L=>t(11,a=L)),We(n,li,L=>t(19,u=L)),We(n,To,L=>t(8,f=L)),We(n,Sl,L=>t(9,c=L));let d,m="",h=[];g();function _(L){tn(li,u=L,u)}function g(){t(1,h=[]);try{const L=localStorage.getItem(Pp);L&&t(1,h=JSON.parse(L)||[])}catch{}}function k(){t(1,h=h.filter(L=>!!a.find(F=>F.id==L)))}const S=()=>t(0,m="");function T(){m=this.value,t(0,m)}function $(L){h=L,t(1,h)}function C(L){h=L,t(1,h)}const D=()=>d==null?void 0:d.show();function O(L){te[L?"unshift":"push"](()=>{d=L,t(4,d)})}const E=L=>{var F;(F=L.detail)!=null&&F.isNew&&L.detail.collection&&_(L.detail.collection)};return n.$$.update=()=>{n.$$.dirty&2048&&a&&(k(),m6()),n.$$.dirty&1&&t(3,i=m.replace(/\s+/g,"").toLowerCase()),n.$$.dirty&1&&t(7,l=m!==""),n.$$.dirty&2&&h&&localStorage.setItem(Pp,JSON.stringify(h)),n.$$.dirty&2057&&t(2,s=a.filter(L=>L.id==m||L.name.replace(/\s+/g,"").toLowerCase().includes(i))),n.$$.dirty&6&&t(6,o=s.filter(L=>h.includes(L.id))),n.$$.dirty&6&&t(5,r=s.filter(L=>!h.includes(L.id)))},[m,h,s,i,d,r,o,l,f,c,_,a,S,T,$,C,D,O,E]}class _6 extends ge{constructor(e){super(),_e(this,e,h6,p6,he,{})}}function Np(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i}function Fp(n){n[18]=n[19].default}function Rp(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i[21]=t,i}function qp(n){let e;return{c(){e=b("hr"),p(e,"class","m-t-sm m-b-sm")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function jp(n,e){let t,i=e[21]===Object.keys(e[6]).length,l,s,o=e[15].label+"",r,a,u,f,c=i&&qp();function d(){return e[9](e[14])}return{key:n,first:null,c(){t=ke(),c&&c.c(),l=M(),s=b("button"),r=Y(o),a=M(),p(s,"type","button"),p(s,"class","sidebar-item"),ee(s,"active",e[5]===e[14]),this.first=t},m(m,h){w(m,t,h),c&&c.m(m,h),w(m,l,h),w(m,s,h),y(s,r),y(s,a),u||(f=K(s,"click",d),u=!0)},p(m,h){e=m,h&8&&(i=e[21]===Object.keys(e[6]).length),i?c||(c=qp(),c.c(),c.m(l.parentNode,l)):c&&(c.d(1),c=null),h&8&&o!==(o=e[15].label+"")&&le(r,o),h&40&&ee(s,"active",e[5]===e[14])},d(m){m&&(v(t),v(l),v(s)),c&&c.d(m),u=!1,f()}}}function Hp(n){let e,t,i,l={ctx:n,current:null,token:null,hasCatch:!1,pending:y6,then:b6,catch:g6,value:19,blocks:[,,,]};return lu(t=n[15].component,l),{c(){e=ke(),l.block.c()},m(s,o){w(s,e,o),l.block.m(s,l.anchor=o),l.mount=()=>e.parentNode,l.anchor=e,i=!0},p(s,o){n=s,l.ctx=n,o&8&&t!==(t=n[15].component)&&lu(t,l)||b0(l,n,o)},i(s){i||(A(l.block),i=!0)},o(s){for(let o=0;o<3;o+=1){const r=l.blocks[o];I(r)}i=!1},d(s){s&&v(e),l.block.d(s),l.token=null,l=null}}}function g6(n){return{c:Q,m:Q,p:Q,i:Q,o:Q,d:Q}}function b6(n){Fp(n);let e,t,i;return e=new n[18]({props:{collection:n[2]}}),{c(){V(e.$$.fragment),t=M()},m(l,s){H(e,l,s),w(l,t,s),i=!0},p(l,s){Fp(l);const o={};s&4&&(o.collection=l[2]),e.$set(o)},i(l){i||(A(e.$$.fragment,l),i=!0)},o(l){I(e.$$.fragment,l),i=!1},d(l){l&&v(t),z(e,l)}}}function y6(n){return{c:Q,m:Q,p:Q,i:Q,o:Q,d:Q}}function zp(n,e){let t,i,l,s=e[5]===e[14]&&Hp(e);return{key:n,first:null,c(){t=ke(),s&&s.c(),i=ke(),this.first=t},m(o,r){w(o,t,r),s&&s.m(o,r),w(o,i,r),l=!0},p(o,r){e=o,e[5]===e[14]?s?(s.p(e,r),r&40&&A(s,1)):(s=Hp(e),s.c(),A(s,1),s.m(i.parentNode,i)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){l||(A(s),l=!0)},o(o){I(s),l=!1},d(o){o&&(v(t),v(i)),s&&s.d(o)}}}function k6(n){let e,t,i,l=[],s=new Map,o,r,a=[],u=new Map,f,c=pe(Object.entries(n[3]));const d=_=>_[14];for(let _=0;__[14];for(let _=0;_Close',p(e,"type","button"),p(e,"class","btn btn-transparent")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[8]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function w6(n){let e,t,i={class:"docs-panel",$$slots:{footer:[v6],default:[k6]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[10](e),e.$on("hide",n[11]),e.$on("show",n[12]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&4194348&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[10](null),z(e,l)}}}function S6(n,e,t){const i={list:{label:"List/Search",component:rt(()=>import("./ListApiDocs-12eafaac.js"),["./ListApiDocs-12eafaac.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js","./ListApiDocs-68f52edd.css"],import.meta.url)},view:{label:"View",component:rt(()=>import("./ViewApiDocs-86eb625e.js"),["./ViewApiDocs-86eb625e.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},create:{label:"Create",component:rt(()=>import("./CreateApiDocs-cd80de7a.js"),["./CreateApiDocs-cd80de7a.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},update:{label:"Update",component:rt(()=>import("./UpdateApiDocs-0ce7d166.js"),["./UpdateApiDocs-0ce7d166.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},delete:{label:"Delete",component:rt(()=>import("./DeleteApiDocs-a79c911d.js"),["./DeleteApiDocs-a79c911d.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},realtime:{label:"Realtime",component:rt(()=>import("./RealtimeApiDocs-28f47e72.js"),["./RealtimeApiDocs-28f47e72.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)}},l={"auth-with-password":{label:"Auth with password",component:rt(()=>import("./AuthWithPasswordDocs-afec1b2d.js"),["./AuthWithPasswordDocs-afec1b2d.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},"auth-with-oauth2":{label:"Auth with OAuth2",component:rt(()=>import("./AuthWithOAuth2Docs-0bc38bb2.js"),["./AuthWithOAuth2Docs-0bc38bb2.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},refresh:{label:"Auth refresh",component:rt(()=>import("./AuthRefreshDocs-ab800069.js"),["./AuthRefreshDocs-ab800069.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},"request-verification":{label:"Request verification",component:rt(()=>import("./RequestVerificationDocs-711c0807.js"),["./RequestVerificationDocs-711c0807.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"confirm-verification":{label:"Confirm verification",component:rt(()=>import("./ConfirmVerificationDocs-561dfc32.js"),["./ConfirmVerificationDocs-561dfc32.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"request-password-reset":{label:"Request password reset",component:rt(()=>import("./RequestPasswordResetDocs-b8cca36f.js"),["./RequestPasswordResetDocs-b8cca36f.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"confirm-password-reset":{label:"Confirm password reset",component:rt(()=>import("./ConfirmPasswordResetDocs-e404475e.js"),["./ConfirmPasswordResetDocs-e404475e.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"request-email-change":{label:"Request email change",component:rt(()=>import("./RequestEmailChangeDocs-d2afb223.js"),["./RequestEmailChangeDocs-d2afb223.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"confirm-email-change":{label:"Confirm email change",component:rt(()=>import("./ConfirmEmailChangeDocs-85d86558.js"),["./ConfirmEmailChangeDocs-85d86558.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"list-auth-methods":{label:"List auth methods",component:rt(()=>import("./AuthMethodsDocs-3a2e551b.js"),["./AuthMethodsDocs-3a2e551b.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},"list-linked-accounts":{label:"List OAuth2 accounts",component:rt(()=>import("./ListExternalAuthsDocs-87ac8f05.js"),["./ListExternalAuthsDocs-87ac8f05.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-8145215c.js"],import.meta.url)},"unlink-account":{label:"Unlink OAuth2 account",component:rt(()=>import("./UnlinkExternalAuthDocs-5b37db26.js"),["./UnlinkExternalAuthDocs-5b37db26.js","./SdkTabs-f85ceb47.js","./SdkTabs-9b0b7a06.css"],import.meta.url)}};let s,o={},r,a=[];a.length&&(r=Object.keys(a)[0]);function u(k){return t(2,o=k),c(Object.keys(a)[0]),s==null?void 0:s.show()}function f(){return s==null?void 0:s.hide()}function c(k){t(5,r=k)}const d=()=>f(),m=k=>c(k);function h(k){te[k?"unshift":"push"](()=>{s=k,t(4,s)})}function _(k){Ae.call(this,n,k)}function g(k){Ae.call(this,n,k)}return n.$$.update=()=>{n.$$.dirty&12&&(o.type==="auth"?(t(3,a=Object.assign({},i,l)),!o.options.allowUsernameAuth&&!o.options.allowEmailAuth&&delete a["auth-with-password"],o.options.allowOAuth2Auth||delete a["auth-with-oauth2"]):o.type==="view"?(t(3,a=Object.assign({},i)),delete a.create,delete a.update,delete a.delete,delete a.realtime):t(3,a=Object.assign({},i)))},[f,c,o,a,s,r,i,u,d,m,h,_,g]}class $6 extends ge{constructor(e){super(),_e(this,e,S6,w6,he,{show:7,hide:0,changeTab:1})}get show(){return this.$$.ctx[7]}get hide(){return this.$$.ctx[0]}get changeTab(){return this.$$.ctx[1]}}function T6(n){let e,t,i,l;return{c(){e=b("i"),p(e,"class","ri-calendar-event-line txt-disabled")},m(s,o){w(s,e,o),i||(l=ve(t=Le.call(null,e,{text:n[0].join(` + you'll have to update it manually!`,o=M(),u&&u.c(),r=M(),f&&f.c(),a=ke(),p(t,"class","icon"),p(l,"class","content txt-bold"),p(e,"class","alert alert-warning")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),y(l,s),y(l,o),u&&u.m(l,null),w(c,r,d),f&&f.m(c,d),w(c,a,d)},p(c,d){c[7].length?u||(u=sp(),u.c(),u.m(l,null)):u&&(u.d(1),u=null),c[9]?f?f.p(c,d):(f=op(c),f.c(),f.m(a.parentNode,a)):f&&(f.d(1),f=null)},d(c){c&&(v(e),v(r),v(a)),u&&u.d(),f&&f.d(c)}}}function Y5(n){let e;return{c(){e=b("h4"),e.textContent="Confirm collection changes"},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function K5(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML='Cancel',t=M(),i=b("button"),i.innerHTML='Confirm',e.autofocus=!0,p(e,"type","button"),p(e,"class","btn btn-transparent"),p(i,"type","button"),p(i,"class","btn btn-expanded")},m(o,r){w(o,e,r),w(o,t,r),w(o,i,r),e.focus(),l||(s=[K(e,"click",n[12]),K(i,"click",n[13])],l=!0)},p:Q,d(o){o&&(v(e),v(t),v(i)),l=!1,we(s)}}}function J5(n){let e,t,i={class:"confirm-changes-panel",popup:!0,$$slots:{footer:[K5],header:[Y5],default:[W5]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[14](e),e.$on("hide",n[15]),e.$on("show",n[16]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&33555422&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[14](null),z(e,l)}}}function Z5(n,e,t){let i,l,s,o,r,a;const u=ot();let f,c,d;async function m(C,D){t(1,c=C),t(2,d=D),await Qt(),i||s.length||o.length||r.length?f==null||f.show():_()}function h(){f==null||f.hide()}function _(){h(),u("confirm")}const g=()=>h(),k=()=>_();function S(C){te[C?"unshift":"push"](()=>{f=C,t(5,f)})}function T(C){Ae.call(this,n,C)}function $(C){Ae.call(this,n,C)}return n.$$.update=()=>{var C,D,O;n.$$.dirty&6&&t(3,i=(c==null?void 0:c.name)!=(d==null?void 0:d.name)),n.$$.dirty&4&&t(4,l=(d==null?void 0:d.type)==="view"),n.$$.dirty&4&&t(8,s=((C=d==null?void 0:d.schema)==null?void 0:C.filter(E=>E.id&&!E.toDelete&&E.originalName!=E.name))||[]),n.$$.dirty&4&&t(7,o=((D=d==null?void 0:d.schema)==null?void 0:D.filter(E=>E.id&&E.toDelete))||[]),n.$$.dirty&6&&t(6,r=((O=d==null?void 0:d.schema)==null?void 0:O.filter(E=>{var F,P,N;const L=(F=c==null?void 0:c.schema)==null?void 0:F.find(R=>R.id==E.id);return L?((P=L.options)==null?void 0:P.maxSelect)!=1&&((N=E.options)==null?void 0:N.maxSelect)==1:!1}))||[]),n.$$.dirty&24&&t(9,a=!l||i)},[h,c,d,i,l,f,r,o,s,a,_,m,g,k,S,T,$]}class G5 extends ge{constructor(e){super(),_e(this,e,Z5,J5,he,{show:11,hide:0})}get show(){return this.$$.ctx[11]}get hide(){return this.$$.ctx[0]}}function dp(n,e,t){const i=n.slice();return i[49]=e[t][0],i[50]=e[t][1],i}function X5(n){let e,t,i;function l(o){n[35](o)}let s={};return n[2]!==void 0&&(s.collection=n[2]),e=new xC({props:s}),te.push(()=>be(e,"collection",l)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};!t&&r[0]&4&&(t=!0,a.collection=o[2],ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function Q5(n){let e,t,i;function l(o){n[34](o)}let s={};return n[2]!==void 0&&(s.collection=n[2]),e=new b5({props:s}),te.push(()=>be(e,"collection",l)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){const a={};!t&&r[0]&4&&(t=!0,a.collection=o[2],ye(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){z(e,o)}}}function pp(n){let e,t,i,l;function s(r){n[36](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new d5({props:o}),te.push(()=>be(t,"collection",s)),{c(){e=b("div"),V(t.$$.fragment),p(e,"class","tab-item active")},m(r,a){w(r,e,a),H(t,e,null),l=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],ye(()=>i=!1)),t.$set(u)},i(r){l||(A(t.$$.fragment,r),l=!0)},o(r){I(t.$$.fragment,r),l=!1},d(r){r&&v(e),z(t)}}}function mp(n){let e,t,i,l;function s(r){n[37](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new U5({props:o}),te.push(()=>be(t,"collection",s)),{c(){e=b("div"),V(t.$$.fragment),p(e,"class","tab-item"),ee(e,"active",n[3]===Ml)},m(r,a){w(r,e,a),H(t,e,null),l=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],ye(()=>i=!1)),t.$set(u),(!l||a[0]&8)&&ee(e,"active",r[3]===Ml)},i(r){l||(A(t.$$.fragment,r),l=!0)},o(r){I(t.$$.fragment,r),l=!1},d(r){r&&v(e),z(t)}}}function x5(n){let e,t,i,l,s,o,r;const a=[Q5,X5],u=[];function f(m,h){return m[14]?0:1}i=f(n),l=u[i]=a[i](n);let c=n[3]===bs&&pp(n),d=n[15]&&mp(n);return{c(){e=b("div"),t=b("div"),l.c(),s=M(),c&&c.c(),o=M(),d&&d.c(),p(t,"class","tab-item"),ee(t,"active",n[3]===Di),p(e,"class","tabs-content svelte-12y0yzb")},m(m,h){w(m,e,h),y(e,t),u[i].m(t,null),y(e,s),c&&c.m(e,null),y(e,o),d&&d.m(e,null),r=!0},p(m,h){let _=i;i=f(m),i===_?u[i].p(m,h):(oe(),I(u[_],1,1,()=>{u[_]=null}),re(),l=u[i],l?l.p(m,h):(l=u[i]=a[i](m),l.c()),A(l,1),l.m(t,null)),(!r||h[0]&8)&&ee(t,"active",m[3]===Di),m[3]===bs?c?(c.p(m,h),h[0]&8&&A(c,1)):(c=pp(m),c.c(),A(c,1),c.m(e,o)):c&&(oe(),I(c,1,1,()=>{c=null}),re()),m[15]?d?(d.p(m,h),h[0]&32768&&A(d,1)):(d=mp(m),d.c(),A(d,1),d.m(e,null)):d&&(oe(),I(d,1,1,()=>{d=null}),re())},i(m){r||(A(l),A(c),A(d),r=!0)},o(m){I(l),I(c),I(d),r=!1},d(m){m&&v(e),u[i].d(),c&&c.d(),d&&d.d()}}}function hp(n){let e,t,i,l,s,o,r;return o=new En({props:{class:"dropdown dropdown-right m-t-5",$$slots:{default:[e6]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=M(),i=b("button"),l=b("i"),s=M(),V(o.$$.fragment),p(e,"class","flex-fill"),p(l,"class","ri-more-line"),p(i,"type","button"),p(i,"aria-label","More"),p(i,"class","btn btn-sm btn-circle btn-transparent flex-gap-0")},m(a,u){w(a,e,u),w(a,t,u),w(a,i,u),y(i,l),y(i,s),H(o,i,null),r=!0},p(a,u){const f={};u[1]&4194304&&(f.$$scope={dirty:u,ctx:a}),o.$set(f)},i(a){r||(A(o.$$.fragment,a),r=!0)},o(a){I(o.$$.fragment,a),r=!1},d(a){a&&(v(e),v(t),v(i)),z(o)}}}function e6(n){let e,t,i,l,s;return{c(){e=b("button"),e.innerHTML=' Duplicate',t=M(),i=b("button"),i.innerHTML=' Delete',p(e,"type","button"),p(e,"class","dropdown-item closable"),p(i,"type","button"),p(i,"class","dropdown-item txt-danger closable")},m(o,r){w(o,e,r),w(o,t,r),w(o,i,r),l||(s=[K(e,"click",n[26]),K(i,"click",fn(Ye(n[27])))],l=!0)},p:Q,d(o){o&&(v(e),v(t),v(i)),l=!1,we(s)}}}function _p(n){let e,t,i,l;return i=new En({props:{class:"dropdown dropdown-right dropdown-nowrap m-t-5",$$slots:{default:[t6]},$$scope:{ctx:n}}}),{c(){e=b("i"),t=M(),V(i.$$.fragment),p(e,"class","ri-arrow-down-s-fill")},m(s,o){w(s,e,o),w(s,t,o),H(i,s,o),l=!0},p(s,o){const r={};o[0]&68|o[1]&4194304&&(r.$$scope={dirty:o,ctx:s}),i.$set(r)},i(s){l||(A(i.$$.fragment,s),l=!0)},o(s){I(i.$$.fragment,s),l=!1},d(s){s&&(v(e),v(t)),z(i,s)}}}function gp(n){let e,t,i,l,s,o=n[50]+"",r,a,u,f,c;function d(){return n[29](n[49])}return{c(){e=b("button"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=Y(" collection"),u=M(),p(t,"class",i=Jn(j.getCollectionTypeIcon(n[49]))+" svelte-12y0yzb"),p(s,"class","txt"),p(e,"type","button"),p(e,"class","dropdown-item closable"),ee(e,"selected",n[49]==n[2].type)},m(m,h){w(m,e,h),y(e,t),y(e,l),y(e,s),y(s,r),y(s,a),y(e,u),f||(c=K(e,"click",d),f=!0)},p(m,h){n=m,h[0]&64&&i!==(i=Jn(j.getCollectionTypeIcon(n[49]))+" svelte-12y0yzb")&&p(t,"class",i),h[0]&64&&o!==(o=n[50]+"")&&le(r,o),h[0]&68&&ee(e,"selected",n[49]==n[2].type)},d(m){m&&v(e),f=!1,c()}}}function t6(n){let e,t=pe(Object.entries(n[6])),i=[];for(let l=0;l{P=null}),re()):P?(P.p(R,q),q[0]&4&&A(P,1)):(P=_p(R),P.c(),A(P,1),P.m(d,null)),(!E||q[0]&4&&$!==($="btn btn-sm p-r-10 p-l-10 "+(R[2].id?"btn-transparent":"btn-outline")))&&p(d,"class",$),(!E||q[0]&4&&C!==(C=!!R[2].id))&&(d.disabled=C),R[2].system?N||(N=bp(),N.c(),N.m(O.parentNode,O)):N&&(N.d(1),N=null)},i(R){E||(A(P),E=!0)},o(R){I(P),E=!1},d(R){R&&(v(e),v(l),v(s),v(f),v(c),v(D),v(O)),P&&P.d(),N&&N.d(R),L=!1,F()}}}function yp(n){let e,t,i,l,s,o;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(r,a){w(r,e,a),l=!0,s||(o=ve(t=Le.call(null,e,n[11])),s=!0)},p(r,a){t&&$t(t.update)&&a[0]&2048&&t.update.call(null,r[11])},i(r){l||(r&&Ke(()=>{l&&(i||(i=Pe(e,Yt,{duration:150,start:.7},!0)),i.run(1))}),l=!0)},o(r){r&&(i||(i=Pe(e,Yt,{duration:150,start:.7},!1)),i.run(0)),l=!1},d(r){r&&v(e),r&&i&&i.end(),s=!1,o()}}}function kp(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,"Has errors")),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function vp(n){var a,u,f;let e,t,i,l=!j.isEmpty((a=n[5])==null?void 0:a.options)&&!((f=(u=n[5])==null?void 0:u.options)!=null&&f.manageRule),s,o,r=l&&wp();return{c(){e=b("button"),t=b("span"),t.textContent="Options",i=M(),r&&r.c(),p(t,"class","txt"),p(e,"type","button"),p(e,"class","tab-item"),ee(e,"active",n[3]===Ml)},m(c,d){w(c,e,d),y(e,t),y(e,i),r&&r.m(e,null),s||(o=K(e,"click",n[33]),s=!0)},p(c,d){var m,h,_;d[0]&32&&(l=!j.isEmpty((m=c[5])==null?void 0:m.options)&&!((_=(h=c[5])==null?void 0:h.options)!=null&&_.manageRule)),l?r?d[0]&32&&A(r,1):(r=wp(),r.c(),A(r,1),r.m(e,null)):r&&(oe(),I(r,1,1,()=>{r=null}),re()),d[0]&8&&ee(e,"active",c[3]===Ml)},d(c){c&&v(e),r&&r.d(),s=!1,o()}}}function wp(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,"Has errors")),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function i6(n){var W,J,G,B,U,ae,x;let e,t=n[2].id?"Edit collection":"New collection",i,l,s,o,r,a,u,f,c,d,m,h=n[14]?"Query":"Fields",_,g,k=!j.isEmpty(n[11]),S,T,$,C,D=!j.isEmpty((W=n[5])==null?void 0:W.listRule)||!j.isEmpty((J=n[5])==null?void 0:J.viewRule)||!j.isEmpty((G=n[5])==null?void 0:G.createRule)||!j.isEmpty((B=n[5])==null?void 0:B.updateRule)||!j.isEmpty((U=n[5])==null?void 0:U.deleteRule)||!j.isEmpty((x=(ae=n[5])==null?void 0:ae.options)==null?void 0:x.manageRule),O,E,L,F,P=!!n[2].id&&!n[2].system&&hp(n);r=new me({props:{class:"form-field collection-field-name required m-b-0 "+(n[13]?"disabled":""),name:"name",$$slots:{default:[n6,({uniqueId:se})=>({48:se}),({uniqueId:se})=>[0,se?131072:0]]},$$scope:{ctx:n}}});let N=k&&yp(n),R=D&&kp(),q=n[15]&&vp(n);return{c(){e=b("h4"),i=Y(t),l=M(),P&&P.c(),s=M(),o=b("form"),V(r.$$.fragment),a=M(),u=b("input"),f=M(),c=b("div"),d=b("button"),m=b("span"),_=Y(h),g=M(),N&&N.c(),S=M(),T=b("button"),$=b("span"),$.textContent="API Rules",C=M(),R&&R.c(),O=M(),q&&q.c(),p(e,"class","upsert-panel-title svelte-12y0yzb"),p(u,"type","submit"),p(u,"class","hidden"),p(u,"tabindex","-1"),p(o,"class","block"),p(m,"class","txt"),p(d,"type","button"),p(d,"class","tab-item"),ee(d,"active",n[3]===Di),p($,"class","txt"),p(T,"type","button"),p(T,"class","tab-item"),ee(T,"active",n[3]===bs),p(c,"class","tabs-header stretched")},m(se,De){w(se,e,De),y(e,i),w(se,l,De),P&&P.m(se,De),w(se,s,De),w(se,o,De),H(r,o,null),y(o,a),y(o,u),w(se,f,De),w(se,c,De),y(c,d),y(d,m),y(m,_),y(d,g),N&&N.m(d,null),y(c,S),y(c,T),y(T,$),y(T,C),R&&R.m(T,null),y(c,O),q&&q.m(c,null),E=!0,L||(F=[K(o,"submit",Ye(n[30])),K(d,"click",n[31]),K(T,"click",n[32])],L=!0)},p(se,De){var Ve,Ze,tt,Xe,Ct,Pt,Te;(!E||De[0]&4)&&t!==(t=se[2].id?"Edit collection":"New collection")&&le(i,t),se[2].id&&!se[2].system?P?(P.p(se,De),De[0]&4&&A(P,1)):(P=hp(se),P.c(),A(P,1),P.m(s.parentNode,s)):P&&(oe(),I(P,1,1,()=>{P=null}),re());const je={};De[0]&8192&&(je.class="form-field collection-field-name required m-b-0 "+(se[13]?"disabled":"")),De[0]&41028|De[1]&4325376&&(je.$$scope={dirty:De,ctx:se}),r.$set(je),(!E||De[0]&16384)&&h!==(h=se[14]?"Query":"Fields")&&le(_,h),De[0]&2048&&(k=!j.isEmpty(se[11])),k?N?(N.p(se,De),De[0]&2048&&A(N,1)):(N=yp(se),N.c(),A(N,1),N.m(d,null)):N&&(oe(),I(N,1,1,()=>{N=null}),re()),(!E||De[0]&8)&&ee(d,"active",se[3]===Di),De[0]&32&&(D=!j.isEmpty((Ve=se[5])==null?void 0:Ve.listRule)||!j.isEmpty((Ze=se[5])==null?void 0:Ze.viewRule)||!j.isEmpty((tt=se[5])==null?void 0:tt.createRule)||!j.isEmpty((Xe=se[5])==null?void 0:Xe.updateRule)||!j.isEmpty((Ct=se[5])==null?void 0:Ct.deleteRule)||!j.isEmpty((Te=(Pt=se[5])==null?void 0:Pt.options)==null?void 0:Te.manageRule)),D?R?De[0]&32&&A(R,1):(R=kp(),R.c(),A(R,1),R.m(T,null)):R&&(oe(),I(R,1,1,()=>{R=null}),re()),(!E||De[0]&8)&&ee(T,"active",se[3]===bs),se[15]?q?q.p(se,De):(q=vp(se),q.c(),q.m(c,null)):q&&(q.d(1),q=null)},i(se){E||(A(P),A(r.$$.fragment,se),A(N),A(R),E=!0)},o(se){I(P),I(r.$$.fragment,se),I(N),I(R),E=!1},d(se){se&&(v(e),v(l),v(s),v(o),v(f),v(c)),P&&P.d(se),z(r),N&&N.d(),R&&R.d(),q&&q.d(),L=!1,we(F)}}}function l6(n){let e,t,i,l,s,o=n[2].id?"Save changes":"Create",r,a,u,f;return{c(){e=b("button"),t=b("span"),t.textContent="Cancel",i=M(),l=b("button"),s=b("span"),r=Y(o),p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[9],p(s,"class","txt"),p(l,"type","button"),p(l,"class","btn btn-expanded"),l.disabled=a=!n[12]||n[9],ee(l,"btn-loading",n[9])},m(c,d){w(c,e,d),y(e,t),w(c,i,d),w(c,l,d),y(l,s),y(s,r),u||(f=[K(e,"click",n[24]),K(l,"click",n[25])],u=!0)},p(c,d){d[0]&512&&(e.disabled=c[9]),d[0]&4&&o!==(o=c[2].id?"Save changes":"Create")&&le(r,o),d[0]&4608&&a!==(a=!c[12]||c[9])&&(l.disabled=a),d[0]&512&&ee(l,"btn-loading",c[9])},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function s6(n){let e,t,i,l,s={class:"overlay-panel-lg colored-header collection-panel",escClose:!1,overlayClose:!n[9],beforeHide:n[38],$$slots:{footer:[l6],header:[i6],default:[x5]},$$scope:{ctx:n}};e=new Xt({props:s}),n[39](e),e.$on("hide",n[40]),e.$on("show",n[41]);let o={};return i=new G5({props:o}),n[42](i),i.$on("confirm",n[43]),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment)},m(r,a){H(e,r,a),w(r,t,a),H(i,r,a),l=!0},p(r,a){const u={};a[0]&512&&(u.overlayClose=!r[9]),a[0]&1040&&(u.beforeHide=r[38]),a[0]&64108|a[1]&4194304&&(u.$$scope={dirty:a,ctx:r}),e.$set(u);const f={};i.$set(f)},i(r){l||(A(e.$$.fragment,r),A(i.$$.fragment,r),l=!0)},o(r){I(e.$$.fragment,r),I(i.$$.fragment,r),l=!1},d(r){r&&v(t),n[39](null),z(e,r),n[42](null),z(i,r)}}}const Di="schema",bs="api_rules",Ml="options",o6="base",Sp="auth",$p="view";function Ir(n){return JSON.stringify(n)}function r6(n,e,t){let i,l,s,o,r,a;We(n,_i,ne=>t(5,a=ne));const u={};u[o6]="Base",u[$p]="View",u[Sp]="Auth";const f=ot();let c,d,m=null,h=j.initCollection(),_=!1,g=!1,k=Di,S=Ir(h),T="";function $(ne){t(3,k=ne)}function C(ne){return O(ne),t(10,g=!0),$(Di),c==null?void 0:c.show()}function D(){return c==null?void 0:c.hide()}async function O(ne){Gt({}),typeof ne<"u"?(t(22,m=ne),t(2,h=structuredClone(ne))):(t(22,m=null),t(2,h=j.initCollection())),t(2,h.schema=h.schema||[],h),t(2,h.originalName=h.name||"",h),await Qt(),t(23,S=Ir(h))}function E(){h.id?d==null||d.show(m,h):L()}function L(){if(_)return;t(9,_=!0);const ne=F();let Fe;h.id?Fe=fe.collections.update(h.id,ne):Fe=fe.collections.create(ne),Fe.then(Se=>{Ma(),Zk(Se),t(10,g=!1),D(),It(h.id?"Successfully updated collection.":"Successfully created collection."),f("save",{isNew:!h.id,collection:Se})}).catch(Se=>{fe.error(Se)}).finally(()=>{t(9,_=!1)})}function F(){const ne=Object.assign({},h);ne.schema=ne.schema.slice(0);for(let Fe=ne.schema.length-1;Fe>=0;Fe--)ne.schema[Fe].toDelete&&ne.schema.splice(Fe,1);return ne}function P(){m!=null&&m.id&&an(`Do you really want to delete collection "${m.name}" and all its records?`,()=>fe.collections.delete(m.id).then(()=>{D(),It(`Successfully deleted collection "${m.name}".`),f("delete",m),Gk(m)}).catch(ne=>{fe.error(ne)}))}function N(ne){t(2,h.type=ne,h),ii("schema")}function R(){o?an("You have unsaved changes. Do you really want to discard them?",()=>{q()}):q()}async function q(){const ne=m?structuredClone(m):null;if(ne){if(ne.id="",ne.created="",ne.updated="",ne.name+="_duplicate",!j.isEmpty(ne.schema))for(const Fe of ne.schema)Fe.id="";if(!j.isEmpty(ne.indexes))for(let Fe=0;FeD(),J=()=>E(),G=()=>R(),B=()=>P(),U=ne=>{t(2,h.name=j.slugify(ne.target.value),h),ne.target.value=h.name},ae=ne=>N(ne),x=()=>{r&&E()},se=()=>$(Di),De=()=>$(bs),je=()=>$(Ml);function Ve(ne){h=ne,t(2,h),t(22,m)}function Ze(ne){h=ne,t(2,h),t(22,m)}function tt(ne){h=ne,t(2,h),t(22,m)}function Xe(ne){h=ne,t(2,h),t(22,m)}const Ct=()=>o&&g?(an("You have unsaved changes. Do you really want to close the panel?",()=>{t(10,g=!1),D()}),!1):!0;function Pt(ne){te[ne?"unshift":"push"](()=>{c=ne,t(7,c)})}function Te(ne){Ae.call(this,n,ne)}function Oe(ne){Ae.call(this,n,ne)}function ze(ne){te[ne?"unshift":"push"](()=>{d=ne,t(8,d)})}const _t=()=>L();return n.$$.update=()=>{var ne,Fe;n.$$.dirty[0]&4&&h.type==="view"&&(t(2,h.createRule=null,h),t(2,h.updateRule=null,h),t(2,h.deleteRule=null,h),t(2,h.indexes=[],h)),n.$$.dirty[0]&4194308&&h.name&&(m==null?void 0:m.name)!=h.name&&h.indexes.length>0&&t(2,h.indexes=(ne=h.indexes)==null?void 0:ne.map(Se=>j.replaceIndexTableName(Se,h.name)),h),n.$$.dirty[0]&4&&t(15,i=h.type===Sp),n.$$.dirty[0]&4&&t(14,l=h.type===$p),n.$$.dirty[0]&32&&(a.schema||(Fe=a.options)!=null&&Fe.query?t(11,T=j.getNestedVal(a,"schema.message")||"Has errors"):t(11,T="")),n.$$.dirty[0]&4&&t(13,s=!!h.id&&h.system),n.$$.dirty[0]&8388612&&t(4,o=S!=Ir(h)),n.$$.dirty[0]&20&&t(12,r=!h.id||o),n.$$.dirty[0]&12&&k===Ml&&h.type!=="auth"&&$(Di)},[$,D,h,k,o,a,u,c,d,_,g,T,r,s,l,i,E,L,P,N,R,C,m,S,W,J,G,B,U,ae,x,se,De,je,Ve,Ze,tt,Xe,Ct,Pt,Te,Oe,ze,_t]}class Xa extends ge{constructor(e){super(),_e(this,e,r6,s6,he,{changeTab:0,show:21,hide:1},null,[-1,-1])}get changeTab(){return this.$$.ctx[0]}get show(){return this.$$.ctx[21]}get hide(){return this.$$.ctx[1]}}function a6(n){let e;return{c(){e=b("i"),p(e,"class","ri-pushpin-line m-l-auto svelte-1u3ag8h")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function u6(n){let e;return{c(){e=b("i"),p(e,"class","ri-unpin-line svelte-1u3ag8h")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function f6(n){let e,t,i,l,s,o=n[0].name+"",r,a,u,f,c,d,m,h;function _(S,T){return S[1]?u6:a6}let g=_(n),k=g(n);return{c(){var S;e=b("a"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=M(),u=b("span"),k.c(),p(t,"class",i=Jn(j.getCollectionTypeIcon(n[0].type))+" svelte-1u3ag8h"),p(s,"class","txt m-r-auto"),p(u,"class","btn btn-xs btn-circle btn-hint btn-transparent pin-collection svelte-1u3ag8h"),p(u,"aria-label","Pin collection"),p(e,"href",c="/collections?collectionId="+n[0].id),p(e,"class","sidebar-list-item svelte-1u3ag8h"),p(e,"title",d=n[0].name),ee(e,"active",((S=n[2])==null?void 0:S.id)===n[0].id)},m(S,T){w(S,e,T),y(e,t),y(e,l),y(e,s),y(s,r),y(e,a),y(e,u),k.m(u,null),m||(h=[ve(f=Le.call(null,u,{position:"right",text:(n[1]?"Unpin":"Pin")+" collection"})),K(u,"click",fn(Ye(n[5]))),ve(ln.call(null,e))],m=!0)},p(S,[T]){var $;T&1&&i!==(i=Jn(j.getCollectionTypeIcon(S[0].type))+" svelte-1u3ag8h")&&p(t,"class",i),T&1&&o!==(o=S[0].name+"")&&le(r,o),g!==(g=_(S))&&(k.d(1),k=g(S),k&&(k.c(),k.m(u,null))),f&&$t(f.update)&&T&2&&f.update.call(null,{position:"right",text:(S[1]?"Unpin":"Pin")+" collection"}),T&1&&c!==(c="/collections?collectionId="+S[0].id)&&p(e,"href",c),T&1&&d!==(d=S[0].name)&&p(e,"title",d),T&5&&ee(e,"active",(($=S[2])==null?void 0:$.id)===S[0].id)},i:Q,o:Q,d(S){S&&v(e),k.d(),m=!1,we(h)}}}function c6(n,e,t){let i,l;We(n,li,u=>t(2,l=u));let{collection:s}=e,{pinnedIds:o}=e;function r(u){o.includes(u.id)?j.removeByValue(o,u.id):o.push(u.id),t(4,o)}const a=()=>r(s);return n.$$set=u=>{"collection"in u&&t(0,s=u.collection),"pinnedIds"in u&&t(4,o=u.pinnedIds)},n.$$.update=()=>{n.$$.dirty&17&&t(1,i=o.includes(s.id))},[s,i,l,r,o,a]}class Rb extends ge{constructor(e){super(),_e(this,e,c6,f6,he,{collection:0,pinnedIds:4})}}function Tp(n,e,t){const i=n.slice();return i[22]=e[t],i}function Cp(n,e,t){const i=n.slice();return i[22]=e[t],i}function Mp(n){let e,t,i=[],l=new Map,s,o,r=pe(n[6]);const a=u=>u[22].id;for(let u=0;ube(i,"pinnedIds",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u&64&&(f.collection=e[22]),!l&&u&2&&(l=!0,f.pinnedIds=e[1],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function Dp(n){let e,t=[],i=new Map,l,s,o=n[6].length&&Ep(),r=pe(n[5]);const a=u=>u[22].id;for(let u=0;ube(i,"pinnedIds",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u&32&&(f.collection=e[22]),!l&&u&2&&(l=!0,f.pinnedIds=e[1],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function Ip(n){let e;return{c(){e=b("p"),e.textContent="No collections found.",p(e,"class","txt-hint m-t-10 m-b-10 txt-center")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function Lp(n){let e,t,i,l;return{c(){e=b("footer"),t=b("button"),t.innerHTML=' New collection',p(t,"type","button"),p(t,"class","btn btn-block btn-outline"),p(e,"class","sidebar-footer")},m(s,o){w(s,e,o),y(e,t),i||(l=K(t,"click",n[16]),i=!0)},p:Q,d(s){s&&v(e),i=!1,l()}}}function d6(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S=n[6].length&&Mp(n),T=n[5].length&&Dp(n),$=n[3].length&&!n[2].length&&Ip(),C=!n[9]&&Lp(n);return{c(){e=b("header"),t=b("div"),i=b("div"),l=b("button"),l.innerHTML='',s=M(),o=b("input"),r=M(),a=b("hr"),u=M(),f=b("div"),S&&S.c(),c=M(),T&&T.c(),d=M(),$&&$.c(),m=M(),C&&C.c(),h=ke(),p(l,"type","button"),p(l,"class","btn btn-xs btn-transparent btn-circle btn-clear"),ee(l,"hidden",!n[7]),p(i,"class","form-field-addon"),p(o,"type","text"),p(o,"placeholder","Search collections..."),p(o,"name","collections-search"),p(t,"class","form-field search"),ee(t,"active",n[7]),p(e,"class","sidebar-header"),p(a,"class","m-t-5 m-b-xs"),p(f,"class","sidebar-content"),ee(f,"fade",n[8]),ee(f,"sidebar-content-compact",n[2].length>20)},m(D,O){w(D,e,O),y(e,t),y(t,i),y(i,l),y(t,s),y(t,o),ue(o,n[0]),w(D,r,O),w(D,a,O),w(D,u,O),w(D,f,O),S&&S.m(f,null),y(f,c),T&&T.m(f,null),y(f,d),$&&$.m(f,null),w(D,m,O),C&&C.m(D,O),w(D,h,O),_=!0,g||(k=[K(l,"click",n[12]),K(o,"input",n[13])],g=!0)},p(D,O){(!_||O&128)&&ee(l,"hidden",!D[7]),O&1&&o.value!==D[0]&&ue(o,D[0]),(!_||O&128)&&ee(t,"active",D[7]),D[6].length?S?(S.p(D,O),O&64&&A(S,1)):(S=Mp(D),S.c(),A(S,1),S.m(f,c)):S&&(oe(),I(S,1,1,()=>{S=null}),re()),D[5].length?T?(T.p(D,O),O&32&&A(T,1)):(T=Dp(D),T.c(),A(T,1),T.m(f,d)):T&&(oe(),I(T,1,1,()=>{T=null}),re()),D[3].length&&!D[2].length?$||($=Ip(),$.c(),$.m(f,null)):$&&($.d(1),$=null),(!_||O&256)&&ee(f,"fade",D[8]),(!_||O&4)&&ee(f,"sidebar-content-compact",D[2].length>20),D[9]?C&&(C.d(1),C=null):C?C.p(D,O):(C=Lp(D),C.c(),C.m(h.parentNode,h))},i(D){_||(A(S),A(T),_=!0)},o(D){I(S),I(T),_=!1},d(D){D&&(v(e),v(r),v(a),v(u),v(f),v(m),v(h)),S&&S.d(),T&&T.d(),$&&$.d(),C&&C.d(D),g=!1,we(k)}}}function p6(n){let e,t,i,l;e=new Ab({props:{class:"collection-sidebar",$$slots:{default:[d6]},$$scope:{ctx:n}}});let s={};return i=new Xa({props:s}),n[17](i),i.$on("save",n[18]),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment)},m(o,r){H(e,o,r),w(o,t,r),H(i,o,r),l=!0},p(o,[r]){const a={};r&134218751&&(a.$$scope={dirty:r,ctx:o}),e.$set(a);const u={};i.$set(u)},i(o){l||(A(e.$$.fragment,o),A(i.$$.fragment,o),l=!0)},o(o){I(e.$$.fragment,o),I(i.$$.fragment,o),l=!1},d(o){o&&v(t),z(e,o),n[17](null),z(i,o)}}}const Pp="@pinnedCollections";function m6(){setTimeout(()=>{const n=document.querySelector(".collection-sidebar .sidebar-list-item.active");n&&(n==null||n.scrollIntoView({block:"nearest"}))},0)}function h6(n,e,t){let i,l,s,o,r,a,u,f,c;We(n,zn,L=>t(11,a=L)),We(n,li,L=>t(19,u=L)),We(n,To,L=>t(8,f=L)),We(n,Sl,L=>t(9,c=L));let d,m="",h=[];g();function _(L){tn(li,u=L,u)}function g(){t(1,h=[]);try{const L=localStorage.getItem(Pp);L&&t(1,h=JSON.parse(L)||[])}catch{}}function k(){t(1,h=h.filter(L=>!!a.find(F=>F.id==L)))}const S=()=>t(0,m="");function T(){m=this.value,t(0,m)}function $(L){h=L,t(1,h)}function C(L){h=L,t(1,h)}const D=()=>d==null?void 0:d.show();function O(L){te[L?"unshift":"push"](()=>{d=L,t(4,d)})}const E=L=>{var F;(F=L.detail)!=null&&F.isNew&&L.detail.collection&&_(L.detail.collection)};return n.$$.update=()=>{n.$$.dirty&2048&&a&&(k(),m6()),n.$$.dirty&1&&t(3,i=m.replace(/\s+/g,"").toLowerCase()),n.$$.dirty&1&&t(7,l=m!==""),n.$$.dirty&2&&h&&localStorage.setItem(Pp,JSON.stringify(h)),n.$$.dirty&2057&&t(2,s=a.filter(L=>L.id==m||L.name.replace(/\s+/g,"").toLowerCase().includes(i))),n.$$.dirty&6&&t(6,o=s.filter(L=>h.includes(L.id))),n.$$.dirty&6&&t(5,r=s.filter(L=>!h.includes(L.id)))},[m,h,s,i,d,r,o,l,f,c,_,a,S,T,$,C,D,O,E]}class _6 extends ge{constructor(e){super(),_e(this,e,h6,p6,he,{})}}function Np(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i}function Fp(n){n[18]=n[19].default}function Rp(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i[21]=t,i}function qp(n){let e;return{c(){e=b("hr"),p(e,"class","m-t-sm m-b-sm")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function jp(n,e){let t,i=e[21]===Object.keys(e[6]).length,l,s,o=e[15].label+"",r,a,u,f,c=i&&qp();function d(){return e[9](e[14])}return{key:n,first:null,c(){t=ke(),c&&c.c(),l=M(),s=b("button"),r=Y(o),a=M(),p(s,"type","button"),p(s,"class","sidebar-item"),ee(s,"active",e[5]===e[14]),this.first=t},m(m,h){w(m,t,h),c&&c.m(m,h),w(m,l,h),w(m,s,h),y(s,r),y(s,a),u||(f=K(s,"click",d),u=!0)},p(m,h){e=m,h&8&&(i=e[21]===Object.keys(e[6]).length),i?c||(c=qp(),c.c(),c.m(l.parentNode,l)):c&&(c.d(1),c=null),h&8&&o!==(o=e[15].label+"")&&le(r,o),h&40&&ee(s,"active",e[5]===e[14])},d(m){m&&(v(t),v(l),v(s)),c&&c.d(m),u=!1,f()}}}function Hp(n){let e,t,i,l={ctx:n,current:null,token:null,hasCatch:!1,pending:y6,then:b6,catch:g6,value:19,blocks:[,,,]};return lu(t=n[15].component,l),{c(){e=ke(),l.block.c()},m(s,o){w(s,e,o),l.block.m(s,l.anchor=o),l.mount=()=>e.parentNode,l.anchor=e,i=!0},p(s,o){n=s,l.ctx=n,o&8&&t!==(t=n[15].component)&&lu(t,l)||b0(l,n,o)},i(s){i||(A(l.block),i=!0)},o(s){for(let o=0;o<3;o+=1){const r=l.blocks[o];I(r)}i=!1},d(s){s&&v(e),l.block.d(s),l.token=null,l=null}}}function g6(n){return{c:Q,m:Q,p:Q,i:Q,o:Q,d:Q}}function b6(n){Fp(n);let e,t,i;return e=new n[18]({props:{collection:n[2]}}),{c(){V(e.$$.fragment),t=M()},m(l,s){H(e,l,s),w(l,t,s),i=!0},p(l,s){Fp(l);const o={};s&4&&(o.collection=l[2]),e.$set(o)},i(l){i||(A(e.$$.fragment,l),i=!0)},o(l){I(e.$$.fragment,l),i=!1},d(l){l&&v(t),z(e,l)}}}function y6(n){return{c:Q,m:Q,p:Q,i:Q,o:Q,d:Q}}function zp(n,e){let t,i,l,s=e[5]===e[14]&&Hp(e);return{key:n,first:null,c(){t=ke(),s&&s.c(),i=ke(),this.first=t},m(o,r){w(o,t,r),s&&s.m(o,r),w(o,i,r),l=!0},p(o,r){e=o,e[5]===e[14]?s?(s.p(e,r),r&40&&A(s,1)):(s=Hp(e),s.c(),A(s,1),s.m(i.parentNode,i)):s&&(oe(),I(s,1,1,()=>{s=null}),re())},i(o){l||(A(s),l=!0)},o(o){I(s),l=!1},d(o){o&&(v(t),v(i)),s&&s.d(o)}}}function k6(n){let e,t,i,l=[],s=new Map,o,r,a=[],u=new Map,f,c=pe(Object.entries(n[3]));const d=_=>_[14];for(let _=0;__[14];for(let _=0;_Close',p(e,"type","button"),p(e,"class","btn btn-transparent")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[8]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function w6(n){let e,t,i={class:"docs-panel",$$slots:{footer:[v6],default:[k6]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[10](e),e.$on("hide",n[11]),e.$on("show",n[12]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&4194348&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[10](null),z(e,l)}}}function S6(n,e,t){const i={list:{label:"List/Search",component:rt(()=>import("./ListApiDocs-f6a32340.js"),["./ListApiDocs-f6a32340.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js","./ListApiDocs-68f52edd.css"],import.meta.url)},view:{label:"View",component:rt(()=>import("./ViewApiDocs-e8aac727.js"),["./ViewApiDocs-e8aac727.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},create:{label:"Create",component:rt(()=>import("./CreateApiDocs-12f09d7b.js"),["./CreateApiDocs-12f09d7b.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},update:{label:"Update",component:rt(()=>import("./UpdateApiDocs-b65dc7ea.js"),["./UpdateApiDocs-b65dc7ea.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},delete:{label:"Delete",component:rt(()=>import("./DeleteApiDocs-999526fa.js"),["./DeleteApiDocs-999526fa.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},realtime:{label:"Realtime",component:rt(()=>import("./RealtimeApiDocs-1da78095.js"),["./RealtimeApiDocs-1da78095.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)}},l={"auth-with-password":{label:"Auth with password",component:rt(()=>import("./AuthWithPasswordDocs-f8ad8a75.js"),["./AuthWithPasswordDocs-f8ad8a75.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},"auth-with-oauth2":{label:"Auth with OAuth2",component:rt(()=>import("./AuthWithOAuth2Docs-45bfaba9.js"),["./AuthWithOAuth2Docs-45bfaba9.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},refresh:{label:"Auth refresh",component:rt(()=>import("./AuthRefreshDocs-dfe9b922.js"),["./AuthRefreshDocs-dfe9b922.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},"request-verification":{label:"Request verification",component:rt(()=>import("./RequestVerificationDocs-22d41431.js"),["./RequestVerificationDocs-22d41431.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"confirm-verification":{label:"Confirm verification",component:rt(()=>import("./ConfirmVerificationDocs-89d0a5fc.js"),["./ConfirmVerificationDocs-89d0a5fc.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"request-password-reset":{label:"Request password reset",component:rt(()=>import("./RequestPasswordResetDocs-ec08c230.js"),["./RequestPasswordResetDocs-ec08c230.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"confirm-password-reset":{label:"Confirm password reset",component:rt(()=>import("./ConfirmPasswordResetDocs-af973f8a.js"),["./ConfirmPasswordResetDocs-af973f8a.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"request-email-change":{label:"Request email change",component:rt(()=>import("./RequestEmailChangeDocs-98e9cd0b.js"),["./RequestEmailChangeDocs-98e9cd0b.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"confirm-email-change":{label:"Confirm email change",component:rt(()=>import("./ConfirmEmailChangeDocs-e73efe55.js"),["./ConfirmEmailChangeDocs-e73efe55.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)},"list-auth-methods":{label:"List auth methods",component:rt(()=>import("./AuthMethodsDocs-c5483521.js"),["./AuthMethodsDocs-c5483521.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},"list-linked-accounts":{label:"List OAuth2 accounts",component:rt(()=>import("./ListExternalAuthsDocs-0e691898.js"),["./ListExternalAuthsDocs-0e691898.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css","./FieldsQueryParam-e970c01f.js"],import.meta.url)},"unlink-account":{label:"Unlink OAuth2 account",component:rt(()=>import("./UnlinkExternalAuthDocs-e7edd773.js"),["./UnlinkExternalAuthDocs-e7edd773.js","./SdkTabs-13ccb207.js","./SdkTabs-9b0b7a06.css"],import.meta.url)}};let s,o={},r,a=[];a.length&&(r=Object.keys(a)[0]);function u(k){return t(2,o=k),c(Object.keys(a)[0]),s==null?void 0:s.show()}function f(){return s==null?void 0:s.hide()}function c(k){t(5,r=k)}const d=()=>f(),m=k=>c(k);function h(k){te[k?"unshift":"push"](()=>{s=k,t(4,s)})}function _(k){Ae.call(this,n,k)}function g(k){Ae.call(this,n,k)}return n.$$.update=()=>{n.$$.dirty&12&&(o.type==="auth"?(t(3,a=Object.assign({},i,l)),!o.options.allowUsernameAuth&&!o.options.allowEmailAuth&&delete a["auth-with-password"],o.options.allowOAuth2Auth||delete a["auth-with-oauth2"]):o.type==="view"?(t(3,a=Object.assign({},i)),delete a.create,delete a.update,delete a.delete,delete a.realtime):t(3,a=Object.assign({},i)))},[f,c,o,a,s,r,i,u,d,m,h,_,g]}class $6 extends ge{constructor(e){super(),_e(this,e,S6,w6,he,{show:7,hide:0,changeTab:1})}get show(){return this.$$.ctx[7]}get hide(){return this.$$.ctx[0]}get changeTab(){return this.$$.ctx[1]}}function T6(n){let e,t,i,l;return{c(){e=b("i"),p(e,"class","ri-calendar-event-line txt-disabled")},m(s,o){w(s,e,o),i||(l=ve(t=Le.call(null,e,{text:n[0].join(` `),position:"left"})),i=!0)},p(s,[o]){t&&$t(t.update)&&o&1&&t.update.call(null,{text:s[0].join(` -`),position:"left"})},i:Q,o:Q,d(s){s&&v(e),i=!1,l()}}}const Vp="yyyy-MM-dd HH:mm:ss.SSS";function C6(n,e,t){let{model:i}=e,l=[];function s(){t(0,l=[]),i.created&&l.push("Created: "+j.formatToLocalDate(i.created,Vp)+" Local"),i.updated&&l.push("Updated: "+j.formatToLocalDate(i.updated,Vp)+" Local")}return n.$$set=o=>{"model"in o&&t(1,i=o.model)},n.$$.update=()=>{n.$$.dirty&2&&i&&s()},[l,i]}class qb extends ge{constructor(e){super(),_e(this,e,C6,T6,he,{model:1})}}function M6(n){let e,t,i,l,s,o,r,a,u,f;return s=new sl({props:{value:n[1]}}),{c(){e=b("div"),t=b("span"),i=Y(n[1]),l=M(),V(s.$$.fragment),o=M(),r=b("i"),p(t,"class","secret svelte-1md8247"),p(r,"class","ri-refresh-line txt-sm link-hint"),p(r,"aria-label","Refresh"),p(e,"class","flex flex-gap-5 p-5")},m(c,d){w(c,e,d),y(e,t),y(t,i),n[6](t),y(e,l),H(s,e,null),y(e,o),y(e,r),a=!0,u||(f=[ve(Le.call(null,r,"Refresh")),K(r,"click",n[4])],u=!0)},p(c,d){(!a||d&2)&&le(i,c[1]);const m={};d&2&&(m.value=c[1]),s.$set(m)},i(c){a||(A(s.$$.fragment,c),a=!0)},o(c){I(s.$$.fragment,c),a=!1},d(c){c&&v(e),n[6](null),z(s),u=!1,we(f)}}}function O6(n){let e,t,i,l,s,o,r,a,u,f;function c(m){n[7](m)}let d={class:"dropdown dropdown-upside dropdown-center dropdown-nowrap",$$slots:{default:[M6]},$$scope:{ctx:n}};return n[3]!==void 0&&(d.active=n[3]),l=new En({props:d}),te.push(()=>be(l,"active",c)),l.$on("show",n[4]),{c(){e=b("button"),t=b("i"),i=M(),V(l.$$.fragment),p(t,"class","ri-sparkling-line"),p(e,"tabindex","-1"),p(e,"type","button"),p(e,"aria-label","Generate"),p(e,"class",o="btn btn-circle "+n[0]+" svelte-1md8247")},m(m,h){w(m,e,h),y(e,t),y(e,i),H(l,e,null),a=!0,u||(f=ve(r=Le.call(null,e,n[3]?"":"Generate")),u=!0)},p(m,[h]){const _={};h&518&&(_.$$scope={dirty:h,ctx:m}),!s&&h&8&&(s=!0,_.active=m[3],ye(()=>s=!1)),l.$set(_),(!a||h&1&&o!==(o="btn btn-circle "+m[0]+" svelte-1md8247"))&&p(e,"class",o),r&&$t(r.update)&&h&8&&r.update.call(null,m[3]?"":"Generate")},i(m){a||(A(l.$$.fragment,m),a=!0)},o(m){I(l.$$.fragment,m),a=!1},d(m){m&&v(e),z(l),u=!1,f()}}}function D6(n,e,t){const i=ot();let{class:l="btn-sm btn-hint btn-transparent"}=e,{length:s=32}=e,o="",r,a=!1;async function u(){if(t(1,o=j.randomSecret(s)),i("generate",o),await Qt(),r){let d=document.createRange();d.selectNode(r),window.getSelection().removeAllRanges(),window.getSelection().addRange(d)}}function f(d){te[d?"unshift":"push"](()=>{r=d,t(2,r)})}function c(d){a=d,t(3,a)}return n.$$set=d=>{"class"in d&&t(0,l=d.class),"length"in d&&t(5,s=d.length)},[l,o,r,a,u,s,f,c]}class jb extends ge{constructor(e){super(),_e(this,e,D6,O6,he,{class:0,length:5})}}function E6(n){let e,t,i,l,s,o,r,a,u,f,c,d;return{c(){e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Username",o=M(),r=b("input"),p(t,"class",j.getFieldTypeIcon("user")),p(l,"class","txt"),p(e,"for",s=n[13]),p(r,"type","text"),p(r,"requried",a=!n[2]),p(r,"placeholder",u=n[2]?"Leave empty to auto generate...":n[4]),p(r,"id",f=n[13])},m(m,h){w(m,e,h),y(e,t),y(e,i),y(e,l),w(m,o,h),w(m,r,h),ue(r,n[0].username),c||(d=K(r,"input",n[5]),c=!0)},p(m,h){h&8192&&s!==(s=m[13])&&p(e,"for",s),h&4&&a!==(a=!m[2])&&p(r,"requried",a),h&4&&u!==(u=m[2]?"Leave empty to auto generate...":m[4])&&p(r,"placeholder",u),h&8192&&f!==(f=m[13])&&p(r,"id",f),h&1&&r.value!==m[0].username&&ue(r,m[0].username)},d(m){m&&(v(e),v(o),v(r)),c=!1,d()}}}function A6(n){let e,t,i,l,s,o,r,a,u,f,c=n[0].emailVisibility?"On":"Off",d,m,h,_,g,k,S,T;return{c(){var $;e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Email",o=M(),r=b("div"),a=b("button"),u=b("span"),f=Y("Public: "),d=Y(c),h=M(),_=b("input"),p(t,"class",j.getFieldTypeIcon("email")),p(l,"class","txt"),p(e,"for",s=n[13]),p(u,"class","txt"),p(a,"type","button"),p(a,"class",m="btn btn-sm btn-transparent "+(n[0].emailVisibility?"btn-success":"btn-hint")),p(r,"class","form-field-addon email-visibility-addon svelte-1751a4d"),p(_,"type","email"),_.autofocus=n[2],p(_,"autocomplete","off"),p(_,"id",g=n[13]),_.required=k=($=n[1].options)==null?void 0:$.requireEmail,p(_,"class","svelte-1751a4d")},m($,C){w($,e,C),y(e,t),y(e,i),y(e,l),w($,o,C),w($,r,C),y(r,a),y(a,u),y(u,f),y(u,d),w($,h,C),w($,_,C),ue(_,n[0].email),n[2]&&_.focus(),S||(T=[ve(Le.call(null,a,{text:"Make email public or private",position:"top-right"})),K(a,"click",Ye(n[6])),K(_,"input",n[7])],S=!0)},p($,C){var D;C&8192&&s!==(s=$[13])&&p(e,"for",s),C&1&&c!==(c=$[0].emailVisibility?"On":"Off")&&le(d,c),C&1&&m!==(m="btn btn-sm btn-transparent "+($[0].emailVisibility?"btn-success":"btn-hint"))&&p(a,"class",m),C&4&&(_.autofocus=$[2]),C&8192&&g!==(g=$[13])&&p(_,"id",g),C&2&&k!==(k=(D=$[1].options)==null?void 0:D.requireEmail)&&(_.required=k),C&1&&_.value!==$[0].email&&ue(_,$[0].email)},d($){$&&(v(e),v(o),v(r),v(h),v(_)),S=!1,we(T)}}}function Bp(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle",name:"verified",$$slots:{default:[I6,({uniqueId:i})=>({13:i}),({uniqueId:i})=>i?8192:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&24584&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function I6(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Change password"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[3],w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[8]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&8&&(e.checked=u[3]),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function Up(n){let e,t,i,l,s,o,r,a,u;return l=new me({props:{class:"form-field required",name:"password",$$slots:{default:[L6,({uniqueId:f})=>({13:f}),({uniqueId:f})=>f?8192:0]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[P6,({uniqueId:f})=>({13:f}),({uniqueId:f})=>f?8192:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),i=b("div"),V(l.$$.fragment),s=M(),o=b("div"),V(r.$$.fragment),p(i,"class","col-sm-6"),p(o,"class","col-sm-6"),p(t,"class","grid"),ee(t,"p-t-xs",n[3]),p(e,"class","block")},m(f,c){w(f,e,c),y(e,t),y(t,i),H(l,i,null),y(t,s),y(t,o),H(r,o,null),u=!0},p(f,c){const d={};c&24577&&(d.$$scope={dirty:c,ctx:f}),l.$set(d);const m={};c&24577&&(m.$$scope={dirty:c,ctx:f}),r.$set(m),(!u||c&8)&&ee(t,"p-t-xs",f[3])},i(f){u||(A(l.$$.fragment,f),A(r.$$.fragment,f),f&&Ke(()=>{u&&(a||(a=Pe(e,et,{duration:150},!0)),a.run(1))}),u=!0)},o(f){I(l.$$.fragment,f),I(r.$$.fragment,f),f&&(a||(a=Pe(e,et,{duration:150},!1)),a.run(0)),u=!1},d(f){f&&v(e),z(l),z(r),f&&a&&a.end()}}}function L6(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h;return c=new jb({props:{length:15}}),{c(){e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Password",o=M(),r=b("input"),u=M(),f=b("div"),V(c.$$.fragment),p(t,"class","ri-lock-line"),p(l,"class","txt"),p(e,"for",s=n[13]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[13]),r.required=!0,p(f,"class","form-field-addon")},m(_,g){w(_,e,g),y(e,t),y(e,i),y(e,l),w(_,o,g),w(_,r,g),ue(r,n[0].password),w(_,u,g),w(_,f,g),H(c,f,null),d=!0,m||(h=K(r,"input",n[9]),m=!0)},p(_,g){(!d||g&8192&&s!==(s=_[13]))&&p(e,"for",s),(!d||g&8192&&a!==(a=_[13]))&&p(r,"id",a),g&1&&r.value!==_[0].password&&ue(r,_[0].password)},i(_){d||(A(c.$$.fragment,_),d=!0)},o(_){I(c.$$.fragment,_),d=!1},d(_){_&&(v(e),v(o),v(r),v(u),v(f)),z(c),m=!1,h()}}}function P6(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Password confirm",o=M(),r=b("input"),p(t,"class","ri-lock-line"),p(l,"class","txt"),p(e,"for",s=n[13]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[13]),r.required=!0},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),w(c,o,d),w(c,r,d),ue(r,n[0].passwordConfirm),u||(f=K(r,"input",n[10]),u=!0)},p(c,d){d&8192&&s!==(s=c[13])&&p(e,"for",s),d&8192&&a!==(a=c[13])&&p(r,"id",a),d&1&&r.value!==c[0].passwordConfirm&&ue(r,c[0].passwordConfirm)},d(c){c&&(v(e),v(o),v(r)),u=!1,f()}}}function N6(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Verified"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].verified,w(u,i,f),w(u,l,f),y(l,s),r||(a=[K(e,"change",n[11]),K(e,"change",Ye(n[12]))],r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].verified),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,we(a)}}}function F6(n){var g;let e,t,i,l,s,o,r,a,u,f,c,d,m;i=new me({props:{class:"form-field "+(n[2]?"":"required"),name:"username",$$slots:{default:[E6,({uniqueId:k})=>({13:k}),({uniqueId:k})=>k?8192:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field "+((g=n[1].options)!=null&&g.requireEmail?"required":""),name:"email",$$slots:{default:[A6,({uniqueId:k})=>({13:k}),({uniqueId:k})=>k?8192:0]},$$scope:{ctx:n}}});let h=!n[2]&&Bp(n),_=(n[2]||n[3])&&Up(n);return d=new me({props:{class:"form-field form-field-toggle",name:"verified",$$slots:{default:[N6,({uniqueId:k})=>({13:k}),({uniqueId:k})=>k?8192:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),h&&h.c(),u=M(),_&&_.c(),f=M(),c=b("div"),V(d.$$.fragment),p(t,"class","col-lg-6"),p(s,"class","col-lg-6"),p(a,"class","col-lg-12"),p(c,"class","col-lg-12"),p(e,"class","grid m-b-base")},m(k,S){w(k,e,S),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),h&&h.m(a,null),y(a,u),_&&_.m(a,null),y(e,f),y(e,c),H(d,c,null),m=!0},p(k,[S]){var D;const T={};S&4&&(T.class="form-field "+(k[2]?"":"required")),S&24581&&(T.$$scope={dirty:S,ctx:k}),i.$set(T);const $={};S&2&&($.class="form-field "+((D=k[1].options)!=null&&D.requireEmail?"required":"")),S&24583&&($.$$scope={dirty:S,ctx:k}),o.$set($),k[2]?h&&(oe(),I(h,1,1,()=>{h=null}),re()):h?(h.p(k,S),S&4&&A(h,1)):(h=Bp(k),h.c(),A(h,1),h.m(a,u)),k[2]||k[3]?_?(_.p(k,S),S&12&&A(_,1)):(_=Up(k),_.c(),A(_,1),_.m(a,null)):_&&(oe(),I(_,1,1,()=>{_=null}),re());const C={};S&24581&&(C.$$scope={dirty:S,ctx:k}),d.$set(C)},i(k){m||(A(i.$$.fragment,k),A(o.$$.fragment,k),A(h),A(_),A(d.$$.fragment,k),m=!0)},o(k){I(i.$$.fragment,k),I(o.$$.fragment,k),I(h),I(_),I(d.$$.fragment,k),m=!1},d(k){k&&v(e),z(i),z(o),h&&h.d(),_&&_.d(),z(d)}}}function R6(n,e,t){let{record:i}=e,{collection:l}=e,{isNew:s=!(i!=null&&i.id)}=e,o=i.username||null,r=!1;function a(){i.username=this.value,t(0,i),t(3,r)}const u=()=>t(0,i.emailVisibility=!i.emailVisibility,i);function f(){i.email=this.value,t(0,i),t(3,r)}function c(){r=this.checked,t(3,r)}function d(){i.password=this.value,t(0,i),t(3,r)}function m(){i.passwordConfirm=this.value,t(0,i),t(3,r)}function h(){i.verified=this.checked,t(0,i),t(3,r)}const _=g=>{s||an("Do you really want to manually change the verified account state?",()=>{},()=>{t(0,i.verified=!g.target.checked,i)})};return n.$$set=g=>{"record"in g&&t(0,i=g.record),"collection"in g&&t(1,l=g.collection),"isNew"in g&&t(2,s=g.isNew)},n.$$.update=()=>{n.$$.dirty&1&&!i.username&&i.username!==null&&t(0,i.username=null,i),n.$$.dirty&8&&(r||(t(0,i.password=null,i),t(0,i.passwordConfirm=null,i),ii("password"),ii("passwordConfirm")))},[i,l,s,r,o,a,u,f,c,d,m,h,_]}class q6 extends ge{constructor(e){super(),_e(this,e,R6,F6,he,{record:0,collection:1,isNew:2})}}function j6(n){let e,t,i,l=[n[3]],s={};for(let o=0;o{r&&(t(1,r.style.height="",r),t(1,r.style.height=Math.min(r.scrollHeight,o)+"px",r))},0)}function f(m){if((m==null?void 0:m.code)==="Enter"&&!(m!=null&&m.shiftKey)&&!(m!=null&&m.isComposing)){m.preventDefault();const h=r.closest("form");h!=null&&h.requestSubmit&&h.requestSubmit()}}Vt(()=>(u(),()=>clearTimeout(a)));function c(m){te[m?"unshift":"push"](()=>{r=m,t(1,r)})}function d(){s=this.value,t(0,s)}return n.$$set=m=>{e=Ne(Ne({},e),Kt(m)),t(3,l=Ge(e,i)),"value"in m&&t(0,s=m.value),"maxHeight"in m&&t(4,o=m.maxHeight)},n.$$.update=()=>{n.$$.dirty&1&&typeof s!==void 0&&u()},[s,r,f,l,o,c,d]}class z6 extends ge{constructor(e){super(),_e(this,e,H6,j6,he,{value:0,maxHeight:4})}}function V6(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d;function m(_){n[2](_)}let h={id:n[3],required:n[1].required};return n[0]!==void 0&&(h.value=n[0]),f=new z6({props:h}),te.push(()=>be(f,"value",m)),{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),V(f.$$.fragment),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3])},m(_,g){w(_,e,g),y(e,t),y(e,l),y(e,s),y(s,r),w(_,u,g),H(f,_,g),d=!0},p(_,g){(!d||g&2&&i!==(i=j.getFieldTypeIcon(_[1].type)))&&p(t,"class",i),(!d||g&2)&&o!==(o=_[1].name+"")&&le(r,o),(!d||g&8&&a!==(a=_[3]))&&p(e,"for",a);const k={};g&8&&(k.id=_[3]),g&2&&(k.required=_[1].required),!c&&g&1&&(c=!0,k.value=_[0],ye(()=>c=!1)),f.$set(k)},i(_){d||(A(f.$$.fragment,_),d=!0)},o(_){I(f.$$.fragment,_),d=!1},d(_){_&&(v(e),v(u)),z(f,_)}}}function B6(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[V6,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function U6(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(o){l=o,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class W6 extends ge{constructor(e){super(),_e(this,e,U6,B6,he,{field:1,value:0})}}function Y6(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h,_,g;return{c(){var k,S;e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),f=b("input"),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3]),p(f,"type","number"),p(f,"id",c=n[3]),f.required=d=n[1].required,p(f,"min",m=(k=n[1].options)==null?void 0:k.min),p(f,"max",h=(S=n[1].options)==null?void 0:S.max),p(f,"step","any")},m(k,S){w(k,e,S),y(e,t),y(e,l),y(e,s),y(s,r),w(k,u,S),w(k,f,S),ue(f,n[0]),_||(g=K(f,"input",n[2]),_=!0)},p(k,S){var T,$;S&2&&i!==(i=j.getFieldTypeIcon(k[1].type))&&p(t,"class",i),S&2&&o!==(o=k[1].name+"")&&le(r,o),S&8&&a!==(a=k[3])&&p(e,"for",a),S&8&&c!==(c=k[3])&&p(f,"id",c),S&2&&d!==(d=k[1].required)&&(f.required=d),S&2&&m!==(m=(T=k[1].options)==null?void 0:T.min)&&p(f,"min",m),S&2&&h!==(h=($=k[1].options)==null?void 0:$.max)&&p(f,"max",h),S&1&&st(f.value)!==k[0]&&ue(f,k[0])},d(k){k&&(v(e),v(u),v(f)),_=!1,g()}}}function K6(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[Y6,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function J6(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(){l=st(this.value),t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class Z6 extends ge{constructor(e){super(),_e(this,e,J6,K6,he,{field:1,value:0})}}function G6(n){let e,t,i,l,s=n[1].name+"",o,r,a,u;return{c(){e=b("input"),i=M(),l=b("label"),o=Y(s),p(e,"type","checkbox"),p(e,"id",t=n[3]),p(l,"for",r=n[3])},m(f,c){w(f,e,c),e.checked=n[0],w(f,i,c),w(f,l,c),y(l,o),a||(u=K(e,"change",n[2]),a=!0)},p(f,c){c&8&&t!==(t=f[3])&&p(e,"id",t),c&1&&(e.checked=f[0]),c&2&&s!==(s=f[1].name+"")&&le(o,s),c&8&&r!==(r=f[3])&&p(l,"for",r)},d(f){f&&(v(e),v(i),v(l)),a=!1,u()}}}function X6(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[G6,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field form-field-toggle "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function Q6(n,e,t){let{field:i}=e,{value:l=!1}=e;function s(){l=this.checked,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class x6 extends ge{constructor(e){super(),_e(this,e,Q6,X6,he,{field:1,value:0})}}function eM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h;return{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),f=b("input"),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3]),p(f,"type","email"),p(f,"id",c=n[3]),f.required=d=n[1].required},m(_,g){w(_,e,g),y(e,t),y(e,l),y(e,s),y(s,r),w(_,u,g),w(_,f,g),ue(f,n[0]),m||(h=K(f,"input",n[2]),m=!0)},p(_,g){g&2&&i!==(i=j.getFieldTypeIcon(_[1].type))&&p(t,"class",i),g&2&&o!==(o=_[1].name+"")&&le(r,o),g&8&&a!==(a=_[3])&&p(e,"for",a),g&8&&c!==(c=_[3])&&p(f,"id",c),g&2&&d!==(d=_[1].required)&&(f.required=d),g&1&&f.value!==_[0]&&ue(f,_[0])},d(_){_&&(v(e),v(u),v(f)),m=!1,h()}}}function tM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[eM,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function nM(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(){l=this.value,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class iM extends ge{constructor(e){super(),_e(this,e,nM,tM,he,{field:1,value:0})}}function lM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h;return{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),f=b("input"),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3]),p(f,"type","url"),p(f,"id",c=n[3]),f.required=d=n[1].required},m(_,g){w(_,e,g),y(e,t),y(e,l),y(e,s),y(s,r),w(_,u,g),w(_,f,g),ue(f,n[0]),m||(h=K(f,"input",n[2]),m=!0)},p(_,g){g&2&&i!==(i=j.getFieldTypeIcon(_[1].type))&&p(t,"class",i),g&2&&o!==(o=_[1].name+"")&&le(r,o),g&8&&a!==(a=_[3])&&p(e,"for",a),g&8&&c!==(c=_[3])&&p(f,"id",c),g&2&&d!==(d=_[1].required)&&(f.required=d),g&1&&f.value!==_[0]&&ue(f,_[0])},d(_){_&&(v(e),v(u),v(f)),m=!1,h()}}}function sM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[lM,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function oM(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(){l=this.value,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class rM extends ge{constructor(e){super(),_e(this,e,oM,sM,he,{field:1,value:0})}}function Wp(n){let e,t,i,l;return{c(){e=b("div"),t=b("button"),t.innerHTML='',p(t,"type","button"),p(t,"class","link-hint clear-btn svelte-11df51y"),p(e,"class","form-field-addon")},m(s,o){w(s,e,o),y(e,t),i||(l=[ve(Le.call(null,t,"Clear")),K(t,"click",n[5])],i=!0)},p:Q,d(s){s&&v(e),i=!1,we(l)}}}function aM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h,_,g=n[0]&&!n[1].required&&Wp(n);function k($){n[6]($)}function S($){n[7]($)}let T={id:n[8],options:j.defaultFlatpickrOptions()};return n[2]!==void 0&&(T.value=n[2]),n[0]!==void 0&&(T.formattedValue=n[0]),d=new Ga({props:T}),te.push(()=>be(d,"value",k)),te.push(()=>be(d,"formattedValue",S)),d.$on("close",n[3]),{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=Y(" (UTC)"),f=M(),g&&g.c(),c=M(),V(d.$$.fragment),p(t,"class",i=Jn(j.getFieldTypeIcon(n[1].type))+" svelte-11df51y"),p(s,"class","txt"),p(e,"for",u=n[8])},m($,C){w($,e,C),y(e,t),y(e,l),y(e,s),y(s,r),y(s,a),w($,f,C),g&&g.m($,C),w($,c,C),H(d,$,C),_=!0},p($,C){(!_||C&2&&i!==(i=Jn(j.getFieldTypeIcon($[1].type))+" svelte-11df51y"))&&p(t,"class",i),(!_||C&2)&&o!==(o=$[1].name+"")&&le(r,o),(!_||C&256&&u!==(u=$[8]))&&p(e,"for",u),$[0]&&!$[1].required?g?g.p($,C):(g=Wp($),g.c(),g.m(c.parentNode,c)):g&&(g.d(1),g=null);const D={};C&256&&(D.id=$[8]),!m&&C&4&&(m=!0,D.value=$[2],ye(()=>m=!1)),!h&&C&1&&(h=!0,D.formattedValue=$[0],ye(()=>h=!1)),d.$set(D)},i($){_||(A(d.$$.fragment,$),_=!0)},o($){I(d.$$.fragment,$),_=!1},d($){$&&(v(e),v(f),v(c)),g&&g.d($),z(d,$)}}}function uM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[aM,({uniqueId:i})=>({8:i}),({uniqueId:i})=>i?256:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&775&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function fM(n,e,t){let{field:i}=e,{value:l=void 0}=e,s=l;function o(c){c.detail&&c.detail.length==3&&t(0,l=c.detail[1])}function r(){t(0,l="")}const a=()=>r();function u(c){s=c,t(2,s),t(0,l)}function f(c){l=c,t(0,l)}return n.$$set=c=>{"field"in c&&t(1,i=c.field),"value"in c&&t(0,l=c.value)},n.$$.update=()=>{n.$$.dirty&1&&l&&l.length>19&&t(0,l=l.substring(0,19)),n.$$.dirty&5&&s!=l&&t(2,s=l)},[l,i,s,o,r,a,u,f]}class cM extends ge{constructor(e){super(),_e(this,e,fM,uM,he,{field:1,value:0})}}function Yp(n){let e,t,i=n[1].options.maxSelect+"",l,s;return{c(){e=b("div"),t=Y("Select up to "),l=Y(i),s=Y(" items."),p(e,"class","help-block")},m(o,r){w(o,e,r),y(e,t),y(e,l),y(e,s)},p(o,r){r&2&&i!==(i=o[1].options.maxSelect+"")&&le(l,i)},d(o){o&&v(e)}}}function dM(n){var S,T,$,C,D,O;let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h;function _(E){n[3](E)}let g={id:n[4],toggle:!n[1].required||n[2],multiple:n[2],closable:!n[2]||((S=n[0])==null?void 0:S.length)>=((T=n[1].options)==null?void 0:T.maxSelect),items:($=n[1].options)==null?void 0:$.values,searchable:((D=(C=n[1].options)==null?void 0:C.values)==null?void 0:D.length)>5};n[0]!==void 0&&(g.selected=n[0]),f=new Fb({props:g}),te.push(()=>be(f,"selected",_));let k=((O=n[1].options)==null?void 0:O.maxSelect)>1&&Yp(n);return{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),V(f.$$.fragment),d=M(),k&&k.c(),m=ke(),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[4])},m(E,L){w(E,e,L),y(e,t),y(e,l),y(e,s),y(s,r),w(E,u,L),H(f,E,L),w(E,d,L),k&&k.m(E,L),w(E,m,L),h=!0},p(E,L){var P,N,R,q,W,J;(!h||L&2&&i!==(i=j.getFieldTypeIcon(E[1].type)))&&p(t,"class",i),(!h||L&2)&&o!==(o=E[1].name+"")&&le(r,o),(!h||L&16&&a!==(a=E[4]))&&p(e,"for",a);const F={};L&16&&(F.id=E[4]),L&6&&(F.toggle=!E[1].required||E[2]),L&4&&(F.multiple=E[2]),L&7&&(F.closable=!E[2]||((P=E[0])==null?void 0:P.length)>=((N=E[1].options)==null?void 0:N.maxSelect)),L&2&&(F.items=(R=E[1].options)==null?void 0:R.values),L&2&&(F.searchable=((W=(q=E[1].options)==null?void 0:q.values)==null?void 0:W.length)>5),!c&&L&1&&(c=!0,F.selected=E[0],ye(()=>c=!1)),f.$set(F),((J=E[1].options)==null?void 0:J.maxSelect)>1?k?k.p(E,L):(k=Yp(E),k.c(),k.m(m.parentNode,m)):k&&(k.d(1),k=null)},i(E){h||(A(f.$$.fragment,E),h=!0)},o(E){I(f.$$.fragment,E),h=!1},d(E){E&&(v(e),v(u),v(d),v(m)),z(f,E),k&&k.d(E)}}}function pM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[dM,({uniqueId:i})=>({4:i}),({uniqueId:i})=>i?16:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&55&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function mM(n,e,t){let i,{field:l}=e,{value:s=void 0}=e;function o(r){s=r,t(0,s),t(2,i),t(1,l)}return n.$$set=r=>{"field"in r&&t(1,l=r.field),"value"in r&&t(0,s=r.value)},n.$$.update=()=>{var r;n.$$.dirty&2&&t(2,i=((r=l.options)==null?void 0:r.maxSelect)>1),n.$$.dirty&5&&typeof s>"u"&&t(0,s=i?[]:""),n.$$.dirty&7&&i&&Array.isArray(s)&&s.length>l.options.maxSelect&&t(0,s=s.slice(s.length-l.options.maxSelect))},[s,l,i,o]}class hM extends ge{constructor(e){super(),_e(this,e,mM,pM,he,{field:1,value:0})}}function _M(n){let e;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function gM(n){let e;return{c(){e=b("i"),p(e,"class","ri-checkbox-circle-fill txt-success")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function bM(n){let e;return{c(){e=b("input"),p(e,"type","text"),p(e,"class","txt-mono"),e.value="Loading...",e.disabled=!0},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function yM(n){let e,t,i;var l=n[3];function s(o,r){return{props:{id:o[6],maxHeight:"500",language:"json",value:o[2]}}}return l&&(e=Ot(l,s(n)),e.$on("change",n[5])),{c(){e&&V(e.$$.fragment),t=ke()},m(o,r){e&&H(e,o,r),w(o,t,r),i=!0},p(o,r){if(r&8&&l!==(l=o[3])){if(e){oe();const a=e;I(a.$$.fragment,1,0,()=>{z(a,1)}),re()}l?(e=Ot(l,s(o)),e.$on("change",o[5]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else if(l){const a={};r&64&&(a.id=o[6]),r&4&&(a.value=o[2]),e.$set(a)}},i(o){i||(e&&A(e.$$.fragment,o),i=!0)},o(o){e&&I(e.$$.fragment,o),i=!1},d(o){o&&v(t),e&&z(e,o)}}}function kM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h,_,g,k,S;function T(L,F){return L[4]?gM:_M}let $=T(n),C=$(n);const D=[yM,bM],O=[];function E(L,F){return L[3]?0:1}return m=E(n),h=O[m]=D[m](n),{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=M(),u=b("span"),C.c(),d=M(),h.c(),_=ke(),p(t,"class",i=Jn(j.getFieldTypeIcon(n[1].type))+" svelte-p6ecb8"),p(s,"class","txt"),p(u,"class","json-state svelte-p6ecb8"),p(e,"for",c=n[6])},m(L,F){w(L,e,F),y(e,t),y(e,l),y(e,s),y(s,r),y(e,a),y(e,u),C.m(u,null),w(L,d,F),O[m].m(L,F),w(L,_,F),g=!0,k||(S=ve(f=Le.call(null,u,{position:"left",text:n[4]?"Valid JSON":"Invalid JSON"})),k=!0)},p(L,F){(!g||F&2&&i!==(i=Jn(j.getFieldTypeIcon(L[1].type))+" svelte-p6ecb8"))&&p(t,"class",i),(!g||F&2)&&o!==(o=L[1].name+"")&&le(r,o),$!==($=T(L))&&(C.d(1),C=$(L),C&&(C.c(),C.m(u,null))),f&&$t(f.update)&&F&16&&f.update.call(null,{position:"left",text:L[4]?"Valid JSON":"Invalid JSON"}),(!g||F&64&&c!==(c=L[6]))&&p(e,"for",c);let P=m;m=E(L),m===P?O[m].p(L,F):(oe(),I(O[P],1,1,()=>{O[P]=null}),re(),h=O[m],h?h.p(L,F):(h=O[m]=D[m](L),h.c()),A(h,1),h.m(_.parentNode,_))},i(L){g||(A(h),g=!0)},o(L){I(h),g=!1},d(L){L&&(v(e),v(d),v(_)),C.d(),O[m].d(L),k=!1,S()}}}function vM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[kM,({uniqueId:i})=>({6:i}),({uniqueId:i})=>i?64:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&223&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function Kp(n){return JSON.stringify(typeof n>"u"?null:n,null,2)}function wM(n){try{return JSON.parse(n===""?null:n),!0}catch{}return!1}function SM(n,e,t){let i,{field:l}=e,{value:s=void 0}=e,o,r=Kp(s);Vt(async()=>{try{t(3,o=(await rt(()=>import("./CodeEditor-efd8db8b.js"),["./CodeEditor-efd8db8b.js","./index-9ee652b3.js"],import.meta.url)).default)}catch(u){console.warn(u)}});const a=u=>{t(2,r=u.detail),t(0,s=r.trim())};return n.$$set=u=>{"field"in u&&t(1,l=u.field),"value"in u&&t(0,s=u.value)},n.$$.update=()=>{n.$$.dirty&5&&s!==(r==null?void 0:r.trim())&&(t(2,r=Kp(s)),t(0,s=r)),n.$$.dirty&4&&t(4,i=wM(r))},[s,l,r,o,i,a]}class $M extends ge{constructor(e){super(),_e(this,e,SM,vM,he,{field:1,value:0})}}function TM(n){let e,t;return{c(){e=b("i"),p(e,"class","ri-file-line"),p(e,"alt",t=n[0].name)},m(i,l){w(i,e,l)},p(i,l){l&1&&t!==(t=i[0].name)&&p(e,"alt",t)},d(i){i&&v(e)}}}function CM(n){let e,t,i;return{c(){e=b("img"),p(e,"draggable",!1),nn(e.src,t=n[2])||p(e,"src",t),p(e,"width",n[1]),p(e,"height",n[1]),p(e,"alt",i=n[0].name)},m(l,s){w(l,e,s)},p(l,s){s&4&&!nn(e.src,t=l[2])&&p(e,"src",t),s&2&&p(e,"width",l[1]),s&2&&p(e,"height",l[1]),s&1&&i!==(i=l[0].name)&&p(e,"alt",i)},d(l){l&&v(e)}}}function MM(n){let e;function t(s,o){return s[2]?CM:TM}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,[o]){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},i:Q,o:Q,d(s){s&&v(e),l.d(s)}}}function OM(n,e,t){let i,{file:l}=e,{size:s=50}=e;function o(){j.hasImageExtension(l==null?void 0:l.name)?j.generateThumb(l,s,s).then(r=>{t(2,i=r)}).catch(r=>{t(2,i=""),console.warn("Unable to generate thumb: ",r)}):t(2,i="")}return n.$$set=r=>{"file"in r&&t(0,l=r.file),"size"in r&&t(1,s=r.size)},n.$$.update=()=>{n.$$.dirty&1&&typeof l<"u"&&o()},t(2,i=""),[l,s,i]}class DM extends ge{constructor(e){super(),_e(this,e,OM,MM,he,{file:0,size:1})}}function Jp(n){let e;function t(s,o){return s[4]==="image"?AM:EM}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,o){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},d(s){s&&v(e),l.d(s)}}}function EM(n){let e,t;return{c(){e=b("object"),t=Y("Cannot preview the file."),p(e,"title",n[2]),p(e,"data",n[1])},m(i,l){w(i,e,l),y(e,t)},p(i,l){l&4&&p(e,"title",i[2]),l&2&&p(e,"data",i[1])},d(i){i&&v(e)}}}function AM(n){let e,t,i;return{c(){e=b("img"),nn(e.src,t=n[1])||p(e,"src",t),p(e,"alt",i="Preview "+n[2])},m(l,s){w(l,e,s)},p(l,s){s&2&&!nn(e.src,t=l[1])&&p(e,"src",t),s&4&&i!==(i="Preview "+l[2])&&p(e,"alt",i)},d(l){l&&v(e)}}}function IM(n){var l;let e=(l=n[3])==null?void 0:l.isActive(),t,i=e&&Jp(n);return{c(){i&&i.c(),t=ke()},m(s,o){i&&i.m(s,o),w(s,t,o)},p(s,o){var r;o&8&&(e=(r=s[3])==null?void 0:r.isActive()),e?i?i.p(s,o):(i=Jp(s),i.c(),i.m(t.parentNode,t)):i&&(i.d(1),i=null)},d(s){s&&v(t),i&&i.d(s)}}}function LM(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","overlay-close")},m(l,s){w(l,e,s),t||(i=K(e,"click",Ye(n[0])),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function PM(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("a"),t=Y(n[2]),i=M(),l=b("i"),s=M(),o=b("div"),r=M(),a=b("button"),a.textContent="Close",p(l,"class","ri-external-link-line"),p(e,"href",n[1]),p(e,"title",n[2]),p(e,"target","_blank"),p(e,"rel","noreferrer noopener"),p(e,"class","link-hint txt-ellipsis inline-flex"),p(o,"class","flex-fill"),p(a,"type","button"),p(a,"class","btn btn-transparent")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),w(c,s,d),w(c,o,d),w(c,r,d),w(c,a,d),u||(f=K(a,"click",n[0]),u=!0)},p(c,d){d&4&&le(t,c[2]),d&2&&p(e,"href",c[1]),d&4&&p(e,"title",c[2])},d(c){c&&(v(e),v(s),v(o),v(r),v(a)),u=!1,f()}}}function NM(n){let e,t,i={class:"preview preview-"+n[4],btnClose:!1,popup:!0,$$slots:{footer:[PM],header:[LM],default:[IM]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[7](e),e.$on("show",n[8]),e.$on("hide",n[9]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&16&&(o.class="preview preview-"+l[4]),s&1054&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[7](null),z(e,l)}}}function FM(n,e,t){let i,l,s,o,r="";function a(m){m!==""&&(t(1,r=m),o==null||o.show())}function u(){return o==null?void 0:o.hide()}function f(m){te[m?"unshift":"push"](()=>{o=m,t(3,o)})}function c(m){Ae.call(this,n,m)}function d(m){Ae.call(this,n,m)}return n.$$.update=()=>{n.$$.dirty&2&&t(6,i=r.indexOf("?")),n.$$.dirty&66&&t(2,l=r.substring(r.lastIndexOf("/")+1,i>0?i:void 0)),n.$$.dirty&4&&t(4,s=j.getFileType(l))},[u,r,l,o,s,a,i,f,c,d]}class RM extends ge{constructor(e){super(),_e(this,e,FM,NM,he,{show:5,hide:0})}get show(){return this.$$.ctx[5]}get hide(){return this.$$.ctx[0]}}function qM(n){let e,t,i,l,s;function o(u,f){return u[3]==="image"?VM:u[3]==="video"||u[3]==="audio"?zM:HM}let r=o(n),a=r(n);return{c(){e=b("a"),a.c(),p(e,"draggable",!1),p(e,"class",t="thumb "+(n[1]?`thumb-${n[1]}`:"")),p(e,"href",n[6]),p(e,"target","_blank"),p(e,"rel","noreferrer"),p(e,"title",i=(n[7]?"Preview":"Download")+" "+n[0])},m(u,f){w(u,e,f),a.m(e,null),l||(s=K(e,"click",fn(n[11])),l=!0)},p(u,f){r===(r=o(u))&&a?a.p(u,f):(a.d(1),a=r(u),a&&(a.c(),a.m(e,null))),f&2&&t!==(t="thumb "+(u[1]?`thumb-${u[1]}`:""))&&p(e,"class",t),f&64&&p(e,"href",u[6]),f&129&&i!==(i=(u[7]?"Preview":"Download")+" "+u[0])&&p(e,"title",i)},d(u){u&&v(e),a.d(),l=!1,s()}}}function jM(n){let e,t;return{c(){e=b("div"),p(e,"class",t="thumb "+(n[1]?`thumb-${n[1]}`:""))},m(i,l){w(i,e,l)},p(i,l){l&2&&t!==(t="thumb "+(i[1]?`thumb-${i[1]}`:""))&&p(e,"class",t)},d(i){i&&v(e)}}}function HM(n){let e;return{c(){e=b("i"),p(e,"class","ri-file-3-line")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function zM(n){let e;return{c(){e=b("i"),p(e,"class","ri-video-line")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function VM(n){let e,t,i,l,s;return{c(){e=b("img"),p(e,"draggable",!1),p(e,"loading","lazy"),nn(e.src,t=n[5])||p(e,"src",t),p(e,"alt",n[0]),p(e,"title",i="Preview "+n[0])},m(o,r){w(o,e,r),l||(s=K(e,"error",n[8]),l=!0)},p(o,r){r&32&&!nn(e.src,t=o[5])&&p(e,"src",t),r&1&&p(e,"alt",o[0]),r&1&&i!==(i="Preview "+o[0])&&p(e,"title",i)},d(o){o&&v(e),l=!1,s()}}}function Zp(n){let e,t,i={};return e=new RM({props:i}),n[12](e),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,s){const o={};e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[12](null),z(e,l)}}}function BM(n){let e,t,i;function l(a,u){return a[2]?jM:qM}let s=l(n),o=s(n),r=n[7]&&Zp(n);return{c(){o.c(),e=M(),r&&r.c(),t=ke()},m(a,u){o.m(a,u),w(a,e,u),r&&r.m(a,u),w(a,t,u),i=!0},p(a,[u]){s===(s=l(a))&&o?o.p(a,u):(o.d(1),o=s(a),o&&(o.c(),o.m(e.parentNode,e))),a[7]?r?(r.p(a,u),u&128&&A(r,1)):(r=Zp(a),r.c(),A(r,1),r.m(t.parentNode,t)):r&&(oe(),I(r,1,1,()=>{r=null}),re())},i(a){i||(A(r),i=!0)},o(a){I(r),i=!1},d(a){a&&(v(e),v(t)),o.d(a),r&&r.d(a)}}}function UM(n,e,t){let i,l,{record:s=null}=e,{filename:o=""}=e,{size:r=""}=e,a,u="",f="",c="",d=!0;m();async function m(){t(2,d=!0);try{t(10,c=await fe.getAdminFileToken(s.collectionId))}catch(k){console.warn("File token failure:",k)}t(2,d=!1)}function h(){t(5,u="")}const _=k=>{l&&(k.preventDefault(),a==null||a.show(f))};function g(k){te[k?"unshift":"push"](()=>{a=k,t(4,a)})}return n.$$set=k=>{"record"in k&&t(9,s=k.record),"filename"in k&&t(0,o=k.filename),"size"in k&&t(1,r=k.size)},n.$$.update=()=>{n.$$.dirty&1&&t(3,i=j.getFileType(o)),n.$$.dirty&9&&t(7,l=["image","audio","video"].includes(i)||o.endsWith(".pdf")),n.$$.dirty&1541&&t(6,f=d?"":fe.files.getUrl(s,o,{token:c})),n.$$.dirty&1541&&t(5,u=d?"":fe.files.getUrl(s,o,{thumb:"100x100",token:c}))},[o,r,d,i,a,u,f,l,h,s,c,_,g]}class Qa extends ge{constructor(e){super(),_e(this,e,UM,BM,he,{record:9,filename:0,size:1})}}function Gp(n,e,t){const i=n.slice();return i[29]=e[t],i[31]=t,i}function Xp(n,e,t){const i=n.slice();i[34]=e[t],i[31]=t;const l=i[2].includes(i[34]);return i[35]=l,i}function WM(n){let e,t,i;function l(){return n[17](n[34])}return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint btn-sm btn-circle btn-remove")},m(s,o){w(s,e,o),t||(i=[ve(Le.call(null,e,"Remove file")),K(e,"click",l)],t=!0)},p(s,o){n=s},d(s){s&&v(e),t=!1,we(i)}}}function YM(n){let e,t,i;function l(){return n[16](n[34])}return{c(){e=b("button"),e.innerHTML='Restore',p(e,"type","button"),p(e,"class","btn btn-sm btn-danger btn-transparent")},m(s,o){w(s,e,o),t||(i=K(e,"click",l),t=!0)},p(s,o){n=s},d(s){s&&v(e),t=!1,i()}}}function KM(n){let e,t,i,l,s,o,r=n[34]+"",a,u,f,c,d,m;i=new Qa({props:{record:n[3],filename:n[34]}});function h(k,S){return k[35]?YM:WM}let _=h(n),g=_(n);return{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),o=b("a"),a=Y(r),c=M(),d=b("div"),g.c(),ee(t,"fade",n[35]),p(o,"draggable",!1),p(o,"href",u=fe.files.getUrl(n[3],n[34],{token:n[10]})),p(o,"class",f="txt-ellipsis "+(n[35]?"txt-strikethrough txt-hint":"link-primary")),p(o,"title","Download"),p(o,"target","_blank"),p(o,"rel","noopener noreferrer"),p(s,"class","content"),p(d,"class","actions"),p(e,"class","list-item"),ee(e,"dragging",n[32]),ee(e,"dragover",n[33])},m(k,S){w(k,e,S),y(e,t),H(i,t,null),y(e,l),y(e,s),y(s,o),y(o,a),y(e,c),y(e,d),g.m(d,null),m=!0},p(k,S){const T={};S[0]&8&&(T.record=k[3]),S[0]&32&&(T.filename=k[34]),i.$set(T),(!m||S[0]&36)&&ee(t,"fade",k[35]),(!m||S[0]&32)&&r!==(r=k[34]+"")&&le(a,r),(!m||S[0]&1064&&u!==(u=fe.files.getUrl(k[3],k[34],{token:k[10]})))&&p(o,"href",u),(!m||S[0]&36&&f!==(f="txt-ellipsis "+(k[35]?"txt-strikethrough txt-hint":"link-primary")))&&p(o,"class",f),_===(_=h(k))&&g?g.p(k,S):(g.d(1),g=_(k),g&&(g.c(),g.m(d,null))),(!m||S[1]&2)&&ee(e,"dragging",k[32]),(!m||S[1]&4)&&ee(e,"dragover",k[33])},i(k){m||(A(i.$$.fragment,k),m=!0)},o(k){I(i.$$.fragment,k),m=!1},d(k){k&&v(e),z(i),g.d()}}}function Qp(n,e){let t,i,l,s;function o(a){e[18](a)}let r={group:e[4].name+"_uploaded",index:e[31],disabled:!e[6],$$slots:{default:[KM,({dragging:a,dragover:u})=>({32:a,33:u}),({dragging:a,dragover:u})=>[0,(a?2:0)|(u?4:0)]]},$$scope:{ctx:e}};return e[0]!==void 0&&(r.list=e[0]),i=new As({props:r}),te.push(()=>be(i,"list",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u[0]&16&&(f.group=e[4].name+"_uploaded"),u[0]&32&&(f.index=e[31]),u[0]&64&&(f.disabled=!e[6]),u[0]&1068|u[1]&70&&(f.$$scope={dirty:u,ctx:e}),!l&&u[0]&1&&(l=!0,f.list=e[0],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function JM(n){let e,t,i,l,s,o,r,a,u=n[29].name+"",f,c,d,m,h,_,g;i=new DM({props:{file:n[29]}});function k(){return n[19](n[31])}return{c(){e=b("div"),t=b("figure"),V(i.$$.fragment),l=M(),s=b("div"),o=b("small"),o.textContent="New",r=M(),a=b("span"),f=Y(u),d=M(),m=b("button"),m.innerHTML='',p(t,"class","thumb"),p(o,"class","label label-success m-r-5"),p(a,"class","txt"),p(s,"class","filename m-r-auto"),p(s,"title",c=n[29].name),p(m,"type","button"),p(m,"class","btn btn-transparent btn-hint btn-sm btn-circle btn-remove"),p(e,"class","list-item"),ee(e,"dragging",n[32]),ee(e,"dragover",n[33])},m(S,T){w(S,e,T),y(e,t),H(i,t,null),y(e,l),y(e,s),y(s,o),y(s,r),y(s,a),y(a,f),y(e,d),y(e,m),h=!0,_||(g=[ve(Le.call(null,m,"Remove file")),K(m,"click",k)],_=!0)},p(S,T){n=S;const $={};T[0]&2&&($.file=n[29]),i.$set($),(!h||T[0]&2)&&u!==(u=n[29].name+"")&&le(f,u),(!h||T[0]&2&&c!==(c=n[29].name))&&p(s,"title",c),(!h||T[1]&2)&&ee(e,"dragging",n[32]),(!h||T[1]&4)&&ee(e,"dragover",n[33])},i(S){h||(A(i.$$.fragment,S),h=!0)},o(S){I(i.$$.fragment,S),h=!1},d(S){S&&v(e),z(i),_=!1,we(g)}}}function xp(n,e){let t,i,l,s;function o(a){e[20](a)}let r={group:e[4].name+"_new",index:e[31],disabled:!e[6],$$slots:{default:[JM,({dragging:a,dragover:u})=>({32:a,33:u}),({dragging:a,dragover:u})=>[0,(a?2:0)|(u?4:0)]]},$$scope:{ctx:e}};return e[1]!==void 0&&(r.list=e[1]),i=new As({props:r}),te.push(()=>be(i,"list",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u[0]&16&&(f.group=e[4].name+"_new"),u[0]&2&&(f.index=e[31]),u[0]&64&&(f.disabled=!e[6]),u[0]&2|u[1]&70&&(f.$$scope={dirty:u,ctx:e}),!l&&u[0]&2&&(l=!0,f.list=e[1],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function ZM(n){let e,t,i,l,s,o=n[4].name+"",r,a,u,f,c=[],d=new Map,m,h=[],_=new Map,g,k,S,T,$,C,D,O,E,L,F,P,N=pe(n[5]);const R=J=>J[34]+J[3].id;for(let J=0;JJ[29].name+J[31];for(let J=0;J{"model"in o&&t(1,i=o.model)},n.$$.update=()=>{n.$$.dirty&2&&i&&s()},[l,i]}class qb extends ge{constructor(e){super(),_e(this,e,C6,T6,he,{model:1})}}function M6(n){let e,t,i,l,s,o,r,a,u,f;return s=new sl({props:{value:n[1]}}),{c(){e=b("div"),t=b("span"),i=Y(n[1]),l=M(),V(s.$$.fragment),o=M(),r=b("i"),p(t,"class","secret svelte-1md8247"),p(r,"class","ri-refresh-line txt-sm link-hint"),p(r,"aria-label","Refresh"),p(e,"class","flex flex-gap-5 p-5")},m(c,d){w(c,e,d),y(e,t),y(t,i),n[6](t),y(e,l),H(s,e,null),y(e,o),y(e,r),a=!0,u||(f=[ve(Le.call(null,r,"Refresh")),K(r,"click",n[4])],u=!0)},p(c,d){(!a||d&2)&&le(i,c[1]);const m={};d&2&&(m.value=c[1]),s.$set(m)},i(c){a||(A(s.$$.fragment,c),a=!0)},o(c){I(s.$$.fragment,c),a=!1},d(c){c&&v(e),n[6](null),z(s),u=!1,we(f)}}}function O6(n){let e,t,i,l,s,o,r,a,u,f;function c(m){n[7](m)}let d={class:"dropdown dropdown-upside dropdown-center dropdown-nowrap",$$slots:{default:[M6]},$$scope:{ctx:n}};return n[3]!==void 0&&(d.active=n[3]),l=new En({props:d}),te.push(()=>be(l,"active",c)),l.$on("show",n[4]),{c(){e=b("button"),t=b("i"),i=M(),V(l.$$.fragment),p(t,"class","ri-sparkling-line"),p(e,"tabindex","-1"),p(e,"type","button"),p(e,"aria-label","Generate"),p(e,"class",o="btn btn-circle "+n[0]+" svelte-1md8247")},m(m,h){w(m,e,h),y(e,t),y(e,i),H(l,e,null),a=!0,u||(f=ve(r=Le.call(null,e,n[3]?"":"Generate")),u=!0)},p(m,[h]){const _={};h&518&&(_.$$scope={dirty:h,ctx:m}),!s&&h&8&&(s=!0,_.active=m[3],ye(()=>s=!1)),l.$set(_),(!a||h&1&&o!==(o="btn btn-circle "+m[0]+" svelte-1md8247"))&&p(e,"class",o),r&&$t(r.update)&&h&8&&r.update.call(null,m[3]?"":"Generate")},i(m){a||(A(l.$$.fragment,m),a=!0)},o(m){I(l.$$.fragment,m),a=!1},d(m){m&&v(e),z(l),u=!1,f()}}}function D6(n,e,t){const i=ot();let{class:l="btn-sm btn-hint btn-transparent"}=e,{length:s=32}=e,o="",r,a=!1;async function u(){if(t(1,o=j.randomSecret(s)),i("generate",o),await Qt(),r){let d=document.createRange();d.selectNode(r),window.getSelection().removeAllRanges(),window.getSelection().addRange(d)}}function f(d){te[d?"unshift":"push"](()=>{r=d,t(2,r)})}function c(d){a=d,t(3,a)}return n.$$set=d=>{"class"in d&&t(0,l=d.class),"length"in d&&t(5,s=d.length)},[l,o,r,a,u,s,f,c]}class jb extends ge{constructor(e){super(),_e(this,e,D6,O6,he,{class:0,length:5})}}function E6(n){let e,t,i,l,s,o,r,a,u,f,c,d;return{c(){e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Username",o=M(),r=b("input"),p(t,"class",j.getFieldTypeIcon("user")),p(l,"class","txt"),p(e,"for",s=n[13]),p(r,"type","text"),p(r,"requried",a=!n[2]),p(r,"placeholder",u=n[2]?"Leave empty to auto generate...":n[4]),p(r,"id",f=n[13])},m(m,h){w(m,e,h),y(e,t),y(e,i),y(e,l),w(m,o,h),w(m,r,h),ue(r,n[0].username),c||(d=K(r,"input",n[5]),c=!0)},p(m,h){h&8192&&s!==(s=m[13])&&p(e,"for",s),h&4&&a!==(a=!m[2])&&p(r,"requried",a),h&4&&u!==(u=m[2]?"Leave empty to auto generate...":m[4])&&p(r,"placeholder",u),h&8192&&f!==(f=m[13])&&p(r,"id",f),h&1&&r.value!==m[0].username&&ue(r,m[0].username)},d(m){m&&(v(e),v(o),v(r)),c=!1,d()}}}function A6(n){let e,t,i,l,s,o,r,a,u,f,c=n[0].emailVisibility?"On":"Off",d,m,h,_,g,k,S,T;return{c(){var $;e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Email",o=M(),r=b("div"),a=b("button"),u=b("span"),f=Y("Public: "),d=Y(c),h=M(),_=b("input"),p(t,"class",j.getFieldTypeIcon("email")),p(l,"class","txt"),p(e,"for",s=n[13]),p(u,"class","txt"),p(a,"type","button"),p(a,"class",m="btn btn-sm btn-transparent "+(n[0].emailVisibility?"btn-success":"btn-hint")),p(r,"class","form-field-addon email-visibility-addon svelte-1751a4d"),p(_,"type","email"),_.autofocus=n[2],p(_,"autocomplete","off"),p(_,"id",g=n[13]),_.required=k=($=n[1].options)==null?void 0:$.requireEmail,p(_,"class","svelte-1751a4d")},m($,C){w($,e,C),y(e,t),y(e,i),y(e,l),w($,o,C),w($,r,C),y(r,a),y(a,u),y(u,f),y(u,d),w($,h,C),w($,_,C),ue(_,n[0].email),n[2]&&_.focus(),S||(T=[ve(Le.call(null,a,{text:"Make email public or private",position:"top-right"})),K(a,"click",Ye(n[6])),K(_,"input",n[7])],S=!0)},p($,C){var D;C&8192&&s!==(s=$[13])&&p(e,"for",s),C&1&&c!==(c=$[0].emailVisibility?"On":"Off")&&le(d,c),C&1&&m!==(m="btn btn-sm btn-transparent "+($[0].emailVisibility?"btn-success":"btn-hint"))&&p(a,"class",m),C&4&&(_.autofocus=$[2]),C&8192&&g!==(g=$[13])&&p(_,"id",g),C&2&&k!==(k=(D=$[1].options)==null?void 0:D.requireEmail)&&(_.required=k),C&1&&_.value!==$[0].email&&ue(_,$[0].email)},d($){$&&(v(e),v(o),v(r),v(h),v(_)),S=!1,we(T)}}}function Bp(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle",name:"verified",$$slots:{default:[I6,({uniqueId:i})=>({13:i}),({uniqueId:i})=>i?8192:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,l){const s={};l&24584&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function I6(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Change password"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[3],w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[8]),r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&8&&(e.checked=u[3]),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function Up(n){let e,t,i,l,s,o,r,a,u;return l=new me({props:{class:"form-field required",name:"password",$$slots:{default:[L6,({uniqueId:f})=>({13:f}),({uniqueId:f})=>f?8192:0]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[P6,({uniqueId:f})=>({13:f}),({uniqueId:f})=>f?8192:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),i=b("div"),V(l.$$.fragment),s=M(),o=b("div"),V(r.$$.fragment),p(i,"class","col-sm-6"),p(o,"class","col-sm-6"),p(t,"class","grid"),ee(t,"p-t-xs",n[3]),p(e,"class","block")},m(f,c){w(f,e,c),y(e,t),y(t,i),H(l,i,null),y(t,s),y(t,o),H(r,o,null),u=!0},p(f,c){const d={};c&24577&&(d.$$scope={dirty:c,ctx:f}),l.$set(d);const m={};c&24577&&(m.$$scope={dirty:c,ctx:f}),r.$set(m),(!u||c&8)&&ee(t,"p-t-xs",f[3])},i(f){u||(A(l.$$.fragment,f),A(r.$$.fragment,f),f&&Ke(()=>{u&&(a||(a=Pe(e,et,{duration:150},!0)),a.run(1))}),u=!0)},o(f){I(l.$$.fragment,f),I(r.$$.fragment,f),f&&(a||(a=Pe(e,et,{duration:150},!1)),a.run(0)),u=!1},d(f){f&&v(e),z(l),z(r),f&&a&&a.end()}}}function L6(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h;return c=new jb({props:{length:15}}),{c(){e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Password",o=M(),r=b("input"),u=M(),f=b("div"),V(c.$$.fragment),p(t,"class","ri-lock-line"),p(l,"class","txt"),p(e,"for",s=n[13]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[13]),r.required=!0,p(f,"class","form-field-addon")},m(_,g){w(_,e,g),y(e,t),y(e,i),y(e,l),w(_,o,g),w(_,r,g),ue(r,n[0].password),w(_,u,g),w(_,f,g),H(c,f,null),d=!0,m||(h=K(r,"input",n[9]),m=!0)},p(_,g){(!d||g&8192&&s!==(s=_[13]))&&p(e,"for",s),(!d||g&8192&&a!==(a=_[13]))&&p(r,"id",a),g&1&&r.value!==_[0].password&&ue(r,_[0].password)},i(_){d||(A(c.$$.fragment,_),d=!0)},o(_){I(c.$$.fragment,_),d=!1},d(_){_&&(v(e),v(o),v(r),v(u),v(f)),z(c),m=!1,h()}}}function P6(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=b("i"),i=M(),l=b("span"),l.textContent="Password confirm",o=M(),r=b("input"),p(t,"class","ri-lock-line"),p(l,"class","txt"),p(e,"for",s=n[13]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[13]),r.required=!0},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),w(c,o,d),w(c,r,d),ue(r,n[0].passwordConfirm),u||(f=K(r,"input",n[10]),u=!0)},p(c,d){d&8192&&s!==(s=c[13])&&p(e,"for",s),d&8192&&a!==(a=c[13])&&p(r,"id",a),d&1&&r.value!==c[0].passwordConfirm&&ue(r,c[0].passwordConfirm)},d(c){c&&(v(e),v(o),v(r)),u=!1,f()}}}function N6(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y("Verified"),p(e,"type","checkbox"),p(e,"id",t=n[13]),p(l,"for",o=n[13])},m(u,f){w(u,e,f),e.checked=n[0].verified,w(u,i,f),w(u,l,f),y(l,s),r||(a=[K(e,"change",n[11]),K(e,"change",Ye(n[12]))],r=!0)},p(u,f){f&8192&&t!==(t=u[13])&&p(e,"id",t),f&1&&(e.checked=u[0].verified),f&8192&&o!==(o=u[13])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,we(a)}}}function F6(n){var g;let e,t,i,l,s,o,r,a,u,f,c,d,m;i=new me({props:{class:"form-field "+(n[2]?"":"required"),name:"username",$$slots:{default:[E6,({uniqueId:k})=>({13:k}),({uniqueId:k})=>k?8192:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field "+((g=n[1].options)!=null&&g.requireEmail?"required":""),name:"email",$$slots:{default:[A6,({uniqueId:k})=>({13:k}),({uniqueId:k})=>k?8192:0]},$$scope:{ctx:n}}});let h=!n[2]&&Bp(n),_=(n[2]||n[3])&&Up(n);return d=new me({props:{class:"form-field form-field-toggle",name:"verified",$$slots:{default:[N6,({uniqueId:k})=>({13:k}),({uniqueId:k})=>k?8192:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),h&&h.c(),u=M(),_&&_.c(),f=M(),c=b("div"),V(d.$$.fragment),p(t,"class","col-lg-6"),p(s,"class","col-lg-6"),p(a,"class","col-lg-12"),p(c,"class","col-lg-12"),p(e,"class","grid m-b-base")},m(k,S){w(k,e,S),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),h&&h.m(a,null),y(a,u),_&&_.m(a,null),y(e,f),y(e,c),H(d,c,null),m=!0},p(k,[S]){var D;const T={};S&4&&(T.class="form-field "+(k[2]?"":"required")),S&24581&&(T.$$scope={dirty:S,ctx:k}),i.$set(T);const $={};S&2&&($.class="form-field "+((D=k[1].options)!=null&&D.requireEmail?"required":"")),S&24583&&($.$$scope={dirty:S,ctx:k}),o.$set($),k[2]?h&&(oe(),I(h,1,1,()=>{h=null}),re()):h?(h.p(k,S),S&4&&A(h,1)):(h=Bp(k),h.c(),A(h,1),h.m(a,u)),k[2]||k[3]?_?(_.p(k,S),S&12&&A(_,1)):(_=Up(k),_.c(),A(_,1),_.m(a,null)):_&&(oe(),I(_,1,1,()=>{_=null}),re());const C={};S&24581&&(C.$$scope={dirty:S,ctx:k}),d.$set(C)},i(k){m||(A(i.$$.fragment,k),A(o.$$.fragment,k),A(h),A(_),A(d.$$.fragment,k),m=!0)},o(k){I(i.$$.fragment,k),I(o.$$.fragment,k),I(h),I(_),I(d.$$.fragment,k),m=!1},d(k){k&&v(e),z(i),z(o),h&&h.d(),_&&_.d(),z(d)}}}function R6(n,e,t){let{record:i}=e,{collection:l}=e,{isNew:s=!(i!=null&&i.id)}=e,o=i.username||null,r=!1;function a(){i.username=this.value,t(0,i),t(3,r)}const u=()=>t(0,i.emailVisibility=!i.emailVisibility,i);function f(){i.email=this.value,t(0,i),t(3,r)}function c(){r=this.checked,t(3,r)}function d(){i.password=this.value,t(0,i),t(3,r)}function m(){i.passwordConfirm=this.value,t(0,i),t(3,r)}function h(){i.verified=this.checked,t(0,i),t(3,r)}const _=g=>{s||an("Do you really want to manually change the verified account state?",()=>{},()=>{t(0,i.verified=!g.target.checked,i)})};return n.$$set=g=>{"record"in g&&t(0,i=g.record),"collection"in g&&t(1,l=g.collection),"isNew"in g&&t(2,s=g.isNew)},n.$$.update=()=>{n.$$.dirty&1&&!i.username&&i.username!==null&&t(0,i.username=null,i),n.$$.dirty&8&&(r||(t(0,i.password=null,i),t(0,i.passwordConfirm=null,i),ii("password"),ii("passwordConfirm")))},[i,l,s,r,o,a,u,f,c,d,m,h,_]}class q6 extends ge{constructor(e){super(),_e(this,e,R6,F6,he,{record:0,collection:1,isNew:2})}}function j6(n){let e,t,i,l=[n[3]],s={};for(let o=0;o{r&&(t(1,r.style.height="",r),t(1,r.style.height=Math.min(r.scrollHeight,o)+"px",r))},0)}function f(m){if((m==null?void 0:m.code)==="Enter"&&!(m!=null&&m.shiftKey)&&!(m!=null&&m.isComposing)){m.preventDefault();const h=r.closest("form");h!=null&&h.requestSubmit&&h.requestSubmit()}}Vt(()=>(u(),()=>clearTimeout(a)));function c(m){te[m?"unshift":"push"](()=>{r=m,t(1,r)})}function d(){s=this.value,t(0,s)}return n.$$set=m=>{e=Ne(Ne({},e),Kt(m)),t(3,l=Ge(e,i)),"value"in m&&t(0,s=m.value),"maxHeight"in m&&t(4,o=m.maxHeight)},n.$$.update=()=>{n.$$.dirty&1&&typeof s!==void 0&&u()},[s,r,f,l,o,c,d]}class z6 extends ge{constructor(e){super(),_e(this,e,H6,j6,he,{value:0,maxHeight:4})}}function V6(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d;function m(_){n[2](_)}let h={id:n[3],required:n[1].required};return n[0]!==void 0&&(h.value=n[0]),f=new z6({props:h}),te.push(()=>be(f,"value",m)),{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),V(f.$$.fragment),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3])},m(_,g){w(_,e,g),y(e,t),y(e,l),y(e,s),y(s,r),w(_,u,g),H(f,_,g),d=!0},p(_,g){(!d||g&2&&i!==(i=j.getFieldTypeIcon(_[1].type)))&&p(t,"class",i),(!d||g&2)&&o!==(o=_[1].name+"")&&le(r,o),(!d||g&8&&a!==(a=_[3]))&&p(e,"for",a);const k={};g&8&&(k.id=_[3]),g&2&&(k.required=_[1].required),!c&&g&1&&(c=!0,k.value=_[0],ye(()=>c=!1)),f.$set(k)},i(_){d||(A(f.$$.fragment,_),d=!0)},o(_){I(f.$$.fragment,_),d=!1},d(_){_&&(v(e),v(u)),z(f,_)}}}function B6(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[V6,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function U6(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(o){l=o,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class W6 extends ge{constructor(e){super(),_e(this,e,U6,B6,he,{field:1,value:0})}}function Y6(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h,_,g;return{c(){var k,S;e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),f=b("input"),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3]),p(f,"type","number"),p(f,"id",c=n[3]),f.required=d=n[1].required,p(f,"min",m=(k=n[1].options)==null?void 0:k.min),p(f,"max",h=(S=n[1].options)==null?void 0:S.max),p(f,"step","any")},m(k,S){w(k,e,S),y(e,t),y(e,l),y(e,s),y(s,r),w(k,u,S),w(k,f,S),ue(f,n[0]),_||(g=K(f,"input",n[2]),_=!0)},p(k,S){var T,$;S&2&&i!==(i=j.getFieldTypeIcon(k[1].type))&&p(t,"class",i),S&2&&o!==(o=k[1].name+"")&&le(r,o),S&8&&a!==(a=k[3])&&p(e,"for",a),S&8&&c!==(c=k[3])&&p(f,"id",c),S&2&&d!==(d=k[1].required)&&(f.required=d),S&2&&m!==(m=(T=k[1].options)==null?void 0:T.min)&&p(f,"min",m),S&2&&h!==(h=($=k[1].options)==null?void 0:$.max)&&p(f,"max",h),S&1&&st(f.value)!==k[0]&&ue(f,k[0])},d(k){k&&(v(e),v(u),v(f)),_=!1,g()}}}function K6(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[Y6,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function J6(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(){l=st(this.value),t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class Z6 extends ge{constructor(e){super(),_e(this,e,J6,K6,he,{field:1,value:0})}}function G6(n){let e,t,i,l,s=n[1].name+"",o,r,a,u;return{c(){e=b("input"),i=M(),l=b("label"),o=Y(s),p(e,"type","checkbox"),p(e,"id",t=n[3]),p(l,"for",r=n[3])},m(f,c){w(f,e,c),e.checked=n[0],w(f,i,c),w(f,l,c),y(l,o),a||(u=K(e,"change",n[2]),a=!0)},p(f,c){c&8&&t!==(t=f[3])&&p(e,"id",t),c&1&&(e.checked=f[0]),c&2&&s!==(s=f[1].name+"")&&le(o,s),c&8&&r!==(r=f[3])&&p(l,"for",r)},d(f){f&&(v(e),v(i),v(l)),a=!1,u()}}}function X6(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[G6,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field form-field-toggle "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function Q6(n,e,t){let{field:i}=e,{value:l=!1}=e;function s(){l=this.checked,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class x6 extends ge{constructor(e){super(),_e(this,e,Q6,X6,he,{field:1,value:0})}}function eM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h;return{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),f=b("input"),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3]),p(f,"type","email"),p(f,"id",c=n[3]),f.required=d=n[1].required},m(_,g){w(_,e,g),y(e,t),y(e,l),y(e,s),y(s,r),w(_,u,g),w(_,f,g),ue(f,n[0]),m||(h=K(f,"input",n[2]),m=!0)},p(_,g){g&2&&i!==(i=j.getFieldTypeIcon(_[1].type))&&p(t,"class",i),g&2&&o!==(o=_[1].name+"")&&le(r,o),g&8&&a!==(a=_[3])&&p(e,"for",a),g&8&&c!==(c=_[3])&&p(f,"id",c),g&2&&d!==(d=_[1].required)&&(f.required=d),g&1&&f.value!==_[0]&&ue(f,_[0])},d(_){_&&(v(e),v(u),v(f)),m=!1,h()}}}function tM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[eM,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function nM(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(){l=this.value,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class iM extends ge{constructor(e){super(),_e(this,e,nM,tM,he,{field:1,value:0})}}function lM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h;return{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),f=b("input"),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[3]),p(f,"type","url"),p(f,"id",c=n[3]),f.required=d=n[1].required},m(_,g){w(_,e,g),y(e,t),y(e,l),y(e,s),y(s,r),w(_,u,g),w(_,f,g),ue(f,n[0]),m||(h=K(f,"input",n[2]),m=!0)},p(_,g){g&2&&i!==(i=j.getFieldTypeIcon(_[1].type))&&p(t,"class",i),g&2&&o!==(o=_[1].name+"")&&le(r,o),g&8&&a!==(a=_[3])&&p(e,"for",a),g&8&&c!==(c=_[3])&&p(f,"id",c),g&2&&d!==(d=_[1].required)&&(f.required=d),g&1&&f.value!==_[0]&&ue(f,_[0])},d(_){_&&(v(e),v(u),v(f)),m=!1,h()}}}function sM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[lM,({uniqueId:i})=>({3:i}),({uniqueId:i})=>i?8:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&27&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function oM(n,e,t){let{field:i}=e,{value:l=void 0}=e;function s(){l=this.value,t(0,l)}return n.$$set=o=>{"field"in o&&t(1,i=o.field),"value"in o&&t(0,l=o.value)},[l,i,s]}class rM extends ge{constructor(e){super(),_e(this,e,oM,sM,he,{field:1,value:0})}}function Wp(n){let e,t,i,l;return{c(){e=b("div"),t=b("button"),t.innerHTML='',p(t,"type","button"),p(t,"class","link-hint clear-btn svelte-11df51y"),p(e,"class","form-field-addon")},m(s,o){w(s,e,o),y(e,t),i||(l=[ve(Le.call(null,t,"Clear")),K(t,"click",n[5])],i=!0)},p:Q,d(s){s&&v(e),i=!1,we(l)}}}function aM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h,_,g=n[0]&&!n[1].required&&Wp(n);function k($){n[6]($)}function S($){n[7]($)}let T={id:n[8],options:j.defaultFlatpickrOptions()};return n[2]!==void 0&&(T.value=n[2]),n[0]!==void 0&&(T.formattedValue=n[0]),d=new Ga({props:T}),te.push(()=>be(d,"value",k)),te.push(()=>be(d,"formattedValue",S)),d.$on("close",n[3]),{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=Y(" (UTC)"),f=M(),g&&g.c(),c=M(),V(d.$$.fragment),p(t,"class",i=Jn(j.getFieldTypeIcon(n[1].type))+" svelte-11df51y"),p(s,"class","txt"),p(e,"for",u=n[8])},m($,C){w($,e,C),y(e,t),y(e,l),y(e,s),y(s,r),y(s,a),w($,f,C),g&&g.m($,C),w($,c,C),H(d,$,C),_=!0},p($,C){(!_||C&2&&i!==(i=Jn(j.getFieldTypeIcon($[1].type))+" svelte-11df51y"))&&p(t,"class",i),(!_||C&2)&&o!==(o=$[1].name+"")&&le(r,o),(!_||C&256&&u!==(u=$[8]))&&p(e,"for",u),$[0]&&!$[1].required?g?g.p($,C):(g=Wp($),g.c(),g.m(c.parentNode,c)):g&&(g.d(1),g=null);const D={};C&256&&(D.id=$[8]),!m&&C&4&&(m=!0,D.value=$[2],ye(()=>m=!1)),!h&&C&1&&(h=!0,D.formattedValue=$[0],ye(()=>h=!1)),d.$set(D)},i($){_||(A(d.$$.fragment,$),_=!0)},o($){I(d.$$.fragment,$),_=!1},d($){$&&(v(e),v(f),v(c)),g&&g.d($),z(d,$)}}}function uM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[aM,({uniqueId:i})=>({8:i}),({uniqueId:i})=>i?256:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&775&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function fM(n,e,t){let{field:i}=e,{value:l=void 0}=e,s=l;function o(c){c.detail&&c.detail.length==3&&t(0,l=c.detail[1])}function r(){t(0,l="")}const a=()=>r();function u(c){s=c,t(2,s),t(0,l)}function f(c){l=c,t(0,l)}return n.$$set=c=>{"field"in c&&t(1,i=c.field),"value"in c&&t(0,l=c.value)},n.$$.update=()=>{n.$$.dirty&1&&l&&l.length>19&&t(0,l=l.substring(0,19)),n.$$.dirty&5&&s!=l&&t(2,s=l)},[l,i,s,o,r,a,u,f]}class cM extends ge{constructor(e){super(),_e(this,e,fM,uM,he,{field:1,value:0})}}function Yp(n){let e,t,i=n[1].options.maxSelect+"",l,s;return{c(){e=b("div"),t=Y("Select up to "),l=Y(i),s=Y(" items."),p(e,"class","help-block")},m(o,r){w(o,e,r),y(e,t),y(e,l),y(e,s)},p(o,r){r&2&&i!==(i=o[1].options.maxSelect+"")&&le(l,i)},d(o){o&&v(e)}}}function dM(n){var S,T,$,C,D,O;let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h;function _(E){n[3](E)}let g={id:n[4],toggle:!n[1].required||n[2],multiple:n[2],closable:!n[2]||((S=n[0])==null?void 0:S.length)>=((T=n[1].options)==null?void 0:T.maxSelect),items:($=n[1].options)==null?void 0:$.values,searchable:((D=(C=n[1].options)==null?void 0:C.values)==null?void 0:D.length)>5};n[0]!==void 0&&(g.selected=n[0]),f=new Fb({props:g}),te.push(()=>be(f,"selected",_));let k=((O=n[1].options)==null?void 0:O.maxSelect)>1&&Yp(n);return{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),u=M(),V(f.$$.fragment),d=M(),k&&k.c(),m=ke(),p(t,"class",i=j.getFieldTypeIcon(n[1].type)),p(s,"class","txt"),p(e,"for",a=n[4])},m(E,L){w(E,e,L),y(e,t),y(e,l),y(e,s),y(s,r),w(E,u,L),H(f,E,L),w(E,d,L),k&&k.m(E,L),w(E,m,L),h=!0},p(E,L){var P,N,R,q,W,J;(!h||L&2&&i!==(i=j.getFieldTypeIcon(E[1].type)))&&p(t,"class",i),(!h||L&2)&&o!==(o=E[1].name+"")&&le(r,o),(!h||L&16&&a!==(a=E[4]))&&p(e,"for",a);const F={};L&16&&(F.id=E[4]),L&6&&(F.toggle=!E[1].required||E[2]),L&4&&(F.multiple=E[2]),L&7&&(F.closable=!E[2]||((P=E[0])==null?void 0:P.length)>=((N=E[1].options)==null?void 0:N.maxSelect)),L&2&&(F.items=(R=E[1].options)==null?void 0:R.values),L&2&&(F.searchable=((W=(q=E[1].options)==null?void 0:q.values)==null?void 0:W.length)>5),!c&&L&1&&(c=!0,F.selected=E[0],ye(()=>c=!1)),f.$set(F),((J=E[1].options)==null?void 0:J.maxSelect)>1?k?k.p(E,L):(k=Yp(E),k.c(),k.m(m.parentNode,m)):k&&(k.d(1),k=null)},i(E){h||(A(f.$$.fragment,E),h=!0)},o(E){I(f.$$.fragment,E),h=!1},d(E){E&&(v(e),v(u),v(d),v(m)),z(f,E),k&&k.d(E)}}}function pM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[dM,({uniqueId:i})=>({4:i}),({uniqueId:i})=>i?16:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&55&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function mM(n,e,t){let i,{field:l}=e,{value:s=void 0}=e;function o(r){s=r,t(0,s),t(2,i),t(1,l)}return n.$$set=r=>{"field"in r&&t(1,l=r.field),"value"in r&&t(0,s=r.value)},n.$$.update=()=>{var r;n.$$.dirty&2&&t(2,i=((r=l.options)==null?void 0:r.maxSelect)>1),n.$$.dirty&5&&typeof s>"u"&&t(0,s=i?[]:""),n.$$.dirty&7&&i&&Array.isArray(s)&&s.length>l.options.maxSelect&&t(0,s=s.slice(s.length-l.options.maxSelect))},[s,l,i,o]}class hM extends ge{constructor(e){super(),_e(this,e,mM,pM,he,{field:1,value:0})}}function _M(n){let e;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function gM(n){let e;return{c(){e=b("i"),p(e,"class","ri-checkbox-circle-fill txt-success")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function bM(n){let e;return{c(){e=b("input"),p(e,"type","text"),p(e,"class","txt-mono"),e.value="Loading...",e.disabled=!0},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function yM(n){let e,t,i;var l=n[3];function s(o,r){return{props:{id:o[6],maxHeight:"500",language:"json",value:o[2]}}}return l&&(e=Ot(l,s(n)),e.$on("change",n[5])),{c(){e&&V(e.$$.fragment),t=ke()},m(o,r){e&&H(e,o,r),w(o,t,r),i=!0},p(o,r){if(r&8&&l!==(l=o[3])){if(e){oe();const a=e;I(a.$$.fragment,1,0,()=>{z(a,1)}),re()}l?(e=Ot(l,s(o)),e.$on("change",o[5]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,t.parentNode,t)):e=null}else if(l){const a={};r&64&&(a.id=o[6]),r&4&&(a.value=o[2]),e.$set(a)}},i(o){i||(e&&A(e.$$.fragment,o),i=!0)},o(o){e&&I(e.$$.fragment,o),i=!1},d(o){o&&v(t),e&&z(e,o)}}}function kM(n){let e,t,i,l,s,o=n[1].name+"",r,a,u,f,c,d,m,h,_,g,k,S;function T(L,F){return L[4]?gM:_M}let $=T(n),C=$(n);const D=[yM,bM],O=[];function E(L,F){return L[3]?0:1}return m=E(n),h=O[m]=D[m](n),{c(){e=b("label"),t=b("i"),l=M(),s=b("span"),r=Y(o),a=M(),u=b("span"),C.c(),d=M(),h.c(),_=ke(),p(t,"class",i=Jn(j.getFieldTypeIcon(n[1].type))+" svelte-p6ecb8"),p(s,"class","txt"),p(u,"class","json-state svelte-p6ecb8"),p(e,"for",c=n[6])},m(L,F){w(L,e,F),y(e,t),y(e,l),y(e,s),y(s,r),y(e,a),y(e,u),C.m(u,null),w(L,d,F),O[m].m(L,F),w(L,_,F),g=!0,k||(S=ve(f=Le.call(null,u,{position:"left",text:n[4]?"Valid JSON":"Invalid JSON"})),k=!0)},p(L,F){(!g||F&2&&i!==(i=Jn(j.getFieldTypeIcon(L[1].type))+" svelte-p6ecb8"))&&p(t,"class",i),(!g||F&2)&&o!==(o=L[1].name+"")&&le(r,o),$!==($=T(L))&&(C.d(1),C=$(L),C&&(C.c(),C.m(u,null))),f&&$t(f.update)&&F&16&&f.update.call(null,{position:"left",text:L[4]?"Valid JSON":"Invalid JSON"}),(!g||F&64&&c!==(c=L[6]))&&p(e,"for",c);let P=m;m=E(L),m===P?O[m].p(L,F):(oe(),I(O[P],1,1,()=>{O[P]=null}),re(),h=O[m],h?h.p(L,F):(h=O[m]=D[m](L),h.c()),A(h,1),h.m(_.parentNode,_))},i(L){g||(A(h),g=!0)},o(L){I(h),g=!1},d(L){L&&(v(e),v(d),v(_)),C.d(),O[m].d(L),k=!1,S()}}}function vM(n){let e,t;return e=new me({props:{class:"form-field "+(n[1].required?"required":""),name:n[1].name,$$slots:{default:[kM,({uniqueId:i})=>({6:i}),({uniqueId:i})=>i?64:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,l){H(e,i,l),t=!0},p(i,[l]){const s={};l&2&&(s.class="form-field "+(i[1].required?"required":"")),l&2&&(s.name=i[1].name),l&223&&(s.$$scope={dirty:l,ctx:i}),e.$set(s)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){z(e,i)}}}function Kp(n){return JSON.stringify(typeof n>"u"?null:n,null,2)}function wM(n){try{return JSON.parse(n===""?null:n),!0}catch{}return!1}function SM(n,e,t){let i,{field:l}=e,{value:s=void 0}=e,o,r=Kp(s);Vt(async()=>{try{t(3,o=(await rt(()=>import("./CodeEditor-3bce9f95.js"),["./CodeEditor-3bce9f95.js","./index-9ee652b3.js"],import.meta.url)).default)}catch(u){console.warn(u)}});const a=u=>{t(2,r=u.detail),t(0,s=r.trim())};return n.$$set=u=>{"field"in u&&t(1,l=u.field),"value"in u&&t(0,s=u.value)},n.$$.update=()=>{n.$$.dirty&5&&s!==(r==null?void 0:r.trim())&&(t(2,r=Kp(s)),t(0,s=r)),n.$$.dirty&4&&t(4,i=wM(r))},[s,l,r,o,i,a]}class $M extends ge{constructor(e){super(),_e(this,e,SM,vM,he,{field:1,value:0})}}function TM(n){let e,t;return{c(){e=b("i"),p(e,"class","ri-file-line"),p(e,"alt",t=n[0].name)},m(i,l){w(i,e,l)},p(i,l){l&1&&t!==(t=i[0].name)&&p(e,"alt",t)},d(i){i&&v(e)}}}function CM(n){let e,t,i;return{c(){e=b("img"),p(e,"draggable",!1),nn(e.src,t=n[2])||p(e,"src",t),p(e,"width",n[1]),p(e,"height",n[1]),p(e,"alt",i=n[0].name)},m(l,s){w(l,e,s)},p(l,s){s&4&&!nn(e.src,t=l[2])&&p(e,"src",t),s&2&&p(e,"width",l[1]),s&2&&p(e,"height",l[1]),s&1&&i!==(i=l[0].name)&&p(e,"alt",i)},d(l){l&&v(e)}}}function MM(n){let e;function t(s,o){return s[2]?CM:TM}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,[o]){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},i:Q,o:Q,d(s){s&&v(e),l.d(s)}}}function OM(n,e,t){let i,{file:l}=e,{size:s=50}=e;function o(){j.hasImageExtension(l==null?void 0:l.name)?j.generateThumb(l,s,s).then(r=>{t(2,i=r)}).catch(r=>{t(2,i=""),console.warn("Unable to generate thumb: ",r)}):t(2,i="")}return n.$$set=r=>{"file"in r&&t(0,l=r.file),"size"in r&&t(1,s=r.size)},n.$$.update=()=>{n.$$.dirty&1&&typeof l<"u"&&o()},t(2,i=""),[l,s,i]}class DM extends ge{constructor(e){super(),_e(this,e,OM,MM,he,{file:0,size:1})}}function Jp(n){let e;function t(s,o){return s[4]==="image"?AM:EM}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,o){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},d(s){s&&v(e),l.d(s)}}}function EM(n){let e,t;return{c(){e=b("object"),t=Y("Cannot preview the file."),p(e,"title",n[2]),p(e,"data",n[1])},m(i,l){w(i,e,l),y(e,t)},p(i,l){l&4&&p(e,"title",i[2]),l&2&&p(e,"data",i[1])},d(i){i&&v(e)}}}function AM(n){let e,t,i;return{c(){e=b("img"),nn(e.src,t=n[1])||p(e,"src",t),p(e,"alt",i="Preview "+n[2])},m(l,s){w(l,e,s)},p(l,s){s&2&&!nn(e.src,t=l[1])&&p(e,"src",t),s&4&&i!==(i="Preview "+l[2])&&p(e,"alt",i)},d(l){l&&v(e)}}}function IM(n){var l;let e=(l=n[3])==null?void 0:l.isActive(),t,i=e&&Jp(n);return{c(){i&&i.c(),t=ke()},m(s,o){i&&i.m(s,o),w(s,t,o)},p(s,o){var r;o&8&&(e=(r=s[3])==null?void 0:r.isActive()),e?i?i.p(s,o):(i=Jp(s),i.c(),i.m(t.parentNode,t)):i&&(i.d(1),i=null)},d(s){s&&v(t),i&&i.d(s)}}}function LM(n){let e,t,i;return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","overlay-close")},m(l,s){w(l,e,s),t||(i=K(e,"click",Ye(n[0])),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function PM(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("a"),t=Y(n[2]),i=M(),l=b("i"),s=M(),o=b("div"),r=M(),a=b("button"),a.textContent="Close",p(l,"class","ri-external-link-line"),p(e,"href",n[1]),p(e,"title",n[2]),p(e,"target","_blank"),p(e,"rel","noreferrer noopener"),p(e,"class","link-hint txt-ellipsis inline-flex"),p(o,"class","flex-fill"),p(a,"type","button"),p(a,"class","btn btn-transparent")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),w(c,s,d),w(c,o,d),w(c,r,d),w(c,a,d),u||(f=K(a,"click",n[0]),u=!0)},p(c,d){d&4&&le(t,c[2]),d&2&&p(e,"href",c[1]),d&4&&p(e,"title",c[2])},d(c){c&&(v(e),v(s),v(o),v(r),v(a)),u=!1,f()}}}function NM(n){let e,t,i={class:"preview preview-"+n[4],btnClose:!1,popup:!0,$$slots:{footer:[PM],header:[LM],default:[IM]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[7](e),e.$on("show",n[8]),e.$on("hide",n[9]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&16&&(o.class="preview preview-"+l[4]),s&1054&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[7](null),z(e,l)}}}function FM(n,e,t){let i,l,s,o,r="";function a(m){m!==""&&(t(1,r=m),o==null||o.show())}function u(){return o==null?void 0:o.hide()}function f(m){te[m?"unshift":"push"](()=>{o=m,t(3,o)})}function c(m){Ae.call(this,n,m)}function d(m){Ae.call(this,n,m)}return n.$$.update=()=>{n.$$.dirty&2&&t(6,i=r.indexOf("?")),n.$$.dirty&66&&t(2,l=r.substring(r.lastIndexOf("/")+1,i>0?i:void 0)),n.$$.dirty&4&&t(4,s=j.getFileType(l))},[u,r,l,o,s,a,i,f,c,d]}class RM extends ge{constructor(e){super(),_e(this,e,FM,NM,he,{show:5,hide:0})}get show(){return this.$$.ctx[5]}get hide(){return this.$$.ctx[0]}}function qM(n){let e,t,i,l,s;function o(u,f){return u[3]==="image"?VM:u[3]==="video"||u[3]==="audio"?zM:HM}let r=o(n),a=r(n);return{c(){e=b("a"),a.c(),p(e,"draggable",!1),p(e,"class",t="thumb "+(n[1]?`thumb-${n[1]}`:"")),p(e,"href",n[6]),p(e,"target","_blank"),p(e,"rel","noreferrer"),p(e,"title",i=(n[7]?"Preview":"Download")+" "+n[0])},m(u,f){w(u,e,f),a.m(e,null),l||(s=K(e,"click",fn(n[11])),l=!0)},p(u,f){r===(r=o(u))&&a?a.p(u,f):(a.d(1),a=r(u),a&&(a.c(),a.m(e,null))),f&2&&t!==(t="thumb "+(u[1]?`thumb-${u[1]}`:""))&&p(e,"class",t),f&64&&p(e,"href",u[6]),f&129&&i!==(i=(u[7]?"Preview":"Download")+" "+u[0])&&p(e,"title",i)},d(u){u&&v(e),a.d(),l=!1,s()}}}function jM(n){let e,t;return{c(){e=b("div"),p(e,"class",t="thumb "+(n[1]?`thumb-${n[1]}`:""))},m(i,l){w(i,e,l)},p(i,l){l&2&&t!==(t="thumb "+(i[1]?`thumb-${i[1]}`:""))&&p(e,"class",t)},d(i){i&&v(e)}}}function HM(n){let e;return{c(){e=b("i"),p(e,"class","ri-file-3-line")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function zM(n){let e;return{c(){e=b("i"),p(e,"class","ri-video-line")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function VM(n){let e,t,i,l,s;return{c(){e=b("img"),p(e,"draggable",!1),p(e,"loading","lazy"),nn(e.src,t=n[5])||p(e,"src",t),p(e,"alt",n[0]),p(e,"title",i="Preview "+n[0])},m(o,r){w(o,e,r),l||(s=K(e,"error",n[8]),l=!0)},p(o,r){r&32&&!nn(e.src,t=o[5])&&p(e,"src",t),r&1&&p(e,"alt",o[0]),r&1&&i!==(i="Preview "+o[0])&&p(e,"title",i)},d(o){o&&v(e),l=!1,s()}}}function Zp(n){let e,t,i={};return e=new RM({props:i}),n[12](e),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,s){const o={};e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[12](null),z(e,l)}}}function BM(n){let e,t,i;function l(a,u){return a[2]?jM:qM}let s=l(n),o=s(n),r=n[7]&&Zp(n);return{c(){o.c(),e=M(),r&&r.c(),t=ke()},m(a,u){o.m(a,u),w(a,e,u),r&&r.m(a,u),w(a,t,u),i=!0},p(a,[u]){s===(s=l(a))&&o?o.p(a,u):(o.d(1),o=s(a),o&&(o.c(),o.m(e.parentNode,e))),a[7]?r?(r.p(a,u),u&128&&A(r,1)):(r=Zp(a),r.c(),A(r,1),r.m(t.parentNode,t)):r&&(oe(),I(r,1,1,()=>{r=null}),re())},i(a){i||(A(r),i=!0)},o(a){I(r),i=!1},d(a){a&&(v(e),v(t)),o.d(a),r&&r.d(a)}}}function UM(n,e,t){let i,l,{record:s=null}=e,{filename:o=""}=e,{size:r=""}=e,a,u="",f="",c="",d=!0;m();async function m(){t(2,d=!0);try{t(10,c=await fe.getAdminFileToken(s.collectionId))}catch(k){console.warn("File token failure:",k)}t(2,d=!1)}function h(){t(5,u="")}const _=k=>{l&&(k.preventDefault(),a==null||a.show(f))};function g(k){te[k?"unshift":"push"](()=>{a=k,t(4,a)})}return n.$$set=k=>{"record"in k&&t(9,s=k.record),"filename"in k&&t(0,o=k.filename),"size"in k&&t(1,r=k.size)},n.$$.update=()=>{n.$$.dirty&1&&t(3,i=j.getFileType(o)),n.$$.dirty&9&&t(7,l=["image","audio","video"].includes(i)||o.endsWith(".pdf")),n.$$.dirty&1541&&t(6,f=d?"":fe.files.getUrl(s,o,{token:c})),n.$$.dirty&1541&&t(5,u=d?"":fe.files.getUrl(s,o,{thumb:"100x100",token:c}))},[o,r,d,i,a,u,f,l,h,s,c,_,g]}class Qa extends ge{constructor(e){super(),_e(this,e,UM,BM,he,{record:9,filename:0,size:1})}}function Gp(n,e,t){const i=n.slice();return i[29]=e[t],i[31]=t,i}function Xp(n,e,t){const i=n.slice();i[34]=e[t],i[31]=t;const l=i[2].includes(i[34]);return i[35]=l,i}function WM(n){let e,t,i;function l(){return n[17](n[34])}return{c(){e=b("button"),e.innerHTML='',p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint btn-sm btn-circle btn-remove")},m(s,o){w(s,e,o),t||(i=[ve(Le.call(null,e,"Remove file")),K(e,"click",l)],t=!0)},p(s,o){n=s},d(s){s&&v(e),t=!1,we(i)}}}function YM(n){let e,t,i;function l(){return n[16](n[34])}return{c(){e=b("button"),e.innerHTML='Restore',p(e,"type","button"),p(e,"class","btn btn-sm btn-danger btn-transparent")},m(s,o){w(s,e,o),t||(i=K(e,"click",l),t=!0)},p(s,o){n=s},d(s){s&&v(e),t=!1,i()}}}function KM(n){let e,t,i,l,s,o,r=n[34]+"",a,u,f,c,d,m;i=new Qa({props:{record:n[3],filename:n[34]}});function h(k,S){return k[35]?YM:WM}let _=h(n),g=_(n);return{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),o=b("a"),a=Y(r),c=M(),d=b("div"),g.c(),ee(t,"fade",n[35]),p(o,"draggable",!1),p(o,"href",u=fe.files.getUrl(n[3],n[34],{token:n[10]})),p(o,"class",f="txt-ellipsis "+(n[35]?"txt-strikethrough txt-hint":"link-primary")),p(o,"title","Download"),p(o,"target","_blank"),p(o,"rel","noopener noreferrer"),p(s,"class","content"),p(d,"class","actions"),p(e,"class","list-item"),ee(e,"dragging",n[32]),ee(e,"dragover",n[33])},m(k,S){w(k,e,S),y(e,t),H(i,t,null),y(e,l),y(e,s),y(s,o),y(o,a),y(e,c),y(e,d),g.m(d,null),m=!0},p(k,S){const T={};S[0]&8&&(T.record=k[3]),S[0]&32&&(T.filename=k[34]),i.$set(T),(!m||S[0]&36)&&ee(t,"fade",k[35]),(!m||S[0]&32)&&r!==(r=k[34]+"")&&le(a,r),(!m||S[0]&1064&&u!==(u=fe.files.getUrl(k[3],k[34],{token:k[10]})))&&p(o,"href",u),(!m||S[0]&36&&f!==(f="txt-ellipsis "+(k[35]?"txt-strikethrough txt-hint":"link-primary")))&&p(o,"class",f),_===(_=h(k))&&g?g.p(k,S):(g.d(1),g=_(k),g&&(g.c(),g.m(d,null))),(!m||S[1]&2)&&ee(e,"dragging",k[32]),(!m||S[1]&4)&&ee(e,"dragover",k[33])},i(k){m||(A(i.$$.fragment,k),m=!0)},o(k){I(i.$$.fragment,k),m=!1},d(k){k&&v(e),z(i),g.d()}}}function Qp(n,e){let t,i,l,s;function o(a){e[18](a)}let r={group:e[4].name+"_uploaded",index:e[31],disabled:!e[6],$$slots:{default:[KM,({dragging:a,dragover:u})=>({32:a,33:u}),({dragging:a,dragover:u})=>[0,(a?2:0)|(u?4:0)]]},$$scope:{ctx:e}};return e[0]!==void 0&&(r.list=e[0]),i=new As({props:r}),te.push(()=>be(i,"list",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u[0]&16&&(f.group=e[4].name+"_uploaded"),u[0]&32&&(f.index=e[31]),u[0]&64&&(f.disabled=!e[6]),u[0]&1068|u[1]&70&&(f.$$scope={dirty:u,ctx:e}),!l&&u[0]&1&&(l=!0,f.list=e[0],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function JM(n){let e,t,i,l,s,o,r,a,u=n[29].name+"",f,c,d,m,h,_,g;i=new DM({props:{file:n[29]}});function k(){return n[19](n[31])}return{c(){e=b("div"),t=b("figure"),V(i.$$.fragment),l=M(),s=b("div"),o=b("small"),o.textContent="New",r=M(),a=b("span"),f=Y(u),d=M(),m=b("button"),m.innerHTML='',p(t,"class","thumb"),p(o,"class","label label-success m-r-5"),p(a,"class","txt"),p(s,"class","filename m-r-auto"),p(s,"title",c=n[29].name),p(m,"type","button"),p(m,"class","btn btn-transparent btn-hint btn-sm btn-circle btn-remove"),p(e,"class","list-item"),ee(e,"dragging",n[32]),ee(e,"dragover",n[33])},m(S,T){w(S,e,T),y(e,t),H(i,t,null),y(e,l),y(e,s),y(s,o),y(s,r),y(s,a),y(a,f),y(e,d),y(e,m),h=!0,_||(g=[ve(Le.call(null,m,"Remove file")),K(m,"click",k)],_=!0)},p(S,T){n=S;const $={};T[0]&2&&($.file=n[29]),i.$set($),(!h||T[0]&2)&&u!==(u=n[29].name+"")&&le(f,u),(!h||T[0]&2&&c!==(c=n[29].name))&&p(s,"title",c),(!h||T[1]&2)&&ee(e,"dragging",n[32]),(!h||T[1]&4)&&ee(e,"dragover",n[33])},i(S){h||(A(i.$$.fragment,S),h=!0)},o(S){I(i.$$.fragment,S),h=!1},d(S){S&&v(e),z(i),_=!1,we(g)}}}function xp(n,e){let t,i,l,s;function o(a){e[20](a)}let r={group:e[4].name+"_new",index:e[31],disabled:!e[6],$$slots:{default:[JM,({dragging:a,dragover:u})=>({32:a,33:u}),({dragging:a,dragover:u})=>[0,(a?2:0)|(u?4:0)]]},$$scope:{ctx:e}};return e[1]!==void 0&&(r.list=e[1]),i=new As({props:r}),te.push(()=>be(i,"list",o)),{key:n,first:null,c(){t=ke(),V(i.$$.fragment),this.first=t},m(a,u){w(a,t,u),H(i,a,u),s=!0},p(a,u){e=a;const f={};u[0]&16&&(f.group=e[4].name+"_new"),u[0]&2&&(f.index=e[31]),u[0]&64&&(f.disabled=!e[6]),u[0]&2|u[1]&70&&(f.$$scope={dirty:u,ctx:e}),!l&&u[0]&2&&(l=!0,f.list=e[1],ye(()=>l=!1)),i.$set(f)},i(a){s||(A(i.$$.fragment,a),s=!0)},o(a){I(i.$$.fragment,a),s=!1},d(a){a&&v(t),z(i,a)}}}function ZM(n){let e,t,i,l,s,o=n[4].name+"",r,a,u,f,c=[],d=new Map,m,h=[],_=new Map,g,k,S,T,$,C,D,O,E,L,F,P,N=pe(n[5]);const R=J=>J[34]+J[3].id;for(let J=0;JJ[29].name+J[31];for(let J=0;J{D[F]=null}),re(),o=D[s],o?o.p(E,L):(o=D[s]=C[s](E),o.c()),A(o,1),o.m(r.parentNode,r))},i(E){S||(A(o),S=!0)},o(E){I(o),S=!1},d(E){E&&(v(e),v(l),v(r),v(a)),D[s].d(E),T=!1,we($)}}}function uA(n){let e,t,i,l,s,o;return e=new me({props:{class:"form-field required",name:n[1]+".subject",$$slots:{default:[lA,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),i=new me({props:{class:"form-field required",name:n[1]+".actionUrl",$$slots:{default:[sA,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),s=new me({props:{class:"form-field m-0 required",name:n[1]+".body",$$slots:{default:[aA,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),V(s.$$.fragment)},m(r,a){H(e,r,a),w(r,t,a),H(i,r,a),w(r,l,a),H(s,r,a),o=!0},p(r,a){const u={};a[0]&2&&(u.name=r[1]+".subject"),a[0]&1|a[1]&3&&(u.$$scope={dirty:a,ctx:r}),e.$set(u);const f={};a[0]&2&&(f.name=r[1]+".actionUrl"),a[0]&1|a[1]&3&&(f.$$scope={dirty:a,ctx:r}),i.$set(f);const c={};a[0]&2&&(c.name=r[1]+".body"),a[0]&49|a[1]&3&&(c.$$scope={dirty:a,ctx:r}),s.$set(c)},i(r){o||(A(e.$$.fragment,r),A(i.$$.fragment,r),A(s.$$.fragment,r),o=!0)},o(r){I(e.$$.fragment,r),I(i.$$.fragment,r),I(s.$$.fragment,r),o=!1},d(r){r&&(v(t),v(l)),z(e,r),z(i,r),z(s,r)}}}function Qh(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,{text:"Has errors",position:"left"})),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function fA(n){let e,t,i,l,s,o,r,a,u,f=n[6]&&Qh();return{c(){e=b("div"),t=b("i"),i=M(),l=b("span"),s=Y(n[2]),o=M(),r=b("div"),a=M(),f&&f.c(),u=ke(),p(t,"class","ri-draft-line"),p(l,"class","txt"),p(e,"class","inline-flex"),p(r,"class","flex-fill")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),y(l,s),w(c,o,d),w(c,r,d),w(c,a,d),f&&f.m(c,d),w(c,u,d)},p(c,d){d[0]&4&&le(s,c[2]),c[6]?f?d[0]&64&&A(f,1):(f=Qh(),f.c(),A(f,1),f.m(u.parentNode,u)):f&&(oe(),I(f,1,1,()=>{f=null}),re())},d(c){c&&(v(e),v(o),v(r),v(a),v(u)),f&&f.d(c)}}}function cA(n){let e,t;const i=[n[8]];let l={$$slots:{header:[fA],default:[uA]},$$scope:{ctx:n}};for(let s=0;st(12,o=U));let{key:r}=e,{title:a}=e,{config:u={}}=e,f,c=xh,d=!1;function m(){f==null||f.expand()}function h(){f==null||f.collapse()}function _(){f==null||f.collapseSiblings()}async function g(){c||d||(t(5,d=!0),t(4,c=(await rt(()=>import("./CodeEditor-efd8db8b.js"),["./CodeEditor-efd8db8b.js","./index-9ee652b3.js"],import.meta.url)).default),xh=c,t(5,d=!1))}function k(U){j.copyToClipboard(U),$o(`Copied ${U} to clipboard`,2e3)}g();function S(){u.subject=this.value,t(0,u)}const T=()=>k("{APP_NAME}"),$=()=>k("{APP_URL}");function C(){u.actionUrl=this.value,t(0,u)}const D=()=>k("{APP_NAME}"),O=()=>k("{APP_URL}"),E=()=>k("{TOKEN}");function L(U){n.$$.not_equal(u.body,U)&&(u.body=U,t(0,u))}function F(){u.body=this.value,t(0,u)}const P=()=>k("{APP_NAME}"),N=()=>k("{APP_URL}"),R=()=>k("{TOKEN}"),q=()=>k("{ACTION_URL}");function W(U){te[U?"unshift":"push"](()=>{f=U,t(3,f)})}function J(U){Ae.call(this,n,U)}function G(U){Ae.call(this,n,U)}function B(U){Ae.call(this,n,U)}return n.$$set=U=>{e=Ne(Ne({},e),Kt(U)),t(8,s=Ge(e,l)),"key"in U&&t(1,r=U.key),"title"in U&&t(2,a=U.title),"config"in U&&t(0,u=U.config)},n.$$.update=()=>{n.$$.dirty[0]&4098&&t(6,i=!j.isEmpty(j.getNestedVal(o,r))),n.$$.dirty[0]&3&&(u.enabled||ii(r))},[u,r,a,f,c,d,i,k,s,m,h,_,o,S,T,$,C,D,O,E,L,F,P,N,R,q,W,J,G,B]}class Fr extends ge{constructor(e){super(),_e(this,e,dA,cA,he,{key:1,title:2,config:0,expand:9,collapse:10,collapseSiblings:11},null,[-1,-1])}get expand(){return this.$$.ctx[9]}get collapse(){return this.$$.ctx[10]}get collapseSiblings(){return this.$$.ctx[11]}}function e_(n,e,t){const i=n.slice();return i[21]=e[t],i}function t_(n,e){let t,i,l,s,o,r=e[21].label+"",a,u,f,c,d,m;return c=r0(e[11][0]),{key:n,first:null,c(){t=b("div"),i=b("input"),s=M(),o=b("label"),a=Y(r),f=M(),p(i,"type","radio"),p(i,"name","template"),p(i,"id",l=e[20]+e[21].value),i.__value=e[21].value,ue(i,i.__value),p(o,"for",u=e[20]+e[21].value),p(t,"class","form-field-block"),c.p(i),this.first=t},m(h,_){w(h,t,_),y(t,i),i.checked=i.__value===e[2],y(t,s),y(t,o),y(o,a),y(t,f),d||(m=K(i,"change",e[10]),d=!0)},p(h,_){e=h,_&1048576&&l!==(l=e[20]+e[21].value)&&p(i,"id",l),_&4&&(i.checked=i.__value===e[2]),_&1048576&&u!==(u=e[20]+e[21].value)&&p(o,"for",u)},d(h){h&&v(t),c.r(),d=!1,m()}}}function pA(n){let e=[],t=new Map,i,l=pe(n[7]);const s=o=>o[21].value;for(let o=0;o({20:a}),({uniqueId:a})=>a?1048576:0]},$$scope:{ctx:n}}}),l=new me({props:{class:"form-field required m-0",name:"email",$$slots:{default:[mA,({uniqueId:a})=>({20:a}),({uniqueId:a})=>a?1048576:0]},$$scope:{ctx:n}}}),{c(){e=b("form"),V(t.$$.fragment),i=M(),V(l.$$.fragment),p(e,"id",n[6]),p(e,"autocomplete","off")},m(a,u){w(a,e,u),H(t,e,null),y(e,i),H(l,e,null),s=!0,o||(r=K(e,"submit",Ye(n[13])),o=!0)},p(a,u){const f={};u&17825796&&(f.$$scope={dirty:u,ctx:a}),t.$set(f);const c={};u&17825794&&(c.$$scope={dirty:u,ctx:a}),l.$set(c)},i(a){s||(A(t.$$.fragment,a),A(l.$$.fragment,a),s=!0)},o(a){I(t.$$.fragment,a),I(l.$$.fragment,a),s=!1},d(a){a&&v(e),z(t),z(l),o=!1,r()}}}function _A(n){let e;return{c(){e=b("h4"),e.textContent="Send test email",p(e,"class","center txt-break")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function gA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("button"),t=Y("Close"),i=M(),l=b("button"),s=b("i"),o=M(),r=b("span"),r.textContent="Send",p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[4],p(s,"class","ri-mail-send-line"),p(r,"class","txt"),p(l,"type","submit"),p(l,"form",n[6]),p(l,"class","btn btn-expanded"),l.disabled=a=!n[5]||n[4],ee(l,"btn-loading",n[4])},m(c,d){w(c,e,d),y(e,t),w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=K(e,"click",n[0]),u=!0)},p(c,d){d&16&&(e.disabled=c[4]),d&48&&a!==(a=!c[5]||c[4])&&(l.disabled=a),d&16&&ee(l,"btn-loading",c[4])},d(c){c&&(v(e),v(i),v(l)),u=!1,f()}}}function bA(n){let e,t,i={class:"overlay-panel-sm email-test-popup",overlayClose:!n[4],escClose:!n[4],beforeHide:n[14],popup:!0,$$slots:{footer:[gA],header:[_A],default:[hA]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[15](e),e.$on("show",n[16]),e.$on("hide",n[17]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&16&&(o.overlayClose=!l[4]),s&16&&(o.escClose=!l[4]),s&16&&(o.beforeHide=l[14]),s&16777270&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[15](null),z(e,l)}}}const Rr="last_email_test",n_="email_test_request";function yA(n,e,t){let i;const l=ot(),s="email_test_"+j.randomString(5),o=[{label:'"Verification" template',value:"verification"},{label:'"Password reset" template',value:"password-reset"},{label:'"Confirm email change" template',value:"email-change"}];let r,a=localStorage.getItem(Rr),u=o[0].value,f=!1,c=null;function d(O="",E=""){t(1,a=O||localStorage.getItem(Rr)),t(2,u=E||o[0].value),Gt({}),r==null||r.show()}function m(){return clearTimeout(c),r==null?void 0:r.hide()}async function h(){if(!(!i||f)){t(4,f=!0),localStorage==null||localStorage.setItem(Rr,a),clearTimeout(c),c=setTimeout(()=>{fe.cancelRequest(n_),ni("Test email send timeout.")},3e4);try{await fe.settings.testEmail(a,u,{$cancelKey:n_}),It("Successfully sent test email."),l("submit"),t(4,f=!1),await Qt(),m()}catch(O){t(4,f=!1),fe.error(O)}clearTimeout(c)}}const _=[[]];function g(){u=this.__value,t(2,u)}function k(){a=this.value,t(1,a)}const S=()=>h(),T=()=>!f;function $(O){te[O?"unshift":"push"](()=>{r=O,t(3,r)})}function C(O){Ae.call(this,n,O)}function D(O){Ae.call(this,n,O)}return n.$$.update=()=>{n.$$.dirty&6&&t(5,i=!!a&&!!u)},[m,a,u,r,f,i,s,o,h,d,g,_,k,S,T,$,C,D]}class kA extends ge{constructor(e){super(),_e(this,e,yA,bA,he,{show:9,hide:0})}get show(){return this.$$.ctx[9]}get hide(){return this.$$.ctx[0]}}function vA(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D,O,E,L,F;i=new me({props:{class:"form-field required",name:"meta.senderName",$$slots:{default:[SA,({uniqueId:x})=>({34:x}),({uniqueId:x})=>[0,x?8:0]]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"meta.senderAddress",$$slots:{default:[$A,({uniqueId:x})=>({34:x}),({uniqueId:x})=>[0,x?8:0]]},$$scope:{ctx:n}}});function P(x){n[15](x)}let N={single:!0,key:"meta.verificationTemplate",title:'Default "Verification" email template'};n[0].meta.verificationTemplate!==void 0&&(N.config=n[0].meta.verificationTemplate),u=new Fr({props:N}),te.push(()=>be(u,"config",P));function R(x){n[16](x)}let q={single:!0,key:"meta.resetPasswordTemplate",title:'Default "Password reset" email template'};n[0].meta.resetPasswordTemplate!==void 0&&(q.config=n[0].meta.resetPasswordTemplate),d=new Fr({props:q}),te.push(()=>be(d,"config",R));function W(x){n[17](x)}let J={single:!0,key:"meta.confirmEmailChangeTemplate",title:'Default "Confirm email change" email template'};n[0].meta.confirmEmailChangeTemplate!==void 0&&(J.config=n[0].meta.confirmEmailChangeTemplate),_=new Fr({props:J}),te.push(()=>be(_,"config",W)),$=new me({props:{class:"form-field form-field-toggle m-b-sm",$$slots:{default:[TA,({uniqueId:x})=>({34:x}),({uniqueId:x})=>[0,x?8:0]]},$$scope:{ctx:n}}});let G=n[0].smtp.enabled&&i_(n);function B(x,se){return x[5]?FA:NA}let U=B(n),ae=U(n);return{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),c=M(),V(d.$$.fragment),h=M(),V(_.$$.fragment),k=M(),S=b("hr"),T=M(),V($.$$.fragment),C=M(),G&&G.c(),D=M(),O=b("div"),E=b("div"),L=M(),ae.c(),p(t,"class","col-lg-6"),p(s,"class","col-lg-6"),p(e,"class","grid m-b-base"),p(a,"class","accordions"),p(E,"class","flex-fill"),p(O,"class","flex")},m(x,se){w(x,e,se),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),w(x,r,se),w(x,a,se),H(u,a,null),y(a,c),H(d,a,null),y(a,h),H(_,a,null),w(x,k,se),w(x,S,se),w(x,T,se),H($,x,se),w(x,C,se),G&&G.m(x,se),w(x,D,se),w(x,O,se),y(O,E),y(O,L),ae.m(O,null),F=!0},p(x,se){const De={};se[0]&1|se[1]&24&&(De.$$scope={dirty:se,ctx:x}),i.$set(De);const je={};se[0]&1|se[1]&24&&(je.$$scope={dirty:se,ctx:x}),o.$set(je);const Ve={};!f&&se[0]&1&&(f=!0,Ve.config=x[0].meta.verificationTemplate,ye(()=>f=!1)),u.$set(Ve);const Ze={};!m&&se[0]&1&&(m=!0,Ze.config=x[0].meta.resetPasswordTemplate,ye(()=>m=!1)),d.$set(Ze);const tt={};!g&&se[0]&1&&(g=!0,tt.config=x[0].meta.confirmEmailChangeTemplate,ye(()=>g=!1)),_.$set(tt);const Xe={};se[0]&1|se[1]&24&&(Xe.$$scope={dirty:se,ctx:x}),$.$set(Xe),x[0].smtp.enabled?G?(G.p(x,se),se[0]&1&&A(G,1)):(G=i_(x),G.c(),A(G,1),G.m(D.parentNode,D)):G&&(oe(),I(G,1,1,()=>{G=null}),re()),U===(U=B(x))&&ae?ae.p(x,se):(ae.d(1),ae=U(x),ae&&(ae.c(),ae.m(O,null)))},i(x){F||(A(i.$$.fragment,x),A(o.$$.fragment,x),A(u.$$.fragment,x),A(d.$$.fragment,x),A(_.$$.fragment,x),A($.$$.fragment,x),A(G),F=!0)},o(x){I(i.$$.fragment,x),I(o.$$.fragment,x),I(u.$$.fragment,x),I(d.$$.fragment,x),I(_.$$.fragment,x),I($.$$.fragment,x),I(G),F=!1},d(x){x&&(v(e),v(r),v(a),v(k),v(S),v(T),v(C),v(D),v(O)),z(i),z(o),z(u),z(d),z(_),z($,x),G&&G.d(x),ae.d()}}}function wA(n){let e;return{c(){e=b("div"),p(e,"class","loader")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function SA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Sender name"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","text"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].meta.senderName),r||(a=K(s,"input",n[13]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].meta.senderName&&ue(s,u[0].meta.senderName)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function $A(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Sender address"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","email"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].meta.senderAddress),r||(a=K(s,"input",n[14]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].meta.senderAddress&&ue(s,u[0].meta.senderAddress)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function TA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.innerHTML="Use SMTP mail server (recommended)",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[34]),e.required=!0,p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[34])},m(c,d){w(c,e,d),e.checked=n[0].smtp.enabled,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[18]),ve(Le.call(null,r,{text:'By default PocketBase uses the unix "sendmail" command for sending emails. For better emails deliverability it is recommended to use a SMTP mail server.',position:"top"}))],u=!0)},p(c,d){d[1]&8&&t!==(t=c[34])&&p(e,"id",t),d[0]&1&&(e.checked=c[0].smtp.enabled),d[1]&8&&a!==(a=c[34])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function i_(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$;l=new me({props:{class:"form-field required",name:"smtp.host",$$slots:{default:[CA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field required",name:"smtp.port",$$slots:{default:[MA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}}),f=new me({props:{class:"form-field",name:"smtp.username",$$slots:{default:[OA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}}),m=new me({props:{class:"form-field",name:"smtp.password",$$slots:{default:[DA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}});function C(L,F){return L[4]?AA:EA}let D=C(n),O=D(n),E=n[4]&&l_(n);return{c(){e=b("div"),t=b("div"),i=b("div"),V(l.$$.fragment),s=M(),o=b("div"),V(r.$$.fragment),a=M(),u=b("div"),V(f.$$.fragment),c=M(),d=b("div"),V(m.$$.fragment),h=M(),_=b("button"),O.c(),g=M(),E&&E.c(),p(i,"class","col-lg-4"),p(o,"class","col-lg-2"),p(u,"class","col-lg-3"),p(d,"class","col-lg-3"),p(t,"class","grid"),p(_,"type","button"),p(_,"class","btn btn-sm btn-secondary m-t-sm m-b-sm")},m(L,F){w(L,e,F),y(e,t),y(t,i),H(l,i,null),y(t,s),y(t,o),H(r,o,null),y(t,a),y(t,u),H(f,u,null),y(t,c),y(t,d),H(m,d,null),y(e,h),y(e,_),O.m(_,null),y(e,g),E&&E.m(e,null),S=!0,T||($=K(_,"click",Ye(n[23])),T=!0)},p(L,F){const P={};F[0]&1|F[1]&24&&(P.$$scope={dirty:F,ctx:L}),l.$set(P);const N={};F[0]&1|F[1]&24&&(N.$$scope={dirty:F,ctx:L}),r.$set(N);const R={};F[0]&1|F[1]&24&&(R.$$scope={dirty:F,ctx:L}),f.$set(R);const q={};F[0]&1|F[1]&24&&(q.$$scope={dirty:F,ctx:L}),m.$set(q),D!==(D=C(L))&&(O.d(1),O=D(L),O&&(O.c(),O.m(_,null))),L[4]?E?(E.p(L,F),F[0]&16&&A(E,1)):(E=l_(L),E.c(),A(E,1),E.m(e,null)):E&&(oe(),I(E,1,1,()=>{E=null}),re())},i(L){S||(A(l.$$.fragment,L),A(r.$$.fragment,L),A(f.$$.fragment,L),A(m.$$.fragment,L),A(E),L&&Ke(()=>{S&&(k||(k=Pe(e,et,{duration:150},!0)),k.run(1))}),S=!0)},o(L){I(l.$$.fragment,L),I(r.$$.fragment,L),I(f.$$.fragment,L),I(m.$$.fragment,L),I(E),L&&(k||(k=Pe(e,et,{duration:150},!1)),k.run(0)),S=!1},d(L){L&&v(e),z(l),z(r),z(f),z(m),O.d(),E&&E.d(),L&&k&&k.end(),T=!1,$()}}}function CA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("SMTP server host"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","text"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].smtp.host),r||(a=K(s,"input",n[19]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].smtp.host&&ue(s,u[0].smtp.host)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function MA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Port"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","number"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].smtp.port),r||(a=K(s,"input",n[20]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&st(s.value)!==u[0].smtp.port&&ue(s,u[0].smtp.port)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function OA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Username"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","text"),p(s,"id",o=n[34])},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].smtp.username),r||(a=K(s,"input",n[21]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].smtp.username&&ue(s,u[0].smtp.username)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function DA(n){let e,t,i,l,s,o,r;function a(f){n[22](f)}let u={id:n[34]};return n[0].smtp.password!==void 0&&(u.value=n[0].smtp.password),s=new tu({props:u}),te.push(()=>be(s,"value",a)),{c(){e=b("label"),t=Y("Password"),l=M(),V(s.$$.fragment),p(e,"for",i=n[34])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c[1]&8&&i!==(i=f[34]))&&p(e,"for",i);const d={};c[1]&8&&(d.id=f[34]),!o&&c[0]&1&&(o=!0,d.value=f[0].smtp.password,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function EA(n){let e,t,i;return{c(){e=b("span"),e.textContent="Show more options",t=M(),i=b("i"),p(e,"class","txt"),p(i,"class","ri-arrow-down-s-line")},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},d(l){l&&(v(e),v(t),v(i))}}}function AA(n){let e,t,i;return{c(){e=b("span"),e.textContent="Hide more options",t=M(),i=b("i"),p(e,"class","txt"),p(i,"class","ri-arrow-up-s-line")},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},d(l){l&&(v(e),v(t),v(i))}}}function l_(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;return i=new me({props:{class:"form-field",name:"smtp.tls",$$slots:{default:[IA,({uniqueId:h})=>({34:h}),({uniqueId:h})=>[0,h?8:0]]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"smtp.authMethod",$$slots:{default:[LA,({uniqueId:h})=>({34:h}),({uniqueId:h})=>[0,h?8:0]]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field",name:"smtp.localName",$$slots:{default:[PA,({uniqueId:h})=>({34:h}),({uniqueId:h})=>[0,h?8:0]]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),f=M(),c=b("div"),p(t,"class","col-lg-3"),p(s,"class","col-lg-3"),p(a,"class","col-lg-6"),p(c,"class","col-lg-12"),p(e,"class","grid")},m(h,_){w(h,e,_),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),H(u,a,null),y(e,f),y(e,c),m=!0},p(h,_){const g={};_[0]&1|_[1]&24&&(g.$$scope={dirty:_,ctx:h}),i.$set(g);const k={};_[0]&1|_[1]&24&&(k.$$scope={dirty:_,ctx:h}),o.$set(k);const S={};_[0]&1|_[1]&24&&(S.$$scope={dirty:_,ctx:h}),u.$set(S)},i(h){m||(A(i.$$.fragment,h),A(o.$$.fragment,h),A(u.$$.fragment,h),h&&Ke(()=>{m&&(d||(d=Pe(e,et,{duration:150},!0)),d.run(1))}),m=!0)},o(h){I(i.$$.fragment,h),I(o.$$.fragment,h),I(u.$$.fragment,h),h&&(d||(d=Pe(e,et,{duration:150},!1)),d.run(0)),m=!1},d(h){h&&v(e),z(i),z(o),z(u),h&&d&&d.end()}}}function IA(n){let e,t,i,l,s,o,r;function a(f){n[24](f)}let u={id:n[34],items:n[7]};return n[0].smtp.tls!==void 0&&(u.keyOfSelected=n[0].smtp.tls),s=new gi({props:u}),te.push(()=>be(s,"keyOfSelected",a)),{c(){e=b("label"),t=Y("TLS encryption"),l=M(),V(s.$$.fragment),p(e,"for",i=n[34])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c[1]&8&&i!==(i=f[34]))&&p(e,"for",i);const d={};c[1]&8&&(d.id=f[34]),!o&&c[0]&1&&(o=!0,d.keyOfSelected=f[0].smtp.tls,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function LA(n){let e,t,i,l,s,o,r;function a(f){n[25](f)}let u={id:n[34],items:n[8]};return n[0].smtp.authMethod!==void 0&&(u.keyOfSelected=n[0].smtp.authMethod),s=new gi({props:u}),te.push(()=>be(s,"keyOfSelected",a)),{c(){e=b("label"),t=Y("AUTH method"),l=M(),V(s.$$.fragment),p(e,"for",i=n[34])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c[1]&8&&i!==(i=f[34]))&&p(e,"for",i);const d={};c[1]&8&&(d.id=f[34]),!o&&c[0]&1&&(o=!0,d.keyOfSelected=f[0].smtp.authMethod,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function PA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=b("span"),t.textContent="EHLO/HELO domain",i=M(),l=b("i"),o=M(),r=b("input"),p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[34]),p(r,"type","text"),p(r,"id",a=n[34]),p(r,"placeholder","Default to localhost")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),w(c,o,d),w(c,r,d),ue(r,n[0].smtp.localName),u||(f=[ve(Le.call(null,l,{text:"Some SMTP servers, such as the Gmail SMTP-relay, requires a proper domain name in the inital EHLO/HELO exchange and will reject attempts to use localhost.",position:"top"})),K(r,"input",n[26])],u=!0)},p(c,d){d[1]&8&&s!==(s=c[34])&&p(e,"for",s),d[1]&8&&a!==(a=c[34])&&p(r,"id",a),d[0]&1&&r.value!==c[0].smtp.localName&&ue(r,c[0].smtp.localName)},d(c){c&&(v(e),v(o),v(r)),u=!1,we(f)}}}function NA(n){let e,t,i;return{c(){e=b("button"),e.innerHTML=' Send test email',p(e,"type","button"),p(e,"class","btn btn-expanded btn-outline")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[29]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function FA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("button"),t=b("span"),t.textContent="Cancel",i=M(),l=b("button"),s=b("span"),s.textContent="Save changes",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint"),e.disabled=n[3],p(s,"class","txt"),p(l,"type","submit"),p(l,"class","btn btn-expanded"),l.disabled=o=!n[5]||n[3],ee(l,"btn-loading",n[3])},m(u,f){w(u,e,f),y(e,t),w(u,i,f),w(u,l,f),y(l,s),r||(a=[K(e,"click",n[27]),K(l,"click",n[28])],r=!0)},p(u,f){f[0]&8&&(e.disabled=u[3]),f[0]&40&&o!==(o=!u[5]||u[3])&&(l.disabled=o),f[0]&8&&ee(l,"btn-loading",u[3])},d(u){u&&(v(e),v(i),v(l)),r=!1,we(a)}}}function RA(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g;const k=[wA,vA],S=[];function T($,C){return $[2]?0:1}return d=T(n),m=S[d]=k[d](n),{c(){e=b("header"),t=b("nav"),i=b("div"),i.textContent="Settings",l=M(),s=b("div"),o=Y(n[6]),r=M(),a=b("div"),u=b("form"),f=b("div"),f.innerHTML="

    Configure common settings for sending emails.

    ",c=M(),m.c(),p(i,"class","breadcrumb-item"),p(s,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(f,"class","content txt-xl m-b-base"),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m($,C){w($,e,C),y(e,t),y(t,i),y(t,l),y(t,s),y(s,o),w($,r,C),w($,a,C),y(a,u),y(u,f),y(u,c),S[d].m(u,null),h=!0,_||(g=K(u,"submit",Ye(n[30])),_=!0)},p($,C){(!h||C[0]&64)&&le(o,$[6]);let D=d;d=T($),d===D?S[d].p($,C):(oe(),I(S[D],1,1,()=>{S[D]=null}),re(),m=S[d],m?m.p($,C):(m=S[d]=k[d]($),m.c()),A(m,1),m.m(u,null))},i($){h||(A(m),h=!0)},o($){I(m),h=!1},d($){$&&(v(e),v(r),v(a)),S[d].d(),_=!1,g()}}}function qA(n){let e,t,i,l,s,o;e=new bi({}),i=new gn({props:{$$slots:{default:[RA]},$$scope:{ctx:n}}});let r={};return s=new kA({props:r}),n[31](s),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),V(s.$$.fragment)},m(a,u){H(e,a,u),w(a,t,u),H(i,a,u),w(a,l,u),H(s,a,u),o=!0},p(a,u){const f={};u[0]&127|u[1]&16&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};s.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(s.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),I(s.$$.fragment,a),o=!1},d(a){a&&(v(t),v(l)),z(e,a),z(i,a),n[31](null),z(s,a)}}}function jA(n,e,t){let i,l,s;We(n,Dt,x=>t(6,s=x));const o=[{label:"Auto (StartTLS)",value:!1},{label:"Always",value:!0}],r=[{label:"PLAIN (default)",value:"PLAIN"},{label:"LOGIN",value:"LOGIN"}];tn(Dt,s="Mail settings",s);let a,u={},f={},c=!1,d=!1,m=!1;h();async function h(){t(2,c=!0);try{const x=await fe.settings.getAll()||{};g(x)}catch(x){fe.error(x)}t(2,c=!1)}async function _(){if(!(d||!l)){t(3,d=!0);try{const x=await fe.settings.update(j.filterRedactedProps(f));g(x),Gt({}),It("Successfully saved mail settings.")}catch(x){fe.error(x)}t(3,d=!1)}}function g(x={}){t(0,f={meta:(x==null?void 0:x.meta)||{},smtp:(x==null?void 0:x.smtp)||{}}),f.smtp.authMethod||t(0,f.smtp.authMethod=r[0].value,f),t(11,u=JSON.parse(JSON.stringify(f)))}function k(){t(0,f=JSON.parse(JSON.stringify(u||{})))}function S(){f.meta.senderName=this.value,t(0,f)}function T(){f.meta.senderAddress=this.value,t(0,f)}function $(x){n.$$.not_equal(f.meta.verificationTemplate,x)&&(f.meta.verificationTemplate=x,t(0,f))}function C(x){n.$$.not_equal(f.meta.resetPasswordTemplate,x)&&(f.meta.resetPasswordTemplate=x,t(0,f))}function D(x){n.$$.not_equal(f.meta.confirmEmailChangeTemplate,x)&&(f.meta.confirmEmailChangeTemplate=x,t(0,f))}function O(){f.smtp.enabled=this.checked,t(0,f)}function E(){f.smtp.host=this.value,t(0,f)}function L(){f.smtp.port=st(this.value),t(0,f)}function F(){f.smtp.username=this.value,t(0,f)}function P(x){n.$$.not_equal(f.smtp.password,x)&&(f.smtp.password=x,t(0,f))}const N=()=>{t(4,m=!m)};function R(x){n.$$.not_equal(f.smtp.tls,x)&&(f.smtp.tls=x,t(0,f))}function q(x){n.$$.not_equal(f.smtp.authMethod,x)&&(f.smtp.authMethod=x,t(0,f))}function W(){f.smtp.localName=this.value,t(0,f)}const J=()=>k(),G=()=>_(),B=()=>a==null?void 0:a.show(),U=()=>_();function ae(x){te[x?"unshift":"push"](()=>{a=x,t(1,a)})}return n.$$.update=()=>{n.$$.dirty[0]&2048&&t(12,i=JSON.stringify(u)),n.$$.dirty[0]&4097&&t(5,l=i!=JSON.stringify(f))},[f,a,c,d,m,l,s,o,r,_,k,u,i,S,T,$,C,D,O,E,L,F,P,N,R,q,W,J,G,B,U,ae]}class HA extends ge{constructor(e){super(),_e(this,e,jA,qA,he,{},null,[-1,-1])}}const zA=n=>({isTesting:n&4,testError:n&2,enabled:n&1}),s_=n=>({isTesting:n[2],testError:n[1],enabled:n[0].enabled});function VA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y(n[4]),p(e,"type","checkbox"),p(e,"id",t=n[20]),e.required=!0,p(l,"for",o=n[20])},m(u,f){w(u,e,f),e.checked=n[0].enabled,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[8]),r=!0)},p(u,f){f&1048576&&t!==(t=u[20])&&p(e,"id",t),f&1&&(e.checked=u[0].enabled),f&16&&le(s,u[4]),f&1048576&&o!==(o=u[20])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function o_(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D;return i=new me({props:{class:"form-field required",name:n[3]+".endpoint",$$slots:{default:[BA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:n[3]+".bucket",$$slots:{default:[UA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field required",name:n[3]+".region",$$slots:{default:[WA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),d=new me({props:{class:"form-field required",name:n[3]+".accessKey",$$slots:{default:[YA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),_=new me({props:{class:"form-field required",name:n[3]+".secret",$$slots:{default:[KA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),S=new me({props:{class:"form-field",name:n[3]+".forcePathStyle",$$slots:{default:[JA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),f=M(),c=b("div"),V(d.$$.fragment),m=M(),h=b("div"),V(_.$$.fragment),g=M(),k=b("div"),V(S.$$.fragment),T=M(),$=b("div"),p(t,"class","col-lg-6"),p(s,"class","col-lg-3"),p(a,"class","col-lg-3"),p(c,"class","col-lg-6"),p(h,"class","col-lg-6"),p(k,"class","col-lg-12"),p($,"class","col-lg-12"),p(e,"class","grid")},m(O,E){w(O,e,E),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),H(u,a,null),y(e,f),y(e,c),H(d,c,null),y(e,m),y(e,h),H(_,h,null),y(e,g),y(e,k),H(S,k,null),y(e,T),y(e,$),D=!0},p(O,E){const L={};E&8&&(L.name=O[3]+".endpoint"),E&1081345&&(L.$$scope={dirty:E,ctx:O}),i.$set(L);const F={};E&8&&(F.name=O[3]+".bucket"),E&1081345&&(F.$$scope={dirty:E,ctx:O}),o.$set(F);const P={};E&8&&(P.name=O[3]+".region"),E&1081345&&(P.$$scope={dirty:E,ctx:O}),u.$set(P);const N={};E&8&&(N.name=O[3]+".accessKey"),E&1081345&&(N.$$scope={dirty:E,ctx:O}),d.$set(N);const R={};E&8&&(R.name=O[3]+".secret"),E&1081345&&(R.$$scope={dirty:E,ctx:O}),_.$set(R);const q={};E&8&&(q.name=O[3]+".forcePathStyle"),E&1081345&&(q.$$scope={dirty:E,ctx:O}),S.$set(q)},i(O){D||(A(i.$$.fragment,O),A(o.$$.fragment,O),A(u.$$.fragment,O),A(d.$$.fragment,O),A(_.$$.fragment,O),A(S.$$.fragment,O),O&&Ke(()=>{D&&(C||(C=Pe(e,et,{duration:150},!0)),C.run(1))}),D=!0)},o(O){I(i.$$.fragment,O),I(o.$$.fragment,O),I(u.$$.fragment,O),I(d.$$.fragment,O),I(_.$$.fragment,O),I(S.$$.fragment,O),O&&(C||(C=Pe(e,et,{duration:150},!1)),C.run(0)),D=!1},d(O){O&&v(e),z(i),z(o),z(u),z(d),z(_),z(S),O&&C&&C.end()}}}function BA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Endpoint"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].endpoint),r||(a=K(s,"input",n[9]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].endpoint&&ue(s,u[0].endpoint)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function UA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Bucket"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].bucket),r||(a=K(s,"input",n[10]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].bucket&&ue(s,u[0].bucket)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function WA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Region"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].region),r||(a=K(s,"input",n[11]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].region&&ue(s,u[0].region)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function YA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Access key"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].accessKey),r||(a=K(s,"input",n[12]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].accessKey&&ue(s,u[0].accessKey)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function KA(n){let e,t,i,l,s,o,r;function a(f){n[13](f)}let u={id:n[20],required:!0};return n[0].secret!==void 0&&(u.value=n[0].secret),s=new tu({props:u}),te.push(()=>be(s,"value",a)),{c(){e=b("label"),t=Y("Secret"),l=M(),V(s.$$.fragment),p(e,"for",i=n[20])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c&1048576&&i!==(i=f[20]))&&p(e,"for",i);const d={};c&1048576&&(d.id=f[20]),!o&&c&1&&(o=!0,d.value=f[0].secret,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function JA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Force path-style addressing",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[20]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[20])},m(c,d){w(c,e,d),e.checked=n[0].forcePathStyle,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[14]),ve(Le.call(null,r,{text:'Forces the request to use path-style addressing, eg. "https://s3.amazonaws.com/BUCKET/KEY" instead of the default "https://BUCKET.s3.amazonaws.com/KEY".',position:"top"}))],u=!0)},p(c,d){d&1048576&&t!==(t=c[20])&&p(e,"id",t),d&1&&(e.checked=c[0].forcePathStyle),d&1048576&&a!==(a=c[20])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function ZA(n){let e,t,i,l,s;e=new me({props:{class:"form-field form-field-toggle",$$slots:{default:[VA,({uniqueId:u})=>({20:u}),({uniqueId:u})=>u?1048576:0]},$$scope:{ctx:n}}});const o=n[7].default,r=kt(o,n,n[15],s_);let a=n[0].enabled&&o_(n);return{c(){V(e.$$.fragment),t=M(),r&&r.c(),i=M(),a&&a.c(),l=ke()},m(u,f){H(e,u,f),w(u,t,f),r&&r.m(u,f),w(u,i,f),a&&a.m(u,f),w(u,l,f),s=!0},p(u,[f]){const c={};f&1081361&&(c.$$scope={dirty:f,ctx:u}),e.$set(c),r&&r.p&&(!s||f&32775)&&wt(r,o,u,u[15],s?vt(o,u[15],f,zA):St(u[15]),s_),u[0].enabled?a?(a.p(u,f),f&1&&A(a,1)):(a=o_(u),a.c(),A(a,1),a.m(l.parentNode,l)):a&&(oe(),I(a,1,1,()=>{a=null}),re())},i(u){s||(A(e.$$.fragment,u),A(r,u),A(a),s=!0)},o(u){I(e.$$.fragment,u),I(r,u),I(a),s=!1},d(u){u&&(v(t),v(i),v(l)),z(e,u),r&&r.d(u),a&&a.d(u)}}}const qr="s3_test_request";function GA(n,e,t){let{$$slots:i={},$$scope:l}=e,{originalConfig:s={}}=e,{config:o={}}=e,{configKey:r="s3"}=e,{toggleLabel:a="Enable S3"}=e,{testFilesystem:u="storage"}=e,{testError:f=null}=e,{isTesting:c=!1}=e,d=null,m=null;function h(O){t(2,c=!0),clearTimeout(m),m=setTimeout(()=>{_()},O)}async function _(){if(t(1,f=null),!o.enabled)return t(2,c=!1),f;fe.cancelRequest(qr),clearTimeout(d),d=setTimeout(()=>{fe.cancelRequest(qr),t(1,f=new Error("S3 test connection timeout.")),t(2,c=!1)},3e4),t(2,c=!0);let O;try{await fe.settings.testS3(u,{$cancelKey:qr})}catch(E){O=E}return O!=null&&O.isAbort||(t(1,f=O),t(2,c=!1),clearTimeout(d)),f}Vt(()=>()=>{clearTimeout(d),clearTimeout(m)});function g(){o.enabled=this.checked,t(0,o)}function k(){o.endpoint=this.value,t(0,o)}function S(){o.bucket=this.value,t(0,o)}function T(){o.region=this.value,t(0,o)}function $(){o.accessKey=this.value,t(0,o)}function C(O){n.$$.not_equal(o.secret,O)&&(o.secret=O,t(0,o))}function D(){o.forcePathStyle=this.checked,t(0,o)}return n.$$set=O=>{"originalConfig"in O&&t(5,s=O.originalConfig),"config"in O&&t(0,o=O.config),"configKey"in O&&t(3,r=O.configKey),"toggleLabel"in O&&t(4,a=O.toggleLabel),"testFilesystem"in O&&t(6,u=O.testFilesystem),"testError"in O&&t(1,f=O.testError),"isTesting"in O&&t(2,c=O.isTesting),"$$scope"in O&&t(15,l=O.$$scope)},n.$$.update=()=>{n.$$.dirty&32&&s!=null&&s.enabled&&h(100),n.$$.dirty&9&&(o.enabled||ii(r))},[o,f,c,r,a,s,u,i,g,k,S,T,$,C,D,l]}class zb extends ge{constructor(e){super(),_e(this,e,GA,ZA,he,{originalConfig:5,config:0,configKey:3,toggleLabel:4,testFilesystem:6,testError:1,isTesting:2})}}function XA(n){var O;let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g;function k(E){n[11](E)}function S(E){n[12](E)}function T(E){n[13](E)}let $={toggleLabel:"Use S3 storage",originalConfig:n[0].s3,$$slots:{default:[xA]},$$scope:{ctx:n}};n[1].s3!==void 0&&($.config=n[1].s3),n[4]!==void 0&&($.isTesting=n[4]),n[5]!==void 0&&($.testError=n[5]),e=new zb({props:$}),te.push(()=>be(e,"config",k)),te.push(()=>be(e,"isTesting",S)),te.push(()=>be(e,"testError",T));let C=((O=n[1].s3)==null?void 0:O.enabled)&&!n[6]&&!n[3]&&a_(n),D=n[6]&&u_(n);return{c(){V(e.$$.fragment),s=M(),o=b("div"),r=b("div"),a=M(),C&&C.c(),u=M(),D&&D.c(),f=M(),c=b("button"),d=b("span"),d.textContent="Save changes",p(r,"class","flex-fill"),p(d,"class","txt"),p(c,"type","submit"),p(c,"class","btn btn-expanded"),c.disabled=m=!n[6]||n[3],ee(c,"btn-loading",n[3]),p(o,"class","flex")},m(E,L){H(e,E,L),w(E,s,L),w(E,o,L),y(o,r),y(o,a),C&&C.m(o,null),y(o,u),D&&D.m(o,null),y(o,f),y(o,c),y(c,d),h=!0,_||(g=K(c,"click",n[15]),_=!0)},p(E,L){var P;const F={};L&1&&(F.originalConfig=E[0].s3),L&524291&&(F.$$scope={dirty:L,ctx:E}),!t&&L&2&&(t=!0,F.config=E[1].s3,ye(()=>t=!1)),!i&&L&16&&(i=!0,F.isTesting=E[4],ye(()=>i=!1)),!l&&L&32&&(l=!0,F.testError=E[5],ye(()=>l=!1)),e.$set(F),(P=E[1].s3)!=null&&P.enabled&&!E[6]&&!E[3]?C?C.p(E,L):(C=a_(E),C.c(),C.m(o,u)):C&&(C.d(1),C=null),E[6]?D?D.p(E,L):(D=u_(E),D.c(),D.m(o,f)):D&&(D.d(1),D=null),(!h||L&72&&m!==(m=!E[6]||E[3]))&&(c.disabled=m),(!h||L&8)&&ee(c,"btn-loading",E[3])},i(E){h||(A(e.$$.fragment,E),h=!0)},o(E){I(e.$$.fragment,E),h=!1},d(E){E&&(v(s),v(o)),z(e,E),C&&C.d(),D&&D.d(),_=!1,g()}}}function QA(n){let e;return{c(){e=b("div"),p(e,"class","loader")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function r_(n){var L;let e,t,i,l,s,o,r,a=(L=n[0].s3)!=null&&L.enabled?"S3 storage":"local file system",u,f,c,d=n[1].s3.enabled?"S3 storage":"local file system",m,h,_,g,k,S,T,$,C,D,O,E;return{c(){e=b("div"),t=b("div"),i=b("div"),i.innerHTML='',l=M(),s=b("div"),o=Y(`If you have existing uploaded files, you'll have to migrate them manually + `),g=b("button"),g.textContent="{ACTION_URL} ",k=Y("."),p(e,"for",i=n[31]),p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(h,"type","button"),p(h,"class","label label-sm link-primary txt-mono"),p(g,"type","button"),p(g,"class","label label-sm link-primary txt-mono"),p(g,"title","Required parameter"),p(a,"class","help-block")},m(E,L){w(E,e,L),y(e,t),w(E,l,L),D[s].m(E,L),w(E,r,L),w(E,a,L),y(a,u),y(a,f),y(a,c),y(a,d),y(a,m),y(a,h),y(a,_),y(a,g),y(a,k),S=!0,T||($=[K(f,"click",n[22]),K(d,"click",n[23]),K(h,"click",n[24]),K(g,"click",n[25])],T=!0)},p(E,L){(!S||L[1]&1&&i!==(i=E[31]))&&p(e,"for",i);let F=s;s=O(E),s===F?D[s].p(E,L):(oe(),I(D[F],1,1,()=>{D[F]=null}),re(),o=D[s],o?o.p(E,L):(o=D[s]=C[s](E),o.c()),A(o,1),o.m(r.parentNode,r))},i(E){S||(A(o),S=!0)},o(E){I(o),S=!1},d(E){E&&(v(e),v(l),v(r),v(a)),D[s].d(E),T=!1,we($)}}}function uA(n){let e,t,i,l,s,o;return e=new me({props:{class:"form-field required",name:n[1]+".subject",$$slots:{default:[lA,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),i=new me({props:{class:"form-field required",name:n[1]+".actionUrl",$$slots:{default:[sA,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),s=new me({props:{class:"form-field m-0 required",name:n[1]+".body",$$slots:{default:[aA,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),V(s.$$.fragment)},m(r,a){H(e,r,a),w(r,t,a),H(i,r,a),w(r,l,a),H(s,r,a),o=!0},p(r,a){const u={};a[0]&2&&(u.name=r[1]+".subject"),a[0]&1|a[1]&3&&(u.$$scope={dirty:a,ctx:r}),e.$set(u);const f={};a[0]&2&&(f.name=r[1]+".actionUrl"),a[0]&1|a[1]&3&&(f.$$scope={dirty:a,ctx:r}),i.$set(f);const c={};a[0]&2&&(c.name=r[1]+".body"),a[0]&49|a[1]&3&&(c.$$scope={dirty:a,ctx:r}),s.$set(c)},i(r){o||(A(e.$$.fragment,r),A(i.$$.fragment,r),A(s.$$.fragment,r),o=!0)},o(r){I(e.$$.fragment,r),I(i.$$.fragment,r),I(s.$$.fragment,r),o=!1},d(r){r&&(v(t),v(l)),z(e,r),z(i,r),z(s,r)}}}function Qh(n){let e,t,i,l,s;return{c(){e=b("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){w(o,e,r),i=!0,l||(s=ve(Le.call(null,e,{text:"Has errors",position:"left"})),l=!0)},i(o){i||(o&&Ke(()=>{i&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!0)),t.run(1))}),i=!0)},o(o){o&&(t||(t=Pe(e,Yt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&v(e),o&&t&&t.end(),l=!1,s()}}}function fA(n){let e,t,i,l,s,o,r,a,u,f=n[6]&&Qh();return{c(){e=b("div"),t=b("i"),i=M(),l=b("span"),s=Y(n[2]),o=M(),r=b("div"),a=M(),f&&f.c(),u=ke(),p(t,"class","ri-draft-line"),p(l,"class","txt"),p(e,"class","inline-flex"),p(r,"class","flex-fill")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),y(l,s),w(c,o,d),w(c,r,d),w(c,a,d),f&&f.m(c,d),w(c,u,d)},p(c,d){d[0]&4&&le(s,c[2]),c[6]?f?d[0]&64&&A(f,1):(f=Qh(),f.c(),A(f,1),f.m(u.parentNode,u)):f&&(oe(),I(f,1,1,()=>{f=null}),re())},d(c){c&&(v(e),v(o),v(r),v(a),v(u)),f&&f.d(c)}}}function cA(n){let e,t;const i=[n[8]];let l={$$slots:{header:[fA],default:[uA]},$$scope:{ctx:n}};for(let s=0;st(12,o=U));let{key:r}=e,{title:a}=e,{config:u={}}=e,f,c=xh,d=!1;function m(){f==null||f.expand()}function h(){f==null||f.collapse()}function _(){f==null||f.collapseSiblings()}async function g(){c||d||(t(5,d=!0),t(4,c=(await rt(()=>import("./CodeEditor-3bce9f95.js"),["./CodeEditor-3bce9f95.js","./index-9ee652b3.js"],import.meta.url)).default),xh=c,t(5,d=!1))}function k(U){j.copyToClipboard(U),$o(`Copied ${U} to clipboard`,2e3)}g();function S(){u.subject=this.value,t(0,u)}const T=()=>k("{APP_NAME}"),$=()=>k("{APP_URL}");function C(){u.actionUrl=this.value,t(0,u)}const D=()=>k("{APP_NAME}"),O=()=>k("{APP_URL}"),E=()=>k("{TOKEN}");function L(U){n.$$.not_equal(u.body,U)&&(u.body=U,t(0,u))}function F(){u.body=this.value,t(0,u)}const P=()=>k("{APP_NAME}"),N=()=>k("{APP_URL}"),R=()=>k("{TOKEN}"),q=()=>k("{ACTION_URL}");function W(U){te[U?"unshift":"push"](()=>{f=U,t(3,f)})}function J(U){Ae.call(this,n,U)}function G(U){Ae.call(this,n,U)}function B(U){Ae.call(this,n,U)}return n.$$set=U=>{e=Ne(Ne({},e),Kt(U)),t(8,s=Ge(e,l)),"key"in U&&t(1,r=U.key),"title"in U&&t(2,a=U.title),"config"in U&&t(0,u=U.config)},n.$$.update=()=>{n.$$.dirty[0]&4098&&t(6,i=!j.isEmpty(j.getNestedVal(o,r))),n.$$.dirty[0]&3&&(u.enabled||ii(r))},[u,r,a,f,c,d,i,k,s,m,h,_,o,S,T,$,C,D,O,E,L,F,P,N,R,q,W,J,G,B]}class Fr extends ge{constructor(e){super(),_e(this,e,dA,cA,he,{key:1,title:2,config:0,expand:9,collapse:10,collapseSiblings:11},null,[-1,-1])}get expand(){return this.$$.ctx[9]}get collapse(){return this.$$.ctx[10]}get collapseSiblings(){return this.$$.ctx[11]}}function e_(n,e,t){const i=n.slice();return i[21]=e[t],i}function t_(n,e){let t,i,l,s,o,r=e[21].label+"",a,u,f,c,d,m;return c=r0(e[11][0]),{key:n,first:null,c(){t=b("div"),i=b("input"),s=M(),o=b("label"),a=Y(r),f=M(),p(i,"type","radio"),p(i,"name","template"),p(i,"id",l=e[20]+e[21].value),i.__value=e[21].value,ue(i,i.__value),p(o,"for",u=e[20]+e[21].value),p(t,"class","form-field-block"),c.p(i),this.first=t},m(h,_){w(h,t,_),y(t,i),i.checked=i.__value===e[2],y(t,s),y(t,o),y(o,a),y(t,f),d||(m=K(i,"change",e[10]),d=!0)},p(h,_){e=h,_&1048576&&l!==(l=e[20]+e[21].value)&&p(i,"id",l),_&4&&(i.checked=i.__value===e[2]),_&1048576&&u!==(u=e[20]+e[21].value)&&p(o,"for",u)},d(h){h&&v(t),c.r(),d=!1,m()}}}function pA(n){let e=[],t=new Map,i,l=pe(n[7]);const s=o=>o[21].value;for(let o=0;o({20:a}),({uniqueId:a})=>a?1048576:0]},$$scope:{ctx:n}}}),l=new me({props:{class:"form-field required m-0",name:"email",$$slots:{default:[mA,({uniqueId:a})=>({20:a}),({uniqueId:a})=>a?1048576:0]},$$scope:{ctx:n}}}),{c(){e=b("form"),V(t.$$.fragment),i=M(),V(l.$$.fragment),p(e,"id",n[6]),p(e,"autocomplete","off")},m(a,u){w(a,e,u),H(t,e,null),y(e,i),H(l,e,null),s=!0,o||(r=K(e,"submit",Ye(n[13])),o=!0)},p(a,u){const f={};u&17825796&&(f.$$scope={dirty:u,ctx:a}),t.$set(f);const c={};u&17825794&&(c.$$scope={dirty:u,ctx:a}),l.$set(c)},i(a){s||(A(t.$$.fragment,a),A(l.$$.fragment,a),s=!0)},o(a){I(t.$$.fragment,a),I(l.$$.fragment,a),s=!1},d(a){a&&v(e),z(t),z(l),o=!1,r()}}}function _A(n){let e;return{c(){e=b("h4"),e.textContent="Send test email",p(e,"class","center txt-break")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function gA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("button"),t=Y("Close"),i=M(),l=b("button"),s=b("i"),o=M(),r=b("span"),r.textContent="Send",p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[4],p(s,"class","ri-mail-send-line"),p(r,"class","txt"),p(l,"type","submit"),p(l,"form",n[6]),p(l,"class","btn btn-expanded"),l.disabled=a=!n[5]||n[4],ee(l,"btn-loading",n[4])},m(c,d){w(c,e,d),y(e,t),w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=K(e,"click",n[0]),u=!0)},p(c,d){d&16&&(e.disabled=c[4]),d&48&&a!==(a=!c[5]||c[4])&&(l.disabled=a),d&16&&ee(l,"btn-loading",c[4])},d(c){c&&(v(e),v(i),v(l)),u=!1,f()}}}function bA(n){let e,t,i={class:"overlay-panel-sm email-test-popup",overlayClose:!n[4],escClose:!n[4],beforeHide:n[14],popup:!0,$$slots:{footer:[gA],header:[_A],default:[hA]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[15](e),e.$on("show",n[16]),e.$on("hide",n[17]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&16&&(o.overlayClose=!l[4]),s&16&&(o.escClose=!l[4]),s&16&&(o.beforeHide=l[14]),s&16777270&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[15](null),z(e,l)}}}const Rr="last_email_test",n_="email_test_request";function yA(n,e,t){let i;const l=ot(),s="email_test_"+j.randomString(5),o=[{label:'"Verification" template',value:"verification"},{label:'"Password reset" template',value:"password-reset"},{label:'"Confirm email change" template',value:"email-change"}];let r,a=localStorage.getItem(Rr),u=o[0].value,f=!1,c=null;function d(O="",E=""){t(1,a=O||localStorage.getItem(Rr)),t(2,u=E||o[0].value),Gt({}),r==null||r.show()}function m(){return clearTimeout(c),r==null?void 0:r.hide()}async function h(){if(!(!i||f)){t(4,f=!0),localStorage==null||localStorage.setItem(Rr,a),clearTimeout(c),c=setTimeout(()=>{fe.cancelRequest(n_),ni("Test email send timeout.")},3e4);try{await fe.settings.testEmail(a,u,{$cancelKey:n_}),It("Successfully sent test email."),l("submit"),t(4,f=!1),await Qt(),m()}catch(O){t(4,f=!1),fe.error(O)}clearTimeout(c)}}const _=[[]];function g(){u=this.__value,t(2,u)}function k(){a=this.value,t(1,a)}const S=()=>h(),T=()=>!f;function $(O){te[O?"unshift":"push"](()=>{r=O,t(3,r)})}function C(O){Ae.call(this,n,O)}function D(O){Ae.call(this,n,O)}return n.$$.update=()=>{n.$$.dirty&6&&t(5,i=!!a&&!!u)},[m,a,u,r,f,i,s,o,h,d,g,_,k,S,T,$,C,D]}class kA extends ge{constructor(e){super(),_e(this,e,yA,bA,he,{show:9,hide:0})}get show(){return this.$$.ctx[9]}get hide(){return this.$$.ctx[0]}}function vA(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D,O,E,L,F;i=new me({props:{class:"form-field required",name:"meta.senderName",$$slots:{default:[SA,({uniqueId:x})=>({34:x}),({uniqueId:x})=>[0,x?8:0]]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"meta.senderAddress",$$slots:{default:[$A,({uniqueId:x})=>({34:x}),({uniqueId:x})=>[0,x?8:0]]},$$scope:{ctx:n}}});function P(x){n[15](x)}let N={single:!0,key:"meta.verificationTemplate",title:'Default "Verification" email template'};n[0].meta.verificationTemplate!==void 0&&(N.config=n[0].meta.verificationTemplate),u=new Fr({props:N}),te.push(()=>be(u,"config",P));function R(x){n[16](x)}let q={single:!0,key:"meta.resetPasswordTemplate",title:'Default "Password reset" email template'};n[0].meta.resetPasswordTemplate!==void 0&&(q.config=n[0].meta.resetPasswordTemplate),d=new Fr({props:q}),te.push(()=>be(d,"config",R));function W(x){n[17](x)}let J={single:!0,key:"meta.confirmEmailChangeTemplate",title:'Default "Confirm email change" email template'};n[0].meta.confirmEmailChangeTemplate!==void 0&&(J.config=n[0].meta.confirmEmailChangeTemplate),_=new Fr({props:J}),te.push(()=>be(_,"config",W)),$=new me({props:{class:"form-field form-field-toggle m-b-sm",$$slots:{default:[TA,({uniqueId:x})=>({34:x}),({uniqueId:x})=>[0,x?8:0]]},$$scope:{ctx:n}}});let G=n[0].smtp.enabled&&i_(n);function B(x,se){return x[5]?FA:NA}let U=B(n),ae=U(n);return{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),c=M(),V(d.$$.fragment),h=M(),V(_.$$.fragment),k=M(),S=b("hr"),T=M(),V($.$$.fragment),C=M(),G&&G.c(),D=M(),O=b("div"),E=b("div"),L=M(),ae.c(),p(t,"class","col-lg-6"),p(s,"class","col-lg-6"),p(e,"class","grid m-b-base"),p(a,"class","accordions"),p(E,"class","flex-fill"),p(O,"class","flex")},m(x,se){w(x,e,se),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),w(x,r,se),w(x,a,se),H(u,a,null),y(a,c),H(d,a,null),y(a,h),H(_,a,null),w(x,k,se),w(x,S,se),w(x,T,se),H($,x,se),w(x,C,se),G&&G.m(x,se),w(x,D,se),w(x,O,se),y(O,E),y(O,L),ae.m(O,null),F=!0},p(x,se){const De={};se[0]&1|se[1]&24&&(De.$$scope={dirty:se,ctx:x}),i.$set(De);const je={};se[0]&1|se[1]&24&&(je.$$scope={dirty:se,ctx:x}),o.$set(je);const Ve={};!f&&se[0]&1&&(f=!0,Ve.config=x[0].meta.verificationTemplate,ye(()=>f=!1)),u.$set(Ve);const Ze={};!m&&se[0]&1&&(m=!0,Ze.config=x[0].meta.resetPasswordTemplate,ye(()=>m=!1)),d.$set(Ze);const tt={};!g&&se[0]&1&&(g=!0,tt.config=x[0].meta.confirmEmailChangeTemplate,ye(()=>g=!1)),_.$set(tt);const Xe={};se[0]&1|se[1]&24&&(Xe.$$scope={dirty:se,ctx:x}),$.$set(Xe),x[0].smtp.enabled?G?(G.p(x,se),se[0]&1&&A(G,1)):(G=i_(x),G.c(),A(G,1),G.m(D.parentNode,D)):G&&(oe(),I(G,1,1,()=>{G=null}),re()),U===(U=B(x))&&ae?ae.p(x,se):(ae.d(1),ae=U(x),ae&&(ae.c(),ae.m(O,null)))},i(x){F||(A(i.$$.fragment,x),A(o.$$.fragment,x),A(u.$$.fragment,x),A(d.$$.fragment,x),A(_.$$.fragment,x),A($.$$.fragment,x),A(G),F=!0)},o(x){I(i.$$.fragment,x),I(o.$$.fragment,x),I(u.$$.fragment,x),I(d.$$.fragment,x),I(_.$$.fragment,x),I($.$$.fragment,x),I(G),F=!1},d(x){x&&(v(e),v(r),v(a),v(k),v(S),v(T),v(C),v(D),v(O)),z(i),z(o),z(u),z(d),z(_),z($,x),G&&G.d(x),ae.d()}}}function wA(n){let e;return{c(){e=b("div"),p(e,"class","loader")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function SA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Sender name"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","text"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].meta.senderName),r||(a=K(s,"input",n[13]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].meta.senderName&&ue(s,u[0].meta.senderName)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function $A(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Sender address"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","email"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].meta.senderAddress),r||(a=K(s,"input",n[14]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].meta.senderAddress&&ue(s,u[0].meta.senderAddress)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function TA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.innerHTML="Use SMTP mail server (recommended)",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[34]),e.required=!0,p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[34])},m(c,d){w(c,e,d),e.checked=n[0].smtp.enabled,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[18]),ve(Le.call(null,r,{text:'By default PocketBase uses the unix "sendmail" command for sending emails. For better emails deliverability it is recommended to use a SMTP mail server.',position:"top"}))],u=!0)},p(c,d){d[1]&8&&t!==(t=c[34])&&p(e,"id",t),d[0]&1&&(e.checked=c[0].smtp.enabled),d[1]&8&&a!==(a=c[34])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function i_(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$;l=new me({props:{class:"form-field required",name:"smtp.host",$$slots:{default:[CA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field required",name:"smtp.port",$$slots:{default:[MA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}}),f=new me({props:{class:"form-field",name:"smtp.username",$$slots:{default:[OA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}}),m=new me({props:{class:"form-field",name:"smtp.password",$$slots:{default:[DA,({uniqueId:L})=>({34:L}),({uniqueId:L})=>[0,L?8:0]]},$$scope:{ctx:n}}});function C(L,F){return L[4]?AA:EA}let D=C(n),O=D(n),E=n[4]&&l_(n);return{c(){e=b("div"),t=b("div"),i=b("div"),V(l.$$.fragment),s=M(),o=b("div"),V(r.$$.fragment),a=M(),u=b("div"),V(f.$$.fragment),c=M(),d=b("div"),V(m.$$.fragment),h=M(),_=b("button"),O.c(),g=M(),E&&E.c(),p(i,"class","col-lg-4"),p(o,"class","col-lg-2"),p(u,"class","col-lg-3"),p(d,"class","col-lg-3"),p(t,"class","grid"),p(_,"type","button"),p(_,"class","btn btn-sm btn-secondary m-t-sm m-b-sm")},m(L,F){w(L,e,F),y(e,t),y(t,i),H(l,i,null),y(t,s),y(t,o),H(r,o,null),y(t,a),y(t,u),H(f,u,null),y(t,c),y(t,d),H(m,d,null),y(e,h),y(e,_),O.m(_,null),y(e,g),E&&E.m(e,null),S=!0,T||($=K(_,"click",Ye(n[23])),T=!0)},p(L,F){const P={};F[0]&1|F[1]&24&&(P.$$scope={dirty:F,ctx:L}),l.$set(P);const N={};F[0]&1|F[1]&24&&(N.$$scope={dirty:F,ctx:L}),r.$set(N);const R={};F[0]&1|F[1]&24&&(R.$$scope={dirty:F,ctx:L}),f.$set(R);const q={};F[0]&1|F[1]&24&&(q.$$scope={dirty:F,ctx:L}),m.$set(q),D!==(D=C(L))&&(O.d(1),O=D(L),O&&(O.c(),O.m(_,null))),L[4]?E?(E.p(L,F),F[0]&16&&A(E,1)):(E=l_(L),E.c(),A(E,1),E.m(e,null)):E&&(oe(),I(E,1,1,()=>{E=null}),re())},i(L){S||(A(l.$$.fragment,L),A(r.$$.fragment,L),A(f.$$.fragment,L),A(m.$$.fragment,L),A(E),L&&Ke(()=>{S&&(k||(k=Pe(e,et,{duration:150},!0)),k.run(1))}),S=!0)},o(L){I(l.$$.fragment,L),I(r.$$.fragment,L),I(f.$$.fragment,L),I(m.$$.fragment,L),I(E),L&&(k||(k=Pe(e,et,{duration:150},!1)),k.run(0)),S=!1},d(L){L&&v(e),z(l),z(r),z(f),z(m),O.d(),E&&E.d(),L&&k&&k.end(),T=!1,$()}}}function CA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("SMTP server host"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","text"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].smtp.host),r||(a=K(s,"input",n[19]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].smtp.host&&ue(s,u[0].smtp.host)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function MA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Port"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","number"),p(s,"id",o=n[34]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].smtp.port),r||(a=K(s,"input",n[20]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&st(s.value)!==u[0].smtp.port&&ue(s,u[0].smtp.port)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function OA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Username"),l=M(),s=b("input"),p(e,"for",i=n[34]),p(s,"type","text"),p(s,"id",o=n[34])},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].smtp.username),r||(a=K(s,"input",n[21]),r=!0)},p(u,f){f[1]&8&&i!==(i=u[34])&&p(e,"for",i),f[1]&8&&o!==(o=u[34])&&p(s,"id",o),f[0]&1&&s.value!==u[0].smtp.username&&ue(s,u[0].smtp.username)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function DA(n){let e,t,i,l,s,o,r;function a(f){n[22](f)}let u={id:n[34]};return n[0].smtp.password!==void 0&&(u.value=n[0].smtp.password),s=new tu({props:u}),te.push(()=>be(s,"value",a)),{c(){e=b("label"),t=Y("Password"),l=M(),V(s.$$.fragment),p(e,"for",i=n[34])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c[1]&8&&i!==(i=f[34]))&&p(e,"for",i);const d={};c[1]&8&&(d.id=f[34]),!o&&c[0]&1&&(o=!0,d.value=f[0].smtp.password,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function EA(n){let e,t,i;return{c(){e=b("span"),e.textContent="Show more options",t=M(),i=b("i"),p(e,"class","txt"),p(i,"class","ri-arrow-down-s-line")},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},d(l){l&&(v(e),v(t),v(i))}}}function AA(n){let e,t,i;return{c(){e=b("span"),e.textContent="Hide more options",t=M(),i=b("i"),p(e,"class","txt"),p(i,"class","ri-arrow-up-s-line")},m(l,s){w(l,e,s),w(l,t,s),w(l,i,s)},d(l){l&&(v(e),v(t),v(i))}}}function l_(n){let e,t,i,l,s,o,r,a,u,f,c,d,m;return i=new me({props:{class:"form-field",name:"smtp.tls",$$slots:{default:[IA,({uniqueId:h})=>({34:h}),({uniqueId:h})=>[0,h?8:0]]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"smtp.authMethod",$$slots:{default:[LA,({uniqueId:h})=>({34:h}),({uniqueId:h})=>[0,h?8:0]]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field",name:"smtp.localName",$$slots:{default:[PA,({uniqueId:h})=>({34:h}),({uniqueId:h})=>[0,h?8:0]]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),f=M(),c=b("div"),p(t,"class","col-lg-3"),p(s,"class","col-lg-3"),p(a,"class","col-lg-6"),p(c,"class","col-lg-12"),p(e,"class","grid")},m(h,_){w(h,e,_),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),H(u,a,null),y(e,f),y(e,c),m=!0},p(h,_){const g={};_[0]&1|_[1]&24&&(g.$$scope={dirty:_,ctx:h}),i.$set(g);const k={};_[0]&1|_[1]&24&&(k.$$scope={dirty:_,ctx:h}),o.$set(k);const S={};_[0]&1|_[1]&24&&(S.$$scope={dirty:_,ctx:h}),u.$set(S)},i(h){m||(A(i.$$.fragment,h),A(o.$$.fragment,h),A(u.$$.fragment,h),h&&Ke(()=>{m&&(d||(d=Pe(e,et,{duration:150},!0)),d.run(1))}),m=!0)},o(h){I(i.$$.fragment,h),I(o.$$.fragment,h),I(u.$$.fragment,h),h&&(d||(d=Pe(e,et,{duration:150},!1)),d.run(0)),m=!1},d(h){h&&v(e),z(i),z(o),z(u),h&&d&&d.end()}}}function IA(n){let e,t,i,l,s,o,r;function a(f){n[24](f)}let u={id:n[34],items:n[7]};return n[0].smtp.tls!==void 0&&(u.keyOfSelected=n[0].smtp.tls),s=new gi({props:u}),te.push(()=>be(s,"keyOfSelected",a)),{c(){e=b("label"),t=Y("TLS encryption"),l=M(),V(s.$$.fragment),p(e,"for",i=n[34])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c[1]&8&&i!==(i=f[34]))&&p(e,"for",i);const d={};c[1]&8&&(d.id=f[34]),!o&&c[0]&1&&(o=!0,d.keyOfSelected=f[0].smtp.tls,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function LA(n){let e,t,i,l,s,o,r;function a(f){n[25](f)}let u={id:n[34],items:n[8]};return n[0].smtp.authMethod!==void 0&&(u.keyOfSelected=n[0].smtp.authMethod),s=new gi({props:u}),te.push(()=>be(s,"keyOfSelected",a)),{c(){e=b("label"),t=Y("AUTH method"),l=M(),V(s.$$.fragment),p(e,"for",i=n[34])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c[1]&8&&i!==(i=f[34]))&&p(e,"for",i);const d={};c[1]&8&&(d.id=f[34]),!o&&c[0]&1&&(o=!0,d.keyOfSelected=f[0].smtp.authMethod,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function PA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("label"),t=b("span"),t.textContent="EHLO/HELO domain",i=M(),l=b("i"),o=M(),r=b("input"),p(t,"class","txt"),p(l,"class","ri-information-line link-hint"),p(e,"for",s=n[34]),p(r,"type","text"),p(r,"id",a=n[34]),p(r,"placeholder","Default to localhost")},m(c,d){w(c,e,d),y(e,t),y(e,i),y(e,l),w(c,o,d),w(c,r,d),ue(r,n[0].smtp.localName),u||(f=[ve(Le.call(null,l,{text:"Some SMTP servers, such as the Gmail SMTP-relay, requires a proper domain name in the inital EHLO/HELO exchange and will reject attempts to use localhost.",position:"top"})),K(r,"input",n[26])],u=!0)},p(c,d){d[1]&8&&s!==(s=c[34])&&p(e,"for",s),d[1]&8&&a!==(a=c[34])&&p(r,"id",a),d[0]&1&&r.value!==c[0].smtp.localName&&ue(r,c[0].smtp.localName)},d(c){c&&(v(e),v(o),v(r)),u=!1,we(f)}}}function NA(n){let e,t,i;return{c(){e=b("button"),e.innerHTML=' Send test email',p(e,"type","button"),p(e,"class","btn btn-expanded btn-outline")},m(l,s){w(l,e,s),t||(i=K(e,"click",n[29]),t=!0)},p:Q,d(l){l&&v(e),t=!1,i()}}}function FA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("button"),t=b("span"),t.textContent="Cancel",i=M(),l=b("button"),s=b("span"),s.textContent="Save changes",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint"),e.disabled=n[3],p(s,"class","txt"),p(l,"type","submit"),p(l,"class","btn btn-expanded"),l.disabled=o=!n[5]||n[3],ee(l,"btn-loading",n[3])},m(u,f){w(u,e,f),y(e,t),w(u,i,f),w(u,l,f),y(l,s),r||(a=[K(e,"click",n[27]),K(l,"click",n[28])],r=!0)},p(u,f){f[0]&8&&(e.disabled=u[3]),f[0]&40&&o!==(o=!u[5]||u[3])&&(l.disabled=o),f[0]&8&&ee(l,"btn-loading",u[3])},d(u){u&&(v(e),v(i),v(l)),r=!1,we(a)}}}function RA(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g;const k=[wA,vA],S=[];function T($,C){return $[2]?0:1}return d=T(n),m=S[d]=k[d](n),{c(){e=b("header"),t=b("nav"),i=b("div"),i.textContent="Settings",l=M(),s=b("div"),o=Y(n[6]),r=M(),a=b("div"),u=b("form"),f=b("div"),f.innerHTML="

    Configure common settings for sending emails.

    ",c=M(),m.c(),p(i,"class","breadcrumb-item"),p(s,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(f,"class","content txt-xl m-b-base"),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m($,C){w($,e,C),y(e,t),y(t,i),y(t,l),y(t,s),y(s,o),w($,r,C),w($,a,C),y(a,u),y(u,f),y(u,c),S[d].m(u,null),h=!0,_||(g=K(u,"submit",Ye(n[30])),_=!0)},p($,C){(!h||C[0]&64)&&le(o,$[6]);let D=d;d=T($),d===D?S[d].p($,C):(oe(),I(S[D],1,1,()=>{S[D]=null}),re(),m=S[d],m?m.p($,C):(m=S[d]=k[d]($),m.c()),A(m,1),m.m(u,null))},i($){h||(A(m),h=!0)},o($){I(m),h=!1},d($){$&&(v(e),v(r),v(a)),S[d].d(),_=!1,g()}}}function qA(n){let e,t,i,l,s,o;e=new bi({}),i=new gn({props:{$$slots:{default:[RA]},$$scope:{ctx:n}}});let r={};return s=new kA({props:r}),n[31](s),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment),l=M(),V(s.$$.fragment)},m(a,u){H(e,a,u),w(a,t,u),H(i,a,u),w(a,l,u),H(s,a,u),o=!0},p(a,u){const f={};u[0]&127|u[1]&16&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};s.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(s.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),I(s.$$.fragment,a),o=!1},d(a){a&&(v(t),v(l)),z(e,a),z(i,a),n[31](null),z(s,a)}}}function jA(n,e,t){let i,l,s;We(n,Dt,x=>t(6,s=x));const o=[{label:"Auto (StartTLS)",value:!1},{label:"Always",value:!0}],r=[{label:"PLAIN (default)",value:"PLAIN"},{label:"LOGIN",value:"LOGIN"}];tn(Dt,s="Mail settings",s);let a,u={},f={},c=!1,d=!1,m=!1;h();async function h(){t(2,c=!0);try{const x=await fe.settings.getAll()||{};g(x)}catch(x){fe.error(x)}t(2,c=!1)}async function _(){if(!(d||!l)){t(3,d=!0);try{const x=await fe.settings.update(j.filterRedactedProps(f));g(x),Gt({}),It("Successfully saved mail settings.")}catch(x){fe.error(x)}t(3,d=!1)}}function g(x={}){t(0,f={meta:(x==null?void 0:x.meta)||{},smtp:(x==null?void 0:x.smtp)||{}}),f.smtp.authMethod||t(0,f.smtp.authMethod=r[0].value,f),t(11,u=JSON.parse(JSON.stringify(f)))}function k(){t(0,f=JSON.parse(JSON.stringify(u||{})))}function S(){f.meta.senderName=this.value,t(0,f)}function T(){f.meta.senderAddress=this.value,t(0,f)}function $(x){n.$$.not_equal(f.meta.verificationTemplate,x)&&(f.meta.verificationTemplate=x,t(0,f))}function C(x){n.$$.not_equal(f.meta.resetPasswordTemplate,x)&&(f.meta.resetPasswordTemplate=x,t(0,f))}function D(x){n.$$.not_equal(f.meta.confirmEmailChangeTemplate,x)&&(f.meta.confirmEmailChangeTemplate=x,t(0,f))}function O(){f.smtp.enabled=this.checked,t(0,f)}function E(){f.smtp.host=this.value,t(0,f)}function L(){f.smtp.port=st(this.value),t(0,f)}function F(){f.smtp.username=this.value,t(0,f)}function P(x){n.$$.not_equal(f.smtp.password,x)&&(f.smtp.password=x,t(0,f))}const N=()=>{t(4,m=!m)};function R(x){n.$$.not_equal(f.smtp.tls,x)&&(f.smtp.tls=x,t(0,f))}function q(x){n.$$.not_equal(f.smtp.authMethod,x)&&(f.smtp.authMethod=x,t(0,f))}function W(){f.smtp.localName=this.value,t(0,f)}const J=()=>k(),G=()=>_(),B=()=>a==null?void 0:a.show(),U=()=>_();function ae(x){te[x?"unshift":"push"](()=>{a=x,t(1,a)})}return n.$$.update=()=>{n.$$.dirty[0]&2048&&t(12,i=JSON.stringify(u)),n.$$.dirty[0]&4097&&t(5,l=i!=JSON.stringify(f))},[f,a,c,d,m,l,s,o,r,_,k,u,i,S,T,$,C,D,O,E,L,F,P,N,R,q,W,J,G,B,U,ae]}class HA extends ge{constructor(e){super(),_e(this,e,jA,qA,he,{},null,[-1,-1])}}const zA=n=>({isTesting:n&4,testError:n&2,enabled:n&1}),s_=n=>({isTesting:n[2],testError:n[1],enabled:n[0].enabled});function VA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("input"),i=M(),l=b("label"),s=Y(n[4]),p(e,"type","checkbox"),p(e,"id",t=n[20]),e.required=!0,p(l,"for",o=n[20])},m(u,f){w(u,e,f),e.checked=n[0].enabled,w(u,i,f),w(u,l,f),y(l,s),r||(a=K(e,"change",n[8]),r=!0)},p(u,f){f&1048576&&t!==(t=u[20])&&p(e,"id",t),f&1&&(e.checked=u[0].enabled),f&16&&le(s,u[4]),f&1048576&&o!==(o=u[20])&&p(l,"for",o)},d(u){u&&(v(e),v(i),v(l)),r=!1,a()}}}function o_(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D;return i=new me({props:{class:"form-field required",name:n[3]+".endpoint",$$slots:{default:[BA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:n[3]+".bucket",$$slots:{default:[UA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field required",name:n[3]+".region",$$slots:{default:[WA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),d=new me({props:{class:"form-field required",name:n[3]+".accessKey",$$slots:{default:[YA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),_=new me({props:{class:"form-field required",name:n[3]+".secret",$$slots:{default:[KA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),S=new me({props:{class:"form-field",name:n[3]+".forcePathStyle",$$slots:{default:[JA,({uniqueId:O})=>({20:O}),({uniqueId:O})=>O?1048576:0]},$$scope:{ctx:n}}}),{c(){e=b("div"),t=b("div"),V(i.$$.fragment),l=M(),s=b("div"),V(o.$$.fragment),r=M(),a=b("div"),V(u.$$.fragment),f=M(),c=b("div"),V(d.$$.fragment),m=M(),h=b("div"),V(_.$$.fragment),g=M(),k=b("div"),V(S.$$.fragment),T=M(),$=b("div"),p(t,"class","col-lg-6"),p(s,"class","col-lg-3"),p(a,"class","col-lg-3"),p(c,"class","col-lg-6"),p(h,"class","col-lg-6"),p(k,"class","col-lg-12"),p($,"class","col-lg-12"),p(e,"class","grid")},m(O,E){w(O,e,E),y(e,t),H(i,t,null),y(e,l),y(e,s),H(o,s,null),y(e,r),y(e,a),H(u,a,null),y(e,f),y(e,c),H(d,c,null),y(e,m),y(e,h),H(_,h,null),y(e,g),y(e,k),H(S,k,null),y(e,T),y(e,$),D=!0},p(O,E){const L={};E&8&&(L.name=O[3]+".endpoint"),E&1081345&&(L.$$scope={dirty:E,ctx:O}),i.$set(L);const F={};E&8&&(F.name=O[3]+".bucket"),E&1081345&&(F.$$scope={dirty:E,ctx:O}),o.$set(F);const P={};E&8&&(P.name=O[3]+".region"),E&1081345&&(P.$$scope={dirty:E,ctx:O}),u.$set(P);const N={};E&8&&(N.name=O[3]+".accessKey"),E&1081345&&(N.$$scope={dirty:E,ctx:O}),d.$set(N);const R={};E&8&&(R.name=O[3]+".secret"),E&1081345&&(R.$$scope={dirty:E,ctx:O}),_.$set(R);const q={};E&8&&(q.name=O[3]+".forcePathStyle"),E&1081345&&(q.$$scope={dirty:E,ctx:O}),S.$set(q)},i(O){D||(A(i.$$.fragment,O),A(o.$$.fragment,O),A(u.$$.fragment,O),A(d.$$.fragment,O),A(_.$$.fragment,O),A(S.$$.fragment,O),O&&Ke(()=>{D&&(C||(C=Pe(e,et,{duration:150},!0)),C.run(1))}),D=!0)},o(O){I(i.$$.fragment,O),I(o.$$.fragment,O),I(u.$$.fragment,O),I(d.$$.fragment,O),I(_.$$.fragment,O),I(S.$$.fragment,O),O&&(C||(C=Pe(e,et,{duration:150},!1)),C.run(0)),D=!1},d(O){O&&v(e),z(i),z(o),z(u),z(d),z(_),z(S),O&&C&&C.end()}}}function BA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Endpoint"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].endpoint),r||(a=K(s,"input",n[9]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].endpoint&&ue(s,u[0].endpoint)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function UA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Bucket"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].bucket),r||(a=K(s,"input",n[10]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].bucket&&ue(s,u[0].bucket)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function WA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Region"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].region),r||(a=K(s,"input",n[11]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].region&&ue(s,u[0].region)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function YA(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Access key"),l=M(),s=b("input"),p(e,"for",i=n[20]),p(s,"type","text"),p(s,"id",o=n[20]),s.required=!0},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[0].accessKey),r||(a=K(s,"input",n[12]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(s,"id",o),f&1&&s.value!==u[0].accessKey&&ue(s,u[0].accessKey)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function KA(n){let e,t,i,l,s,o,r;function a(f){n[13](f)}let u={id:n[20],required:!0};return n[0].secret!==void 0&&(u.value=n[0].secret),s=new tu({props:u}),te.push(()=>be(s,"value",a)),{c(){e=b("label"),t=Y("Secret"),l=M(),V(s.$$.fragment),p(e,"for",i=n[20])},m(f,c){w(f,e,c),y(e,t),w(f,l,c),H(s,f,c),r=!0},p(f,c){(!r||c&1048576&&i!==(i=f[20]))&&p(e,"for",i);const d={};c&1048576&&(d.id=f[20]),!o&&c&1&&(o=!0,d.value=f[0].secret,ye(()=>o=!1)),s.$set(d)},i(f){r||(A(s.$$.fragment,f),r=!0)},o(f){I(s.$$.fragment,f),r=!1},d(f){f&&(v(e),v(l)),z(s,f)}}}function JA(n){let e,t,i,l,s,o,r,a,u,f;return{c(){e=b("input"),i=M(),l=b("label"),s=b("span"),s.textContent="Force path-style addressing",o=M(),r=b("i"),p(e,"type","checkbox"),p(e,"id",t=n[20]),p(s,"class","txt"),p(r,"class","ri-information-line link-hint"),p(l,"for",a=n[20])},m(c,d){w(c,e,d),e.checked=n[0].forcePathStyle,w(c,i,d),w(c,l,d),y(l,s),y(l,o),y(l,r),u||(f=[K(e,"change",n[14]),ve(Le.call(null,r,{text:'Forces the request to use path-style addressing, eg. "https://s3.amazonaws.com/BUCKET/KEY" instead of the default "https://BUCKET.s3.amazonaws.com/KEY".',position:"top"}))],u=!0)},p(c,d){d&1048576&&t!==(t=c[20])&&p(e,"id",t),d&1&&(e.checked=c[0].forcePathStyle),d&1048576&&a!==(a=c[20])&&p(l,"for",a)},d(c){c&&(v(e),v(i),v(l)),u=!1,we(f)}}}function ZA(n){let e,t,i,l,s;e=new me({props:{class:"form-field form-field-toggle",$$slots:{default:[VA,({uniqueId:u})=>({20:u}),({uniqueId:u})=>u?1048576:0]},$$scope:{ctx:n}}});const o=n[7].default,r=kt(o,n,n[15],s_);let a=n[0].enabled&&o_(n);return{c(){V(e.$$.fragment),t=M(),r&&r.c(),i=M(),a&&a.c(),l=ke()},m(u,f){H(e,u,f),w(u,t,f),r&&r.m(u,f),w(u,i,f),a&&a.m(u,f),w(u,l,f),s=!0},p(u,[f]){const c={};f&1081361&&(c.$$scope={dirty:f,ctx:u}),e.$set(c),r&&r.p&&(!s||f&32775)&&wt(r,o,u,u[15],s?vt(o,u[15],f,zA):St(u[15]),s_),u[0].enabled?a?(a.p(u,f),f&1&&A(a,1)):(a=o_(u),a.c(),A(a,1),a.m(l.parentNode,l)):a&&(oe(),I(a,1,1,()=>{a=null}),re())},i(u){s||(A(e.$$.fragment,u),A(r,u),A(a),s=!0)},o(u){I(e.$$.fragment,u),I(r,u),I(a),s=!1},d(u){u&&(v(t),v(i),v(l)),z(e,u),r&&r.d(u),a&&a.d(u)}}}const qr="s3_test_request";function GA(n,e,t){let{$$slots:i={},$$scope:l}=e,{originalConfig:s={}}=e,{config:o={}}=e,{configKey:r="s3"}=e,{toggleLabel:a="Enable S3"}=e,{testFilesystem:u="storage"}=e,{testError:f=null}=e,{isTesting:c=!1}=e,d=null,m=null;function h(O){t(2,c=!0),clearTimeout(m),m=setTimeout(()=>{_()},O)}async function _(){if(t(1,f=null),!o.enabled)return t(2,c=!1),f;fe.cancelRequest(qr),clearTimeout(d),d=setTimeout(()=>{fe.cancelRequest(qr),t(1,f=new Error("S3 test connection timeout.")),t(2,c=!1)},3e4),t(2,c=!0);let O;try{await fe.settings.testS3(u,{$cancelKey:qr})}catch(E){O=E}return O!=null&&O.isAbort||(t(1,f=O),t(2,c=!1),clearTimeout(d)),f}Vt(()=>()=>{clearTimeout(d),clearTimeout(m)});function g(){o.enabled=this.checked,t(0,o)}function k(){o.endpoint=this.value,t(0,o)}function S(){o.bucket=this.value,t(0,o)}function T(){o.region=this.value,t(0,o)}function $(){o.accessKey=this.value,t(0,o)}function C(O){n.$$.not_equal(o.secret,O)&&(o.secret=O,t(0,o))}function D(){o.forcePathStyle=this.checked,t(0,o)}return n.$$set=O=>{"originalConfig"in O&&t(5,s=O.originalConfig),"config"in O&&t(0,o=O.config),"configKey"in O&&t(3,r=O.configKey),"toggleLabel"in O&&t(4,a=O.toggleLabel),"testFilesystem"in O&&t(6,u=O.testFilesystem),"testError"in O&&t(1,f=O.testError),"isTesting"in O&&t(2,c=O.isTesting),"$$scope"in O&&t(15,l=O.$$scope)},n.$$.update=()=>{n.$$.dirty&32&&s!=null&&s.enabled&&h(100),n.$$.dirty&9&&(o.enabled||ii(r))},[o,f,c,r,a,s,u,i,g,k,S,T,$,C,D,l]}class zb extends ge{constructor(e){super(),_e(this,e,GA,ZA,he,{originalConfig:5,config:0,configKey:3,toggleLabel:4,testFilesystem:6,testError:1,isTesting:2})}}function XA(n){var O;let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g;function k(E){n[11](E)}function S(E){n[12](E)}function T(E){n[13](E)}let $={toggleLabel:"Use S3 storage",originalConfig:n[0].s3,$$slots:{default:[xA]},$$scope:{ctx:n}};n[1].s3!==void 0&&($.config=n[1].s3),n[4]!==void 0&&($.isTesting=n[4]),n[5]!==void 0&&($.testError=n[5]),e=new zb({props:$}),te.push(()=>be(e,"config",k)),te.push(()=>be(e,"isTesting",S)),te.push(()=>be(e,"testError",T));let C=((O=n[1].s3)==null?void 0:O.enabled)&&!n[6]&&!n[3]&&a_(n),D=n[6]&&u_(n);return{c(){V(e.$$.fragment),s=M(),o=b("div"),r=b("div"),a=M(),C&&C.c(),u=M(),D&&D.c(),f=M(),c=b("button"),d=b("span"),d.textContent="Save changes",p(r,"class","flex-fill"),p(d,"class","txt"),p(c,"type","submit"),p(c,"class","btn btn-expanded"),c.disabled=m=!n[6]||n[3],ee(c,"btn-loading",n[3]),p(o,"class","flex")},m(E,L){H(e,E,L),w(E,s,L),w(E,o,L),y(o,r),y(o,a),C&&C.m(o,null),y(o,u),D&&D.m(o,null),y(o,f),y(o,c),y(c,d),h=!0,_||(g=K(c,"click",n[15]),_=!0)},p(E,L){var P;const F={};L&1&&(F.originalConfig=E[0].s3),L&524291&&(F.$$scope={dirty:L,ctx:E}),!t&&L&2&&(t=!0,F.config=E[1].s3,ye(()=>t=!1)),!i&&L&16&&(i=!0,F.isTesting=E[4],ye(()=>i=!1)),!l&&L&32&&(l=!0,F.testError=E[5],ye(()=>l=!1)),e.$set(F),(P=E[1].s3)!=null&&P.enabled&&!E[6]&&!E[3]?C?C.p(E,L):(C=a_(E),C.c(),C.m(o,u)):C&&(C.d(1),C=null),E[6]?D?D.p(E,L):(D=u_(E),D.c(),D.m(o,f)):D&&(D.d(1),D=null),(!h||L&72&&m!==(m=!E[6]||E[3]))&&(c.disabled=m),(!h||L&8)&&ee(c,"btn-loading",E[3])},i(E){h||(A(e.$$.fragment,E),h=!0)},o(E){I(e.$$.fragment,E),h=!1},d(E){E&&(v(s),v(o)),z(e,E),C&&C.d(),D&&D.d(),_=!1,g()}}}function QA(n){let e;return{c(){e=b("div"),p(e,"class","loader")},m(t,i){w(t,e,i)},p:Q,i:Q,o:Q,d(t){t&&v(e)}}}function r_(n){var L;let e,t,i,l,s,o,r,a=(L=n[0].s3)!=null&&L.enabled?"S3 storage":"local file system",u,f,c,d=n[1].s3.enabled?"S3 storage":"local file system",m,h,_,g,k,S,T,$,C,D,O,E;return{c(){e=b("div"),t=b("div"),i=b("div"),i.innerHTML='',l=M(),s=b("div"),o=Y(`If you have existing uploaded files, you'll have to migrate them manually from the `),r=b("strong"),u=Y(a),f=Y(` to the @@ -159,4 +159,4 @@ Also note that some OAuth2 providers (like Twitter), don't return an email and t @weekly @daily @midnight -@hourly`))],L=!0)},p(P,N){var q,W;(!E||N[1]&1&&i!==(i=P[31]))&&p(e,"for",i),(!E||N[1]&1&&o!==(o=P[31]))&&p(s,"id",o),(!E||N[0]&1&&r!==(r=!((W=(q=P[0])==null?void 0:q.backups)!=null&&W.cron)))&&(s.autofocus=r),N[0]&2&&s.value!==P[1].backups.cron&&ue(s,P[1].backups.cron);const R={};N[0]&2|N[1]&2&&(R.$$scope={dirty:N,ctx:P}),_.$set(R)},i(P){E||(A(_.$$.fragment,P),E=!0)},o(P){I(_.$$.fragment,P),E=!1},d(P){P&&(v(e),v(l),v(s),v(a),v(u),v(g),v(k)),z(_),L=!1,we(F)}}}function PL(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Max @auto backups to keep"),l=M(),s=b("input"),p(e,"for",i=n[31]),p(s,"type","number"),p(s,"id",o=n[31]),p(s,"min","1")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[1].backups.cronMaxKeep),r||(a=K(s,"input",n[23]),r=!0)},p(u,f){f[1]&1&&i!==(i=u[31])&&p(e,"for",i),f[1]&1&&o!==(o=u[31])&&p(s,"id",o),f[0]&2&&st(s.value)!==u[1].backups.cronMaxKeep&&ue(s,u[1].backups.cronMaxKeep)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function hg(n){let e;function t(s,o){return s[7]?RL:s[8]?FL:NL}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,o){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},d(s){s&&v(e),l.d(s)}}}function NL(n){let e;return{c(){e=b("div"),e.innerHTML=' S3 connected successfully',p(e,"class","label label-sm label-success entrance-right")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function FL(n){let e,t,i,l;return{c(){e=b("div"),e.innerHTML=' Failed to establish S3 connection',p(e,"class","label label-sm label-warning entrance-right")},m(s,o){var r;w(s,e,o),i||(l=ve(t=Le.call(null,e,(r=n[8].data)==null?void 0:r.message)),i=!0)},p(s,o){var r;t&&$t(t.update)&&o[0]&256&&t.update.call(null,(r=s[8].data)==null?void 0:r.message)},d(s){s&&v(e),i=!1,l()}}}function RL(n){let e;return{c(){e=b("span"),p(e,"class","loader loader-sm")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function _g(n){let e,t,i,l,s;return{c(){e=b("button"),t=b("span"),t.textContent="Reset",p(t,"class","txt"),p(e,"type","submit"),p(e,"class","btn btn-hint btn-transparent"),e.disabled=i=!n[9]||n[5]},m(o,r){w(o,e,r),y(e,t),l||(s=K(e,"click",n[27]),l=!0)},p(o,r){r[0]&544&&i!==(i=!o[9]||o[5])&&(e.disabled=i)},d(o){o&&v(e),l=!1,s()}}}function qL(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D,O,E,L,F,P;m=new Go({props:{class:"btn-sm",tooltip:"Refresh"}}),m.$on("refresh",n[13]),_=new OL({props:{class:"btn-sm"}}),_.$on("success",n[13]);let N={};k=new TL({props:N}),n[15](k);function R(G,B){return G[6]?EL:DL}let q=R(n),W=q(n),J=n[6]&&!n[4]&&pg(n);return{c(){e=b("header"),t=b("nav"),i=b("div"),i.textContent="Settings",l=M(),s=b("div"),o=Y(n[10]),r=M(),a=b("div"),u=b("div"),f=b("div"),c=b("span"),c.textContent="Backup and restore your PocketBase data",d=M(),V(m.$$.fragment),h=M(),V(_.$$.fragment),g=M(),V(k.$$.fragment),S=M(),T=b("hr"),$=M(),C=b("button"),D=b("span"),D.textContent="Backups options",O=M(),W.c(),E=M(),J&&J.c(),p(i,"class","breadcrumb-item"),p(s,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(c,"class","txt-xl"),p(f,"class","flex m-b-sm flex-gap-10"),p(D,"class","txt"),p(C,"type","button"),p(C,"class","btn btn-secondary"),C.disabled=n[4],ee(C,"btn-loading",n[4]),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m(G,B){w(G,e,B),y(e,t),y(t,i),y(t,l),y(t,s),y(s,o),w(G,r,B),w(G,a,B),y(a,u),y(u,f),y(f,c),y(f,d),H(m,f,null),y(f,h),H(_,f,null),y(u,g),H(k,u,null),y(u,S),y(u,T),y(u,$),y(u,C),y(C,D),y(C,O),W.m(C,null),y(u,E),J&&J.m(u,null),L=!0,F||(P=[K(C,"click",n[16]),K(u,"submit",Ye(n[11]))],F=!0)},p(G,B){(!L||B[0]&1024)&&le(o,G[10]);const U={};k.$set(U),q!==(q=R(G))&&(W.d(1),W=q(G),W&&(W.c(),W.m(C,null))),(!L||B[0]&16)&&(C.disabled=G[4]),(!L||B[0]&16)&&ee(C,"btn-loading",G[4]),G[6]&&!G[4]?J?(J.p(G,B),B[0]&80&&A(J,1)):(J=pg(G),J.c(),A(J,1),J.m(u,null)):J&&(oe(),I(J,1,1,()=>{J=null}),re())},i(G){L||(A(m.$$.fragment,G),A(_.$$.fragment,G),A(k.$$.fragment,G),A(J),L=!0)},o(G){I(m.$$.fragment,G),I(_.$$.fragment,G),I(k.$$.fragment,G),I(J),L=!1},d(G){G&&(v(e),v(r),v(a)),z(m),z(_),n[15](null),z(k),W.d(),J&&J.d(),F=!1,we(P)}}}function jL(n){let e,t,i,l;return e=new bi({}),i=new gn({props:{$$slots:{default:[qL]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment)},m(s,o){H(e,s,o),w(s,t,o),H(i,s,o),l=!0},p(s,o){const r={};o[0]&2047|o[1]&2&&(r.$$scope={dirty:o,ctx:s}),i.$set(r)},i(s){l||(A(e.$$.fragment,s),A(i.$$.fragment,s),l=!0)},o(s){I(e.$$.fragment,s),I(i.$$.fragment,s),l=!1},d(s){s&&v(t),z(e,s),z(i,s)}}}function HL(n,e,t){let i,l;We(n,Dt,B=>t(10,l=B)),tn(Dt,l="Backups",l);let s,o={},r={},a=!1,u=!1,f="",c=!1,d=!1,m=!1,h=null;_();async function _(){t(4,a=!0);try{const B=await fe.settings.getAll()||{};k(B)}catch(B){fe.error(B)}t(4,a=!1)}async function g(){if(!(u||!i)){t(5,u=!0);try{const B=await fe.settings.update(j.filterRedactedProps(r));await T(),k(B),It("Successfully saved application settings.")}catch(B){fe.error(B)}t(5,u=!1)}}function k(B={}){t(1,r={backups:(B==null?void 0:B.backups)||{}}),t(2,c=r.backups.cron!=""),t(0,o=JSON.parse(JSON.stringify(r)))}function S(){t(1,r=JSON.parse(JSON.stringify(o||{backups:{}}))),t(2,c=r.backups.cron!="")}async function T(){return s==null?void 0:s.loadBackups()}function $(B){te[B?"unshift":"push"](()=>{s=B,t(3,s)})}const C=()=>t(6,d=!d);function D(){c=this.checked,t(2,c)}function O(){r.backups.cron=this.value,t(1,r),t(2,c)}const E=()=>{t(1,r.backups.cron="0 0 * * *",r)},L=()=>{t(1,r.backups.cron="0 0 * * 0",r)},F=()=>{t(1,r.backups.cron="0 0 * * 1,3",r)},P=()=>{t(1,r.backups.cron="0 0 1 * *",r)};function N(){r.backups.cronMaxKeep=st(this.value),t(1,r),t(2,c)}function R(B){n.$$.not_equal(r.backups.s3,B)&&(r.backups.s3=B,t(1,r),t(2,c))}function q(B){m=B,t(7,m)}function W(B){h=B,t(8,h)}const J=()=>S(),G=()=>g();return n.$$.update=()=>{var B;n.$$.dirty[0]&1&&t(14,f=JSON.stringify(o)),n.$$.dirty[0]&6&&!c&&(B=r==null?void 0:r.backups)!=null&&B.cron&&(ii("backups.cron"),t(1,r.backups.cron="",r)),n.$$.dirty[0]&16386&&t(9,i=f!=JSON.stringify(r))},[o,r,c,s,a,u,d,m,h,i,l,g,S,T,f,$,C,D,O,E,L,F,P,N,R,q,W,J,G]}class zL extends ge{constructor(e){super(),_e(this,e,HL,jL,he,{},null,[-1,-1])}}const Ht=[async n=>{const e=new URLSearchParams(window.location.search);return n.location!=="/"&&e.has("installer")?nl("/"):!0}],VL={"/login":Ft({component:U8,conditions:Ht.concat([n=>!fe.authStore.isValid]),userData:{showAppSidebar:!1}}),"/request-password-reset":Ft({asyncComponent:()=>rt(()=>import("./PageAdminRequestPasswordReset-c57a989d.js"),[],import.meta.url),conditions:Ht.concat([n=>!fe.authStore.isValid]),userData:{showAppSidebar:!1}}),"/confirm-password-reset/:token":Ft({asyncComponent:()=>rt(()=>import("./PageAdminConfirmPasswordReset-033afe52.js"),[],import.meta.url),conditions:Ht.concat([n=>!fe.authStore.isValid]),userData:{showAppSidebar:!1}}),"/collections":Ft({component:d8,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/logs":Ft({component:f$,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings":Ft({component:x8,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/admins":Ft({component:q8,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/mail":Ft({component:HA,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/storage":Ft({component:rI,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/auth-providers":Ft({component:$I,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/tokens":Ft({component:LI,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/export-collections":Ft({component:jI,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/import-collections":Ft({component:lL,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/backups":Ft({component:zL,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/users/confirm-password-reset/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmPasswordReset-ed5112fb.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/confirm-password-reset/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmPasswordReset-ed5112fb.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/users/confirm-verification/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmVerification-7214c578.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/confirm-verification/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmVerification-7214c578.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/users/confirm-email-change/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmEmailChange-302edc76.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/confirm-email-change/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmEmailChange-302edc76.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/oauth2-redirect":Ft({asyncComponent:()=>rt(()=>import("./PageOAuth2Redirect-0932947d.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"*":Ft({component:kv,userData:{showAppSidebar:!1}})};function BL(n,{from:e,to:t},i={}){const l=getComputedStyle(n),s=l.transform==="none"?"":l.transform,[o,r]=l.transformOrigin.split(" ").map(parseFloat),a=e.left+e.width*o/t.width-(t.left+o),u=e.top+e.height*r/t.height-(t.top+r),{delay:f=0,duration:c=m=>Math.sqrt(m)*120,easing:d=Zo}=i;return{delay:f,duration:$t(c)?c(Math.sqrt(a*a+u*u)):c,easing:d,css:(m,h)=>{const _=h*a,g=h*u,k=m+h*e.width/t.width,S=m+h*e.height/t.height;return`transform: ${s} translate(${_}px, ${g}px) scale(${k}, ${S});`}}}function gg(n,e,t){const i=n.slice();return i[2]=e[t],i}function UL(n){let e;return{c(){e=b("i"),p(e,"class","ri-alert-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function WL(n){let e;return{c(){e=b("i"),p(e,"class","ri-error-warning-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function YL(n){let e;return{c(){e=b("i"),p(e,"class","ri-checkbox-circle-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function KL(n){let e;return{c(){e=b("i"),p(e,"class","ri-information-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function bg(n,e){let t,i,l,s,o=e[2].message+"",r,a,u,f,c,d,m,h=Q,_,g,k;function S(D,O){return D[2].type==="info"?KL:D[2].type==="success"?YL:D[2].type==="warning"?WL:UL}let T=S(e),$=T(e);function C(){return e[1](e[2])}return{key:n,first:null,c(){t=b("div"),i=b("div"),$.c(),l=M(),s=b("div"),r=Y(o),a=M(),u=b("button"),u.innerHTML='',f=M(),p(i,"class","icon"),p(s,"class","content"),p(u,"type","button"),p(u,"class","close"),p(t,"class","alert txt-break"),ee(t,"alert-info",e[2].type=="info"),ee(t,"alert-success",e[2].type=="success"),ee(t,"alert-danger",e[2].type=="error"),ee(t,"alert-warning",e[2].type=="warning"),this.first=t},m(D,O){w(D,t,O),y(t,i),$.m(i,null),y(t,l),y(t,s),y(s,r),y(t,a),y(t,u),y(t,f),_=!0,g||(k=K(u,"click",Ye(C)),g=!0)},p(D,O){e=D,T!==(T=S(e))&&($.d(1),$=T(e),$&&($.c(),$.m(i,null))),(!_||O&1)&&o!==(o=e[2].message+"")&&le(r,o),(!_||O&1)&&ee(t,"alert-info",e[2].type=="info"),(!_||O&1)&&ee(t,"alert-success",e[2].type=="success"),(!_||O&1)&&ee(t,"alert-danger",e[2].type=="error"),(!_||O&1)&&ee(t,"alert-warning",e[2].type=="warning")},r(){m=t.getBoundingClientRect()},f(){m0(t),h(),Mg(t,m)},a(){h(),h=p0(t,m,BL,{duration:150})},i(D){_||(D&&Ke(()=>{_&&(d&&d.end(1),c=Eg(t,et,{duration:150}),c.start())}),_=!0)},o(D){c&&c.invalidate(),D&&(d=_a(t,fs,{duration:150})),_=!1},d(D){D&&v(t),$.d(),D&&d&&d.end(),g=!1,k()}}}function JL(n){let e,t=[],i=new Map,l,s=pe(n[0]);const o=r=>r[2].message;for(let r=0;rt(0,i=s)),[i,s=>q1(s)]}class GL extends ge{constructor(e){super(),_e(this,e,ZL,JL,he,{})}}function XL(n){var l;let e,t=((l=n[1])==null?void 0:l.text)+"",i;return{c(){e=b("h4"),i=Y(t),p(e,"class","block center txt-break"),p(e,"slot","header")},m(s,o){w(s,e,o),y(e,i)},p(s,o){var r;o&2&&t!==(t=((r=s[1])==null?void 0:r.text)+"")&&le(i,t)},d(s){s&&v(e)}}}function QL(n){let e,t,i,l,s,o,r;return{c(){e=b("button"),t=b("span"),t.textContent="No",i=M(),l=b("button"),s=b("span"),s.textContent="Yes",p(t,"class","txt"),e.autofocus=!0,p(e,"type","button"),p(e,"class","btn btn-transparent btn-expanded-sm"),e.disabled=n[2],p(s,"class","txt"),p(l,"type","button"),p(l,"class","btn btn-danger btn-expanded"),l.disabled=n[2],ee(l,"btn-loading",n[2])},m(a,u){w(a,e,u),y(e,t),w(a,i,u),w(a,l,u),y(l,s),e.focus(),o||(r=[K(e,"click",n[4]),K(l,"click",n[5])],o=!0)},p(a,u){u&4&&(e.disabled=a[2]),u&4&&(l.disabled=a[2]),u&4&&ee(l,"btn-loading",a[2])},d(a){a&&(v(e),v(i),v(l)),o=!1,we(r)}}}function xL(n){let e,t,i={class:"confirm-popup hide-content overlay-panel-sm",overlayClose:!n[2],escClose:!n[2],btnClose:!1,popup:!0,$$slots:{footer:[QL],header:[XL]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[6](e),e.$on("hide",n[7]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&4&&(o.overlayClose=!l[2]),s&4&&(o.escClose=!l[2]),s&271&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[6](null),z(e,l)}}}function eP(n,e,t){let i;We(n,Za,c=>t(1,i=c));let l,s=!1,o=!1;const r=()=>{t(3,o=!1),l==null||l.hide()},a=async()=>{i!=null&&i.yesCallback&&(t(2,s=!0),await Promise.resolve(i.yesCallback()),t(2,s=!1)),t(3,o=!0),l==null||l.hide()};function u(c){te[c?"unshift":"push"](()=>{l=c,t(0,l)})}const f=async()=>{!o&&(i!=null&&i.noCallback)&&i.noCallback(),await Qt(),t(3,o=!1),Ib()};return n.$$.update=()=>{n.$$.dirty&3&&i!=null&&i.text&&(t(3,o=!1),l==null||l.show())},[l,i,s,o,r,a,u,f]}class tP extends ge{constructor(e){super(),_e(this,e,eP,xL,he,{})}}function yg(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S;return _=new En({props:{class:"dropdown dropdown-nowrap dropdown-upside dropdown-left",$$slots:{default:[nP]},$$scope:{ctx:n}}}),{c(){var T;e=b("aside"),t=b("a"),t.innerHTML='PocketBase logo',i=M(),l=b("nav"),s=b("a"),s.innerHTML='',o=M(),r=b("a"),r.innerHTML='',a=M(),u=b("a"),u.innerHTML='',f=M(),c=b("figure"),d=b("img"),h=M(),V(_.$$.fragment),p(t,"href","/"),p(t,"class","logo logo-sm"),p(s,"href","/collections"),p(s,"class","menu-item"),p(s,"aria-label","Collections"),p(r,"href","/logs"),p(r,"class","menu-item"),p(r,"aria-label","Logs"),p(u,"href","/settings"),p(u,"class","menu-item"),p(u,"aria-label","Settings"),p(l,"class","main-menu"),nn(d.src,m="./images/avatars/avatar"+(((T=n[0])==null?void 0:T.avatar)||0)+".svg")||p(d,"src",m),p(d,"alt","Avatar"),p(c,"class","thumb thumb-circle link-hint closable"),p(e,"class","app-sidebar")},m(T,$){w(T,e,$),y(e,t),y(e,i),y(e,l),y(l,s),y(l,o),y(l,r),y(l,a),y(l,u),y(e,f),y(e,c),y(c,d),y(c,h),H(_,c,null),g=!0,k||(S=[ve(ln.call(null,t)),ve(ln.call(null,s)),ve(Pn.call(null,s,{path:"/collections/?.*",className:"current-route"})),ve(Le.call(null,s,{text:"Collections",position:"right"})),ve(ln.call(null,r)),ve(Pn.call(null,r,{path:"/logs/?.*",className:"current-route"})),ve(Le.call(null,r,{text:"Logs",position:"right"})),ve(ln.call(null,u)),ve(Pn.call(null,u,{path:"/settings/?.*",className:"current-route"})),ve(Le.call(null,u,{text:"Settings",position:"right"}))],k=!0)},p(T,$){var D;(!g||$&1&&!nn(d.src,m="./images/avatars/avatar"+(((D=T[0])==null?void 0:D.avatar)||0)+".svg"))&&p(d,"src",m);const C={};$&4096&&(C.$$scope={dirty:$,ctx:T}),_.$set(C)},i(T){g||(A(_.$$.fragment,T),g=!0)},o(T){I(_.$$.fragment,T),g=!1},d(T){T&&v(e),z(_),k=!1,we(S)}}}function nP(n){let e,t,i,l,s,o,r;return{c(){e=b("a"),e.innerHTML=' Manage admins',t=M(),i=b("hr"),l=M(),s=b("button"),s.innerHTML=' Logout',p(e,"href","/settings/admins"),p(e,"class","dropdown-item closable"),p(s,"type","button"),p(s,"class","dropdown-item closable")},m(a,u){w(a,e,u),w(a,t,u),w(a,i,u),w(a,l,u),w(a,s,u),o||(r=[ve(ln.call(null,e)),K(s,"click",n[7])],o=!0)},p:Q,d(a){a&&(v(e),v(t),v(i),v(l),v(s)),o=!1,we(r)}}}function kg(n){let e,t,i;return t=new xa({props:{conf:j.defaultEditorOptions()}}),t.$on("init",n[8]),{c(){e=b("div"),V(t.$$.fragment),p(e,"class","tinymce-preloader hidden")},m(l,s){w(l,e,s),H(t,e,null),i=!0},p:Q,i(l){i||(A(t.$$.fragment,l),i=!0)},o(l){I(t.$$.fragment,l),i=!1},d(l){l&&v(e),z(t)}}}function iP(n){var g;let e,t,i,l,s,o,r,a,u,f,c,d,m;document.title=e=j.joinNonEmpty([n[4],n[3],"PocketBase"]," - ");let h=((g=n[0])==null?void 0:g.id)&&n[1]&&yg(n);o=new O0({props:{routes:VL}}),o.$on("routeLoading",n[5]),o.$on("conditionsFailed",n[6]),a=new GL({}),f=new tP({});let _=n[1]&&!n[2]&&kg(n);return{c(){t=M(),i=b("div"),h&&h.c(),l=M(),s=b("div"),V(o.$$.fragment),r=M(),V(a.$$.fragment),u=M(),V(f.$$.fragment),c=M(),_&&_.c(),d=ke(),p(s,"class","app-body"),p(i,"class","app-layout")},m(k,S){w(k,t,S),w(k,i,S),h&&h.m(i,null),y(i,l),y(i,s),H(o,s,null),y(s,r),H(a,s,null),w(k,u,S),H(f,k,S),w(k,c,S),_&&_.m(k,S),w(k,d,S),m=!0},p(k,[S]){var T;(!m||S&24)&&e!==(e=j.joinNonEmpty([k[4],k[3],"PocketBase"]," - "))&&(document.title=e),(T=k[0])!=null&&T.id&&k[1]?h?(h.p(k,S),S&3&&A(h,1)):(h=yg(k),h.c(),A(h,1),h.m(i,l)):h&&(oe(),I(h,1,1,()=>{h=null}),re()),k[1]&&!k[2]?_?(_.p(k,S),S&6&&A(_,1)):(_=kg(k),_.c(),A(_,1),_.m(d.parentNode,d)):_&&(oe(),I(_,1,1,()=>{_=null}),re())},i(k){m||(A(h),A(o.$$.fragment,k),A(a.$$.fragment,k),A(f.$$.fragment,k),A(_),m=!0)},o(k){I(h),I(o.$$.fragment,k),I(a.$$.fragment,k),I(f.$$.fragment,k),I(_),m=!1},d(k){k&&(v(t),v(i),v(u),v(c),v(d)),h&&h.d(),z(o),z(a),z(f,k),_&&_.d(k)}}}function lP(n,e,t){let i,l,s,o;We(n,Sl,_=>t(10,i=_)),We(n,Mo,_=>t(3,l=_)),We(n,Da,_=>t(0,s=_)),We(n,Dt,_=>t(4,o=_));let r,a=!1,u=!1;function f(_){var g,k,S,T;((g=_==null?void 0:_.detail)==null?void 0:g.location)!==r&&(t(1,a=!!((S=(k=_==null?void 0:_.detail)==null?void 0:k.userData)!=null&&S.showAppSidebar)),r=(T=_==null?void 0:_.detail)==null?void 0:T.location,tn(Dt,o="",o),Gt({}),Ib())}function c(){nl("/")}async function d(){var _,g;if(s!=null&&s.id)try{const k=await fe.settings.getAll({$cancelKey:"initialAppSettings"});tn(Mo,l=((_=k==null?void 0:k.meta)==null?void 0:_.appName)||"",l),tn(Sl,i=!!((g=k==null?void 0:k.meta)!=null&&g.hideControls),i)}catch(k){k!=null&&k.isAbort||console.warn("Failed to load app settings.",k)}}function m(){fe.logout()}const h=()=>{t(2,u=!0)};return n.$$.update=()=>{n.$$.dirty&1&&s!=null&&s.id&&d()},[s,a,u,l,o,f,c,m,h]}class sP extends ge{constructor(e){super(),_e(this,e,lP,iP,he,{})}}new sP({target:document.getElementById("app")});export{we as A,It as B,j as C,nl as D,ke as E,H1 as F,Bo as G,ao as H,Vt as I,We as J,zn as K,ot as L,te as M,Ja as N,pe as O,dt as P,Li as Q,Lt as R,ge as S,ut as T,u0 as U,I as a,M as b,V as c,z as d,b as e,p as f,w as g,y as h,_e as i,ve as j,oe as k,ln as l,H as m,re as n,v as o,fe as p,me as q,ee as r,he as s,A as t,K as u,Ye as v,Y as w,le as x,Q as y,ue as z}; +@hourly`))],L=!0)},p(P,N){var q,W;(!E||N[1]&1&&i!==(i=P[31]))&&p(e,"for",i),(!E||N[1]&1&&o!==(o=P[31]))&&p(s,"id",o),(!E||N[0]&1&&r!==(r=!((W=(q=P[0])==null?void 0:q.backups)!=null&&W.cron)))&&(s.autofocus=r),N[0]&2&&s.value!==P[1].backups.cron&&ue(s,P[1].backups.cron);const R={};N[0]&2|N[1]&2&&(R.$$scope={dirty:N,ctx:P}),_.$set(R)},i(P){E||(A(_.$$.fragment,P),E=!0)},o(P){I(_.$$.fragment,P),E=!1},d(P){P&&(v(e),v(l),v(s),v(a),v(u),v(g),v(k)),z(_),L=!1,we(F)}}}function PL(n){let e,t,i,l,s,o,r,a;return{c(){e=b("label"),t=Y("Max @auto backups to keep"),l=M(),s=b("input"),p(e,"for",i=n[31]),p(s,"type","number"),p(s,"id",o=n[31]),p(s,"min","1")},m(u,f){w(u,e,f),y(e,t),w(u,l,f),w(u,s,f),ue(s,n[1].backups.cronMaxKeep),r||(a=K(s,"input",n[23]),r=!0)},p(u,f){f[1]&1&&i!==(i=u[31])&&p(e,"for",i),f[1]&1&&o!==(o=u[31])&&p(s,"id",o),f[0]&2&&st(s.value)!==u[1].backups.cronMaxKeep&&ue(s,u[1].backups.cronMaxKeep)},d(u){u&&(v(e),v(l),v(s)),r=!1,a()}}}function hg(n){let e;function t(s,o){return s[7]?RL:s[8]?FL:NL}let i=t(n),l=i(n);return{c(){l.c(),e=ke()},m(s,o){l.m(s,o),w(s,e,o)},p(s,o){i===(i=t(s))&&l?l.p(s,o):(l.d(1),l=i(s),l&&(l.c(),l.m(e.parentNode,e)))},d(s){s&&v(e),l.d(s)}}}function NL(n){let e;return{c(){e=b("div"),e.innerHTML=' S3 connected successfully',p(e,"class","label label-sm label-success entrance-right")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function FL(n){let e,t,i,l;return{c(){e=b("div"),e.innerHTML=' Failed to establish S3 connection',p(e,"class","label label-sm label-warning entrance-right")},m(s,o){var r;w(s,e,o),i||(l=ve(t=Le.call(null,e,(r=n[8].data)==null?void 0:r.message)),i=!0)},p(s,o){var r;t&&$t(t.update)&&o[0]&256&&t.update.call(null,(r=s[8].data)==null?void 0:r.message)},d(s){s&&v(e),i=!1,l()}}}function RL(n){let e;return{c(){e=b("span"),p(e,"class","loader loader-sm")},m(t,i){w(t,e,i)},p:Q,d(t){t&&v(e)}}}function _g(n){let e,t,i,l,s;return{c(){e=b("button"),t=b("span"),t.textContent="Reset",p(t,"class","txt"),p(e,"type","submit"),p(e,"class","btn btn-hint btn-transparent"),e.disabled=i=!n[9]||n[5]},m(o,r){w(o,e,r),y(e,t),l||(s=K(e,"click",n[27]),l=!0)},p(o,r){r[0]&544&&i!==(i=!o[9]||o[5])&&(e.disabled=i)},d(o){o&&v(e),l=!1,s()}}}function qL(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S,T,$,C,D,O,E,L,F,P;m=new Go({props:{class:"btn-sm",tooltip:"Refresh"}}),m.$on("refresh",n[13]),_=new OL({props:{class:"btn-sm"}}),_.$on("success",n[13]);let N={};k=new TL({props:N}),n[15](k);function R(G,B){return G[6]?EL:DL}let q=R(n),W=q(n),J=n[6]&&!n[4]&&pg(n);return{c(){e=b("header"),t=b("nav"),i=b("div"),i.textContent="Settings",l=M(),s=b("div"),o=Y(n[10]),r=M(),a=b("div"),u=b("div"),f=b("div"),c=b("span"),c.textContent="Backup and restore your PocketBase data",d=M(),V(m.$$.fragment),h=M(),V(_.$$.fragment),g=M(),V(k.$$.fragment),S=M(),T=b("hr"),$=M(),C=b("button"),D=b("span"),D.textContent="Backups options",O=M(),W.c(),E=M(),J&&J.c(),p(i,"class","breadcrumb-item"),p(s,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(c,"class","txt-xl"),p(f,"class","flex m-b-sm flex-gap-10"),p(D,"class","txt"),p(C,"type","button"),p(C,"class","btn btn-secondary"),C.disabled=n[4],ee(C,"btn-loading",n[4]),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m(G,B){w(G,e,B),y(e,t),y(t,i),y(t,l),y(t,s),y(s,o),w(G,r,B),w(G,a,B),y(a,u),y(u,f),y(f,c),y(f,d),H(m,f,null),y(f,h),H(_,f,null),y(u,g),H(k,u,null),y(u,S),y(u,T),y(u,$),y(u,C),y(C,D),y(C,O),W.m(C,null),y(u,E),J&&J.m(u,null),L=!0,F||(P=[K(C,"click",n[16]),K(u,"submit",Ye(n[11]))],F=!0)},p(G,B){(!L||B[0]&1024)&&le(o,G[10]);const U={};k.$set(U),q!==(q=R(G))&&(W.d(1),W=q(G),W&&(W.c(),W.m(C,null))),(!L||B[0]&16)&&(C.disabled=G[4]),(!L||B[0]&16)&&ee(C,"btn-loading",G[4]),G[6]&&!G[4]?J?(J.p(G,B),B[0]&80&&A(J,1)):(J=pg(G),J.c(),A(J,1),J.m(u,null)):J&&(oe(),I(J,1,1,()=>{J=null}),re())},i(G){L||(A(m.$$.fragment,G),A(_.$$.fragment,G),A(k.$$.fragment,G),A(J),L=!0)},o(G){I(m.$$.fragment,G),I(_.$$.fragment,G),I(k.$$.fragment,G),I(J),L=!1},d(G){G&&(v(e),v(r),v(a)),z(m),z(_),n[15](null),z(k),W.d(),J&&J.d(),F=!1,we(P)}}}function jL(n){let e,t,i,l;return e=new bi({}),i=new gn({props:{$$slots:{default:[qL]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=M(),V(i.$$.fragment)},m(s,o){H(e,s,o),w(s,t,o),H(i,s,o),l=!0},p(s,o){const r={};o[0]&2047|o[1]&2&&(r.$$scope={dirty:o,ctx:s}),i.$set(r)},i(s){l||(A(e.$$.fragment,s),A(i.$$.fragment,s),l=!0)},o(s){I(e.$$.fragment,s),I(i.$$.fragment,s),l=!1},d(s){s&&v(t),z(e,s),z(i,s)}}}function HL(n,e,t){let i,l;We(n,Dt,B=>t(10,l=B)),tn(Dt,l="Backups",l);let s,o={},r={},a=!1,u=!1,f="",c=!1,d=!1,m=!1,h=null;_();async function _(){t(4,a=!0);try{const B=await fe.settings.getAll()||{};k(B)}catch(B){fe.error(B)}t(4,a=!1)}async function g(){if(!(u||!i)){t(5,u=!0);try{const B=await fe.settings.update(j.filterRedactedProps(r));await T(),k(B),It("Successfully saved application settings.")}catch(B){fe.error(B)}t(5,u=!1)}}function k(B={}){t(1,r={backups:(B==null?void 0:B.backups)||{}}),t(2,c=r.backups.cron!=""),t(0,o=JSON.parse(JSON.stringify(r)))}function S(){t(1,r=JSON.parse(JSON.stringify(o||{backups:{}}))),t(2,c=r.backups.cron!="")}async function T(){return s==null?void 0:s.loadBackups()}function $(B){te[B?"unshift":"push"](()=>{s=B,t(3,s)})}const C=()=>t(6,d=!d);function D(){c=this.checked,t(2,c)}function O(){r.backups.cron=this.value,t(1,r),t(2,c)}const E=()=>{t(1,r.backups.cron="0 0 * * *",r)},L=()=>{t(1,r.backups.cron="0 0 * * 0",r)},F=()=>{t(1,r.backups.cron="0 0 * * 1,3",r)},P=()=>{t(1,r.backups.cron="0 0 1 * *",r)};function N(){r.backups.cronMaxKeep=st(this.value),t(1,r),t(2,c)}function R(B){n.$$.not_equal(r.backups.s3,B)&&(r.backups.s3=B,t(1,r),t(2,c))}function q(B){m=B,t(7,m)}function W(B){h=B,t(8,h)}const J=()=>S(),G=()=>g();return n.$$.update=()=>{var B;n.$$.dirty[0]&1&&t(14,f=JSON.stringify(o)),n.$$.dirty[0]&6&&!c&&(B=r==null?void 0:r.backups)!=null&&B.cron&&(ii("backups.cron"),t(1,r.backups.cron="",r)),n.$$.dirty[0]&16386&&t(9,i=f!=JSON.stringify(r))},[o,r,c,s,a,u,d,m,h,i,l,g,S,T,f,$,C,D,O,E,L,F,P,N,R,q,W,J,G]}class zL extends ge{constructor(e){super(),_e(this,e,HL,jL,he,{},null,[-1,-1])}}const Ht=[async n=>{const e=new URLSearchParams(window.location.search);return n.location!=="/"&&e.has("installer")?nl("/"):!0}],VL={"/login":Ft({component:U8,conditions:Ht.concat([n=>!fe.authStore.isValid]),userData:{showAppSidebar:!1}}),"/request-password-reset":Ft({asyncComponent:()=>rt(()=>import("./PageAdminRequestPasswordReset-a310a6b5.js"),[],import.meta.url),conditions:Ht.concat([n=>!fe.authStore.isValid]),userData:{showAppSidebar:!1}}),"/confirm-password-reset/:token":Ft({asyncComponent:()=>rt(()=>import("./PageAdminConfirmPasswordReset-6489eaf2.js"),[],import.meta.url),conditions:Ht.concat([n=>!fe.authStore.isValid]),userData:{showAppSidebar:!1}}),"/collections":Ft({component:d8,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/logs":Ft({component:f$,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings":Ft({component:x8,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/admins":Ft({component:q8,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/mail":Ft({component:HA,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/storage":Ft({component:rI,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/auth-providers":Ft({component:$I,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/tokens":Ft({component:LI,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/export-collections":Ft({component:jI,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/import-collections":Ft({component:lL,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/settings/backups":Ft({component:zL,conditions:Ht.concat([n=>fe.authStore.isValid]),userData:{showAppSidebar:!0}}),"/users/confirm-password-reset/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmPasswordReset-c524df89.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/confirm-password-reset/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmPasswordReset-c524df89.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/users/confirm-verification/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmVerification-60a3d957.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/confirm-verification/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmVerification-60a3d957.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/users/confirm-email-change/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmEmailChange-d14d1f1e.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/confirm-email-change/:token":Ft({asyncComponent:()=>rt(()=>import("./PageRecordConfirmEmailChange-d14d1f1e.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"/auth/oauth2-redirect":Ft({asyncComponent:()=>rt(()=>import("./PageOAuth2Redirect-da30a17e.js"),[],import.meta.url),conditions:Ht,userData:{showAppSidebar:!1}}),"*":Ft({component:kv,userData:{showAppSidebar:!1}})};function BL(n,{from:e,to:t},i={}){const l=getComputedStyle(n),s=l.transform==="none"?"":l.transform,[o,r]=l.transformOrigin.split(" ").map(parseFloat),a=e.left+e.width*o/t.width-(t.left+o),u=e.top+e.height*r/t.height-(t.top+r),{delay:f=0,duration:c=m=>Math.sqrt(m)*120,easing:d=Zo}=i;return{delay:f,duration:$t(c)?c(Math.sqrt(a*a+u*u)):c,easing:d,css:(m,h)=>{const _=h*a,g=h*u,k=m+h*e.width/t.width,S=m+h*e.height/t.height;return`transform: ${s} translate(${_}px, ${g}px) scale(${k}, ${S});`}}}function gg(n,e,t){const i=n.slice();return i[2]=e[t],i}function UL(n){let e;return{c(){e=b("i"),p(e,"class","ri-alert-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function WL(n){let e;return{c(){e=b("i"),p(e,"class","ri-error-warning-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function YL(n){let e;return{c(){e=b("i"),p(e,"class","ri-checkbox-circle-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function KL(n){let e;return{c(){e=b("i"),p(e,"class","ri-information-line")},m(t,i){w(t,e,i)},d(t){t&&v(e)}}}function bg(n,e){let t,i,l,s,o=e[2].message+"",r,a,u,f,c,d,m,h=Q,_,g,k;function S(D,O){return D[2].type==="info"?KL:D[2].type==="success"?YL:D[2].type==="warning"?WL:UL}let T=S(e),$=T(e);function C(){return e[1](e[2])}return{key:n,first:null,c(){t=b("div"),i=b("div"),$.c(),l=M(),s=b("div"),r=Y(o),a=M(),u=b("button"),u.innerHTML='',f=M(),p(i,"class","icon"),p(s,"class","content"),p(u,"type","button"),p(u,"class","close"),p(t,"class","alert txt-break"),ee(t,"alert-info",e[2].type=="info"),ee(t,"alert-success",e[2].type=="success"),ee(t,"alert-danger",e[2].type=="error"),ee(t,"alert-warning",e[2].type=="warning"),this.first=t},m(D,O){w(D,t,O),y(t,i),$.m(i,null),y(t,l),y(t,s),y(s,r),y(t,a),y(t,u),y(t,f),_=!0,g||(k=K(u,"click",Ye(C)),g=!0)},p(D,O){e=D,T!==(T=S(e))&&($.d(1),$=T(e),$&&($.c(),$.m(i,null))),(!_||O&1)&&o!==(o=e[2].message+"")&&le(r,o),(!_||O&1)&&ee(t,"alert-info",e[2].type=="info"),(!_||O&1)&&ee(t,"alert-success",e[2].type=="success"),(!_||O&1)&&ee(t,"alert-danger",e[2].type=="error"),(!_||O&1)&&ee(t,"alert-warning",e[2].type=="warning")},r(){m=t.getBoundingClientRect()},f(){m0(t),h(),Mg(t,m)},a(){h(),h=p0(t,m,BL,{duration:150})},i(D){_||(D&&Ke(()=>{_&&(d&&d.end(1),c=Eg(t,et,{duration:150}),c.start())}),_=!0)},o(D){c&&c.invalidate(),D&&(d=_a(t,fs,{duration:150})),_=!1},d(D){D&&v(t),$.d(),D&&d&&d.end(),g=!1,k()}}}function JL(n){let e,t=[],i=new Map,l,s=pe(n[0]);const o=r=>r[2].message;for(let r=0;rt(0,i=s)),[i,s=>q1(s)]}class GL extends ge{constructor(e){super(),_e(this,e,ZL,JL,he,{})}}function XL(n){var l;let e,t=((l=n[1])==null?void 0:l.text)+"",i;return{c(){e=b("h4"),i=Y(t),p(e,"class","block center txt-break"),p(e,"slot","header")},m(s,o){w(s,e,o),y(e,i)},p(s,o){var r;o&2&&t!==(t=((r=s[1])==null?void 0:r.text)+"")&&le(i,t)},d(s){s&&v(e)}}}function QL(n){let e,t,i,l,s,o,r;return{c(){e=b("button"),t=b("span"),t.textContent="No",i=M(),l=b("button"),s=b("span"),s.textContent="Yes",p(t,"class","txt"),e.autofocus=!0,p(e,"type","button"),p(e,"class","btn btn-transparent btn-expanded-sm"),e.disabled=n[2],p(s,"class","txt"),p(l,"type","button"),p(l,"class","btn btn-danger btn-expanded"),l.disabled=n[2],ee(l,"btn-loading",n[2])},m(a,u){w(a,e,u),y(e,t),w(a,i,u),w(a,l,u),y(l,s),e.focus(),o||(r=[K(e,"click",n[4]),K(l,"click",n[5])],o=!0)},p(a,u){u&4&&(e.disabled=a[2]),u&4&&(l.disabled=a[2]),u&4&&ee(l,"btn-loading",a[2])},d(a){a&&(v(e),v(i),v(l)),o=!1,we(r)}}}function xL(n){let e,t,i={class:"confirm-popup hide-content overlay-panel-sm",overlayClose:!n[2],escClose:!n[2],btnClose:!1,popup:!0,$$slots:{footer:[QL],header:[XL]},$$scope:{ctx:n}};return e=new Xt({props:i}),n[6](e),e.$on("hide",n[7]),{c(){V(e.$$.fragment)},m(l,s){H(e,l,s),t=!0},p(l,[s]){const o={};s&4&&(o.overlayClose=!l[2]),s&4&&(o.escClose=!l[2]),s&271&&(o.$$scope={dirty:s,ctx:l}),e.$set(o)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[6](null),z(e,l)}}}function eP(n,e,t){let i;We(n,Za,c=>t(1,i=c));let l,s=!1,o=!1;const r=()=>{t(3,o=!1),l==null||l.hide()},a=async()=>{i!=null&&i.yesCallback&&(t(2,s=!0),await Promise.resolve(i.yesCallback()),t(2,s=!1)),t(3,o=!0),l==null||l.hide()};function u(c){te[c?"unshift":"push"](()=>{l=c,t(0,l)})}const f=async()=>{!o&&(i!=null&&i.noCallback)&&i.noCallback(),await Qt(),t(3,o=!1),Ib()};return n.$$.update=()=>{n.$$.dirty&3&&i!=null&&i.text&&(t(3,o=!1),l==null||l.show())},[l,i,s,o,r,a,u,f]}class tP extends ge{constructor(e){super(),_e(this,e,eP,xL,he,{})}}function yg(n){let e,t,i,l,s,o,r,a,u,f,c,d,m,h,_,g,k,S;return _=new En({props:{class:"dropdown dropdown-nowrap dropdown-upside dropdown-left",$$slots:{default:[nP]},$$scope:{ctx:n}}}),{c(){var T;e=b("aside"),t=b("a"),t.innerHTML='PocketBase logo',i=M(),l=b("nav"),s=b("a"),s.innerHTML='',o=M(),r=b("a"),r.innerHTML='',a=M(),u=b("a"),u.innerHTML='',f=M(),c=b("figure"),d=b("img"),h=M(),V(_.$$.fragment),p(t,"href","/"),p(t,"class","logo logo-sm"),p(s,"href","/collections"),p(s,"class","menu-item"),p(s,"aria-label","Collections"),p(r,"href","/logs"),p(r,"class","menu-item"),p(r,"aria-label","Logs"),p(u,"href","/settings"),p(u,"class","menu-item"),p(u,"aria-label","Settings"),p(l,"class","main-menu"),nn(d.src,m="./images/avatars/avatar"+(((T=n[0])==null?void 0:T.avatar)||0)+".svg")||p(d,"src",m),p(d,"alt","Avatar"),p(c,"class","thumb thumb-circle link-hint closable"),p(e,"class","app-sidebar")},m(T,$){w(T,e,$),y(e,t),y(e,i),y(e,l),y(l,s),y(l,o),y(l,r),y(l,a),y(l,u),y(e,f),y(e,c),y(c,d),y(c,h),H(_,c,null),g=!0,k||(S=[ve(ln.call(null,t)),ve(ln.call(null,s)),ve(Pn.call(null,s,{path:"/collections/?.*",className:"current-route"})),ve(Le.call(null,s,{text:"Collections",position:"right"})),ve(ln.call(null,r)),ve(Pn.call(null,r,{path:"/logs/?.*",className:"current-route"})),ve(Le.call(null,r,{text:"Logs",position:"right"})),ve(ln.call(null,u)),ve(Pn.call(null,u,{path:"/settings/?.*",className:"current-route"})),ve(Le.call(null,u,{text:"Settings",position:"right"}))],k=!0)},p(T,$){var D;(!g||$&1&&!nn(d.src,m="./images/avatars/avatar"+(((D=T[0])==null?void 0:D.avatar)||0)+".svg"))&&p(d,"src",m);const C={};$&4096&&(C.$$scope={dirty:$,ctx:T}),_.$set(C)},i(T){g||(A(_.$$.fragment,T),g=!0)},o(T){I(_.$$.fragment,T),g=!1},d(T){T&&v(e),z(_),k=!1,we(S)}}}function nP(n){let e,t,i,l,s,o,r;return{c(){e=b("a"),e.innerHTML=' Manage admins',t=M(),i=b("hr"),l=M(),s=b("button"),s.innerHTML=' Logout',p(e,"href","/settings/admins"),p(e,"class","dropdown-item closable"),p(s,"type","button"),p(s,"class","dropdown-item closable")},m(a,u){w(a,e,u),w(a,t,u),w(a,i,u),w(a,l,u),w(a,s,u),o||(r=[ve(ln.call(null,e)),K(s,"click",n[7])],o=!0)},p:Q,d(a){a&&(v(e),v(t),v(i),v(l),v(s)),o=!1,we(r)}}}function kg(n){let e,t,i;return t=new xa({props:{conf:j.defaultEditorOptions()}}),t.$on("init",n[8]),{c(){e=b("div"),V(t.$$.fragment),p(e,"class","tinymce-preloader hidden")},m(l,s){w(l,e,s),H(t,e,null),i=!0},p:Q,i(l){i||(A(t.$$.fragment,l),i=!0)},o(l){I(t.$$.fragment,l),i=!1},d(l){l&&v(e),z(t)}}}function iP(n){var g;let e,t,i,l,s,o,r,a,u,f,c,d,m;document.title=e=j.joinNonEmpty([n[4],n[3],"PocketBase"]," - ");let h=((g=n[0])==null?void 0:g.id)&&n[1]&&yg(n);o=new O0({props:{routes:VL}}),o.$on("routeLoading",n[5]),o.$on("conditionsFailed",n[6]),a=new GL({}),f=new tP({});let _=n[1]&&!n[2]&&kg(n);return{c(){t=M(),i=b("div"),h&&h.c(),l=M(),s=b("div"),V(o.$$.fragment),r=M(),V(a.$$.fragment),u=M(),V(f.$$.fragment),c=M(),_&&_.c(),d=ke(),p(s,"class","app-body"),p(i,"class","app-layout")},m(k,S){w(k,t,S),w(k,i,S),h&&h.m(i,null),y(i,l),y(i,s),H(o,s,null),y(s,r),H(a,s,null),w(k,u,S),H(f,k,S),w(k,c,S),_&&_.m(k,S),w(k,d,S),m=!0},p(k,[S]){var T;(!m||S&24)&&e!==(e=j.joinNonEmpty([k[4],k[3],"PocketBase"]," - "))&&(document.title=e),(T=k[0])!=null&&T.id&&k[1]?h?(h.p(k,S),S&3&&A(h,1)):(h=yg(k),h.c(),A(h,1),h.m(i,l)):h&&(oe(),I(h,1,1,()=>{h=null}),re()),k[1]&&!k[2]?_?(_.p(k,S),S&6&&A(_,1)):(_=kg(k),_.c(),A(_,1),_.m(d.parentNode,d)):_&&(oe(),I(_,1,1,()=>{_=null}),re())},i(k){m||(A(h),A(o.$$.fragment,k),A(a.$$.fragment,k),A(f.$$.fragment,k),A(_),m=!0)},o(k){I(h),I(o.$$.fragment,k),I(a.$$.fragment,k),I(f.$$.fragment,k),I(_),m=!1},d(k){k&&(v(t),v(i),v(u),v(c),v(d)),h&&h.d(),z(o),z(a),z(f,k),_&&_.d(k)}}}function lP(n,e,t){let i,l,s,o;We(n,Sl,_=>t(10,i=_)),We(n,Mo,_=>t(3,l=_)),We(n,Da,_=>t(0,s=_)),We(n,Dt,_=>t(4,o=_));let r,a=!1,u=!1;function f(_){var g,k,S,T;((g=_==null?void 0:_.detail)==null?void 0:g.location)!==r&&(t(1,a=!!((S=(k=_==null?void 0:_.detail)==null?void 0:k.userData)!=null&&S.showAppSidebar)),r=(T=_==null?void 0:_.detail)==null?void 0:T.location,tn(Dt,o="",o),Gt({}),Ib())}function c(){nl("/")}async function d(){var _,g;if(s!=null&&s.id)try{const k=await fe.settings.getAll({$cancelKey:"initialAppSettings"});tn(Mo,l=((_=k==null?void 0:k.meta)==null?void 0:_.appName)||"",l),tn(Sl,i=!!((g=k==null?void 0:k.meta)!=null&&g.hideControls),i)}catch(k){k!=null&&k.isAbort||console.warn("Failed to load app settings.",k)}}function m(){fe.logout()}const h=()=>{t(2,u=!0)};return n.$$.update=()=>{n.$$.dirty&1&&s!=null&&s.id&&d()},[s,a,u,l,o,f,c,m,h]}class sP extends ge{constructor(e){super(),_e(this,e,lP,iP,he,{})}}new sP({target:document.getElementById("app")});export{we as A,It as B,j as C,nl as D,ke as E,H1 as F,Bo as G,ao as H,Vt as I,We as J,zn as K,ot as L,te as M,Ja as N,pe as O,dt as P,Li as Q,Lt as R,ge as S,ut as T,u0 as U,I as a,M as b,V as c,z as d,b as e,p as f,w as g,y as h,_e as i,ve as j,oe as k,ln as l,H as m,re as n,v as o,fe as p,me as q,ee as r,he as s,A as t,K as u,Ye as v,Y as w,le as x,Q as y,ue as z}; diff --git a/ui/dist/index.html b/ui/dist/index.html index d58c0550..89105d46 100644 --- a/ui/dist/index.html +++ b/ui/dist/index.html @@ -45,7 +45,7 @@ window.Prism = window.Prism || {}; window.Prism.manual = true; - +