From cb548e6952c725b695095019ae5b06b4a6eed028 Mon Sep 17 00:00:00 2001 From: wayneshn Date: Fri, 1 Aug 2025 12:09:37 +0000 Subject: [PATCH] deploy: 5cc24d0d67d8f90269f235ac70b983217c047b13 --- 404.html | 4 ++-- SUMMARY.html | 6 +++--- api/archived-email.html | 6 +++--- api/auth.html | 6 +++--- api/authentication.html | 6 +++--- api/dashboard.html | 6 +++--- api/index.html | 6 +++--- api/ingestion.html | 6 +++--- api/search.html | 6 +++--- api/storage.html | 6 +++--- assets/{app.D-u6dPmK.js => app.Csqv2l5N.js} | 2 +- assets/chunks/@localSearchIndexroot.38RbxeUs.js | 1 + assets/chunks/@localSearchIndexroot.D-yRo1rV.js | 1 - ...rchBox.Y-ILlF1P.js => VPLocalSearchBox.rcTa730P.js} | 2 +- assets/chunks/{theme.DqLBVYrY.js => theme.oA6RcKas.js} | 4 ++-- assets/user-guides_installation.md.Lx-5aly3.js | 9 --------- assets/user-guides_installation.md.Lx-5aly3.lean.js | 1 - assets/user-guides_installation.md.xXTSUcq4.js | 9 +++++++++ assets/user-guides_installation.md.xXTSUcq4.lean.js | 1 + hashmap.json | 2 +- index.html | 6 +++--- services/index.html | 6 +++--- services/storage-service.html | 6 +++--- user-guides/email-providers/google-workspace.html | 6 +++--- user-guides/email-providers/imap.html | 6 +++--- user-guides/email-providers/index.html | 6 +++--- user-guides/email-providers/microsoft-365.html | 6 +++--- user-guides/installation.html | 10 +++++----- 28 files changed, 71 insertions(+), 71 deletions(-) rename assets/{app.D-u6dPmK.js => app.Csqv2l5N.js} (95%) create mode 100644 assets/chunks/@localSearchIndexroot.38RbxeUs.js delete mode 100644 assets/chunks/@localSearchIndexroot.D-yRo1rV.js rename assets/chunks/{VPLocalSearchBox.Y-ILlF1P.js => VPLocalSearchBox.rcTa730P.js} (99%) rename assets/chunks/{theme.DqLBVYrY.js => theme.oA6RcKas.js} (99%) delete mode 100644 assets/user-guides_installation.md.Lx-5aly3.js delete mode 100644 assets/user-guides_installation.md.Lx-5aly3.lean.js create mode 100644 assets/user-guides_installation.md.xXTSUcq4.js create mode 100644 assets/user-guides_installation.md.xXTSUcq4.lean.js diff --git a/404.html b/404.html index c98cd68..ae58151 100644 --- a/404.html +++ b/404.html @@ -9,14 +9,14 @@ - +
- + \ No newline at end of file diff --git a/SUMMARY.html b/SUMMARY.html index 9470a68..c0dc41f 100644 --- a/SUMMARY.html +++ b/SUMMARY.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/api/archived-email.html b/api/archived-email.html index 1816730..bd72d19 100644 --- a/api/archived-email.html +++ b/api/archived-email.html @@ -9,9 +9,9 @@ - + - + @@ -53,7 +53,7 @@ } ] }
  • 404 Not Found: The archived email with the specified ID was not found.

  • 500 Internal Server Error: An unexpected error occurred.

  • Service Methods

    getArchivedEmails(ingestionSourceId: string, page: number, limit: number): Promise<PaginatedArchivedEmails>

    Retrieves a paginated list of archived emails from the database for a given ingestion source.

    getArchivedEmailById(emailId: string): Promise<ArchivedEmail | null>

    Retrieves a single archived email by its ID, including its raw content and attachments.

    - + \ No newline at end of file diff --git a/api/auth.html b/api/auth.html index f9f3a72..8850a5d 100644 --- a/api/auth.html +++ b/api/auth.html @@ -9,9 +9,9 @@ - + - + @@ -32,7 +32,7 @@ }
  • 500 Internal Server Error: An unexpected error occurred.

    json
    {
         "message": "An internal server error occurred"
     }
  • Service Methods

    verifyPassword(password: string, hash: string): Promise<boolean>

    Compares a plain-text password with a hashed password to verify its correctness.

    login(email: string, password: string): Promise<LoginResponse | null>

    Handles the user login process. It finds the user by email, verifies the password, and generates a JWT upon successful authentication.

    verifyToken(token: string): Promise<AuthTokenPayload | null>

    Verifies the authenticity and expiration of a JWT.

    - + \ No newline at end of file diff --git a/api/authentication.html b/api/authentication.html index f198098..8ecbf74 100644 --- a/api/authentication.html +++ b/api/authentication.html @@ -9,9 +9,9 @@ - + - + @@ -34,7 +34,7 @@ }

    Making Authenticated Requests

    Once you have the accessToken, you must include it in the Authorization header of all subsequent requests to protected endpoints, using the Bearer scheme.

    Example:

    http
    GET /api/v1/dashboard/stats
     Authorization: Bearer your.jwt.token

    If the token is missing, expired, or invalid, the API will respond with a 401 Unauthorized status code.

    Using a Super API Key

    Alternatively, for server-to-server communication or scripts, you can use a super API key. This key provides unrestricted access to the API and should be kept secret.

    You can set the SUPER_API_KEY in your .env file.

    To authenticate using the super API key, include it in the Authorization header as a Bearer token.

    Example:

    http
    GET /api/v1/dashboard/stats
     Authorization: Bearer your-super-secret-api-key
    - + \ No newline at end of file diff --git a/api/dashboard.html b/api/dashboard.html index 1cb0264..d69ad43 100644 --- a/api/dashboard.html +++ b/api/dashboard.html @@ -9,9 +9,9 @@ - + - + @@ -56,7 +56,7 @@ } ] } - + \ No newline at end of file diff --git a/api/index.html b/api/index.html index 2779bd5..979b454 100644 --- a/api/index.html +++ b/api/index.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    API Overview

    Welcome to the Open Archiver API documentation. This section provides detailed information about the available API endpoints.

    All API endpoints are prefixed with /api/v1.

    Authentication

    Before making requests to protected endpoints, you must authenticate with the API. See the Authentication Guide for details on how to obtain and use API tokens.

    API Services

    - + \ No newline at end of file diff --git a/api/ingestion.html b/api/ingestion.html index d9a4bda..baa11db 100644 --- a/api/ingestion.html +++ b/api/ingestion.html @@ -9,9 +9,9 @@ - + - + @@ -34,7 +34,7 @@ | 'paused' | 'error'; }

    Responses

    DELETE /api/v1/ingestion/:id

    Deletes an ingestion source and all associated data.

    Access: Authenticated

    URL Parameters

    ParameterTypeDescription
    idstringThe ID of the ingestion source.

    Responses

    POST /api/v1/ingestion/:id/import

    Triggers the initial import process for an ingestion source.

    Access: Authenticated

    URL Parameters

    ParameterTypeDescription
    idstringThe ID of the ingestion source.

    Responses

    POST /api/v1/ingestion/:id/pause

    Pauses an active ingestion source.

    Access: Authenticated

    URL Parameters

    ParameterTypeDescription
    idstringThe ID of the ingestion source.

    Responses

    POST /api/v1/ingestion/:id/sync

    Triggers a forced synchronization for an ingestion source.

    Access: Authenticated

    URL Parameters

    ParameterTypeDescription
    idstringThe ID of the ingestion source.

    Responses

    - + \ No newline at end of file diff --git a/api/search.html b/api/search.html index 9a8d6cc..af99ddc 100644 --- a/api/search.html +++ b/api/search.html @@ -9,9 +9,9 @@ - + - + @@ -35,7 +35,7 @@ "totalPages": 1, "processingTimeMs": 5 }
  • 400 Bad Request: Keywords are required.

  • 500 Internal Server Error: An unexpected error occurred.

  • - + \ No newline at end of file diff --git a/api/storage.html b/api/storage.html index b111bbc..edc2e67 100644 --- a/api/storage.html +++ b/api/storage.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    Storage Service API

    The Storage Service provides an endpoint for downloading files from the configured storage provider.

    Endpoints

    All endpoints in this service require authentication.

    GET /api/v1/storage/download

    Downloads a file from the storage.

    Access: Authenticated

    Query Parameters

    ParameterTypeDescription
    pathstringThe path to the file within the storage provider.

    Responses

    • 200 OK: The file stream.
    • 400 Bad Request: File path is required or invalid.
    • 404 Not Found: File not found.
    • 500 Internal Server Error: An unexpected error occurred.
    - + \ No newline at end of file diff --git a/assets/app.D-u6dPmK.js b/assets/app.Csqv2l5N.js similarity index 95% rename from assets/app.D-u6dPmK.js rename to assets/app.Csqv2l5N.js index 4e1aa32..166875b 100644 --- a/assets/app.D-u6dPmK.js +++ b/assets/app.Csqv2l5N.js @@ -1 +1 @@ -import{t as p}from"./chunks/theme.DqLBVYrY.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.S-Qvb3wi.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp}; +import{t as p}from"./chunks/theme.oA6RcKas.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.S-Qvb3wi.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp}; diff --git a/assets/chunks/@localSearchIndexroot.38RbxeUs.js b/assets/chunks/@localSearchIndexroot.38RbxeUs.js new file mode 100644 index 0000000..6dfea6c --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.38RbxeUs.js @@ -0,0 +1 @@ +const e='{"documentCount":138,"nextId":138,"documentIds":{"0":"/SUMMARY.html#table-of-contents","1":"/SUMMARY.html#user-guides","2":"/api/archived-email.html#archived-email-service-api","3":"/api/archived-email.html#endpoints","4":"/api/archived-email.html#get-api-v1-archived-emails-ingestion-source-ingestionsourceid","5":"/api/archived-email.html#url-parameters","6":"/api/archived-email.html#query-parameters","7":"/api/archived-email.html#responses","8":"/api/archived-email.html#get-api-v1-archived-emails-id","9":"/api/archived-email.html#url-parameters-1","10":"/api/archived-email.html#responses-1","11":"/api/archived-email.html#service-methods","12":"/api/archived-email.html#getarchivedemails-ingestionsourceid-string-page-number-limit-number-promise-paginatedarchivedemails","13":"/api/archived-email.html#getarchivedemailbyid-emailid-string-promise-archivedemail-null","14":"/api/auth.html#auth-service-api","15":"/api/auth.html#endpoints","16":"/api/auth.html#post-api-v1-auth-login","17":"/api/auth.html#request-body","18":"/api/auth.html#responses","19":"/api/auth.html#service-methods","20":"/api/auth.html#verifypassword-password-string-hash-string-promise-boolean","21":"/api/auth.html#login-email-string-password-string-promise-loginresponse-null","22":"/api/auth.html#verifytoken-token-string-promise-authtokenpayload-null","23":"/api/authentication.html#api-authentication","24":"/api/authentication.html#obtaining-a-jwt","25":"/api/authentication.html#making-authenticated-requests","26":"/api/authentication.html#using-a-super-api-key","27":"/api/dashboard.html#dashboard-service-api","28":"/api/dashboard.html#endpoints","29":"/api/dashboard.html#get-api-v1-dashboard-stats","30":"/api/dashboard.html#responses","31":"/api/dashboard.html#get-api-v1-dashboard-ingestion-history","32":"/api/dashboard.html#responses-1","33":"/api/dashboard.html#get-api-v1-dashboard-ingestion-sources","34":"/api/dashboard.html#responses-2","35":"/api/dashboard.html#get-api-v1-dashboard-recent-syncs","36":"/api/dashboard.html#responses-3","37":"/api/dashboard.html#get-api-v1-dashboard-indexed-insights","38":"/api/dashboard.html#responses-4","39":"/api/#api-overview","40":"/api/#authentication","41":"/api/#api-services","42":"/api/ingestion.html#ingestion-service-api","43":"/api/ingestion.html#endpoints","44":"/api/ingestion.html#post-api-v1-ingestion","45":"/api/ingestion.html#request-body","46":"/api/ingestion.html#responses","47":"/api/ingestion.html#get-api-v1-ingestion","48":"/api/ingestion.html#responses-1","49":"/api/ingestion.html#get-api-v1-ingestion-id","50":"/api/ingestion.html#url-parameters","51":"/api/ingestion.html#responses-2","52":"/api/ingestion.html#put-api-v1-ingestion-id","53":"/api/ingestion.html#url-parameters-1","54":"/api/ingestion.html#request-body-1","55":"/api/ingestion.html#responses-3","56":"/api/ingestion.html#delete-api-v1-ingestion-id","57":"/api/ingestion.html#url-parameters-2","58":"/api/ingestion.html#responses-4","59":"/api/ingestion.html#post-api-v1-ingestion-id-import","60":"/api/ingestion.html#url-parameters-3","61":"/api/ingestion.html#responses-5","62":"/api/ingestion.html#post-api-v1-ingestion-id-pause","63":"/api/ingestion.html#url-parameters-4","64":"/api/ingestion.html#responses-6","65":"/api/ingestion.html#post-api-v1-ingestion-id-sync","66":"/api/ingestion.html#url-parameters-5","67":"/api/ingestion.html#responses-7","68":"/api/search.html#search-service-api","69":"/api/search.html#endpoints","70":"/api/search.html#get-api-v1-search","71":"/api/search.html#query-parameters","72":"/api/search.html#responses","73":"/api/storage.html#storage-service-api","74":"/api/storage.html#endpoints","75":"/api/storage.html#get-api-v1-storage-download","76":"/api/storage.html#query-parameters","77":"/api/storage.html#responses","78":"/services/#services","79":"/#get-started-👋","80":"/#what-is-open-archiver-🛡️","81":"/#key-features-✨","82":"/#installation-🚀","83":"/#data-source-configuration-🔌","84":"/#contributing-❤️","85":"/services/storage-service.html#pluggable-storage-service-storageservice","86":"/services/storage-service.html#overview","87":"/services/storage-service.html#configuration","88":"/services/storage-service.html#_1-choosing-the-backend","89":"/services/storage-service.html#_2-local-filesystem-configuration","90":"/services/storage-service.html#_3-s3-compatible-storage-configuration","91":"/services/storage-service.html#how-to-use-the-service","92":"/services/storage-service.html#example-usage-in-ingestionservice","93":"/services/storage-service.html#api-reference","94":"/services/storage-service.html#put-path-content","95":"/services/storage-service.html#get-path","96":"/services/storage-service.html#delete-path","97":"/services/storage-service.html#exists-path","98":"/user-guides/email-providers/google-workspace.html#connecting-to-google-workspace","99":"/user-guides/email-providers/google-workspace.html#prerequisites","100":"/user-guides/email-providers/google-workspace.html#setup-overview","101":"/user-guides/email-providers/google-workspace.html#part-1-google-cloud-console-setup","102":"/user-guides/email-providers/google-workspace.html#troubleshooting","103":"/user-guides/email-providers/google-workspace.html#error-iam-disableserviceaccountkeycreation","104":"/user-guides/email-providers/google-workspace.html#part-2-grant-domain-wide-delegation","105":"/user-guides/email-providers/google-workspace.html#part-3-connecting-in-openarchiver","106":"/user-guides/email-providers/google-workspace.html#what-happens-next","107":"/user-guides/email-providers/imap.html#connecting-to-a-generic-imap-server","108":"/user-guides/email-providers/imap.html#step-by-step-guide","109":"/user-guides/email-providers/imap.html#security-recommendation-use-an-app-password","110":"/user-guides/email-providers/imap.html#how-to-obtain-an-app-password-for-gmail","111":"/user-guides/email-providers/imap.html#how-to-obtain-an-app-password-for-outlook-microsoft-accounts","112":"/user-guides/email-providers/imap.html#what-happens-next","113":"/user-guides/email-providers/#connecting-email-providers","114":"/user-guides/email-providers/microsoft-365.html#connecting-to-microsoft-365","115":"/user-guides/email-providers/microsoft-365.html#prerequisites","116":"/user-guides/email-providers/microsoft-365.html#setup-overview","117":"/user-guides/email-providers/microsoft-365.html#part-1-register-a-new-application-in-microsoft-entra-id","118":"/user-guides/email-providers/microsoft-365.html#part-2-grant-api-permissions","119":"/user-guides/email-providers/microsoft-365.html#part-3-create-a-client-secret","120":"/user-guides/email-providers/microsoft-365.html#part-4-connecting-in-openarchiver","121":"/user-guides/email-providers/microsoft-365.html#what-happens-next","122":"/user-guides/installation.html#installation-guide","123":"/user-guides/installation.html#prerequisites","124":"/user-guides/installation.html#_1-clone-the-repository","125":"/user-guides/installation.html#_2-configure-your-environment","126":"/user-guides/installation.html#important-configuration","127":"/user-guides/installation.html#storage-configuration","128":"/user-guides/installation.html#using-external-services","129":"/user-guides/installation.html#environment-variable-reference","130":"/user-guides/installation.html#application-settings","131":"/user-guides/installation.html#docker-compose-service-configuration","132":"/user-guides/installation.html#storage-settings","133":"/user-guides/installation.html#security-authentication","134":"/user-guides/installation.html#_3-run-the-application","135":"/user-guides/installation.html#_4-access-the-application","136":"/user-guides/installation.html#_5-next-steps","137":"/user-guides/installation.html#updating-your-installation"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,1],"1":[2,3,26],"2":[4,1,18],"3":[1,4,8],"4":[8,5,14],"5":[2,13,16],"6":[2,13,16],"7":[1,13,45],"8":[6,5,16],"9":[2,11,12],"10":[1,11,57],"11":[2,4,1],"12":[11,5,32],"13":[10,5,32],"14":[3,1,15],"15":[1,3,1],"16":[5,4,26],"17":[2,9,11],"18":[1,9,42],"19":[2,3,1],"20":[9,4,28],"21":[11,4,36],"22":[10,4,25],"23":[2,1,22],"24":[3,2,43],"25":[3,2,46],"26":[5,2,49],"27":[3,1,14],"28":[1,3,8],"29":[5,4,22],"30":[1,9,16],"31":[6,4,15],"32":[1,10,19],"33":[6,4,17],"34":[1,10,27],"35":[6,4,21],"36":[1,10,7],"37":[6,4,14],"38":[1,10,16],"39":[2,1,22],"40":[1,2,24],"41":[2,2,30],"42":[3,1,18],"43":[1,3,8],"44":[4,4,8],"45":[2,8,20],"46":[1,8,16],"47":[4,4,7],"48":[1,8,16],"49":[5,4,11],"50":[2,9,12],"51":[1,9,21],"52":[5,4,8],"53":[2,9,12],"54":[2,9,28],"55":[1,9,22],"56":[5,4,11],"57":[2,9,12],"58":[1,9,24],"59":[6,4,12],"60":[2,10,12],"61":[1,10,24],"62":[6,4,8],"63":[2,10,12],"64":[1,10,26],"65":[6,4,11],"66":[2,10,12],"67":[1,10,24],"68":[3,1,11],"69":[1,3,8],"70":[4,4,11],"71":[2,8,40],"72":[1,8,44],"73":[3,1,15],"74":[1,3,8],"75":[5,4,9],"76":[2,9,13],"77":[1,9,28],"78":[1,1,1],"79":[3,1,19],"80":[5,3,55],"81":[3,3,116],"82":[2,3,17],"83":[4,3,35],"84":[2,3,59],"85":[5,1,1],"86":[1,5,73],"87":[1,5,28],"88":[4,5,31],"89":[4,5,43],"90":[5,5,69],"91":[5,5,40],"92":[4,8,75],"93":[2,5,15],"94":[4,6,63],"95":[3,6,39],"96":[3,6,40],"97":[3,6,31],"98":[4,1,51],"99":[1,4,20],"100":[2,4,27],"101":[6,6,113],"102":[1,6,1],"103":[5,7,130],"104":[6,6,98],"105":[5,6,87],"106":[4,4,77],"107":[6,1,38],"108":[3,6,113],"109":[6,6,68],"110":[8,12,70],"111":[10,12,53],"112":[4,6,88],"113":[3,1,39],"114":[4,1,54],"115":[1,4,20],"116":[2,4,44],"117":[10,6,89],"118":[5,6,102],"119":[6,6,100],"120":[5,6,80],"121":[4,4,72],"122":[2,1,21],"123":[1,2,29],"124":[4,2,19],"125":[4,2,34],"126":[2,6,57],"127":[2,6,49],"128":[3,6,69],"129":[3,6,12],"130":[2,8,22],"131":[4,8,65],"132":[2,8,52],"133":[3,8,52],"134":[4,2,47],"135":[4,2,32],"136":[3,2,30],"137":[3,2,31]},"averageFieldLength":[3.391304347826087,5.318840579710146,33.31884057971015],"storedFields":{"0":{"title":"Table of contents","titles":[]},"1":{"title":"User guides","titles":["Table of contents"]},"2":{"title":"Archived Email Service API","titles":[]},"3":{"title":"Endpoints","titles":["Archived Email Service API"]},"4":{"title":"GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId","titles":["Archived Email Service API","Endpoints"]},"5":{"title":"URL Parameters","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId"]},"6":{"title":"Query Parameters","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId"]},"7":{"title":"Responses","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId"]},"8":{"title":"GET /api/v1/archived-emails/:id","titles":["Archived Email Service API","Endpoints"]},"9":{"title":"URL Parameters","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/:id"]},"10":{"title":"Responses","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/:id"]},"11":{"title":"Service Methods","titles":["Archived Email Service API"]},"12":{"title":"getArchivedEmails(ingestionSourceId: string, page: number, limit: number): Promise<PaginatedArchivedEmails>","titles":["Archived Email Service API","Service Methods"]},"13":{"title":"getArchivedEmailById(emailId: string): Promise<ArchivedEmail | null>","titles":["Archived Email Service API","Service Methods"]},"14":{"title":"Auth Service API","titles":[]},"15":{"title":"Endpoints","titles":["Auth Service API"]},"16":{"title":"POST /api/v1/auth/login","titles":["Auth Service API","Endpoints"]},"17":{"title":"Request Body","titles":["Auth Service API","Endpoints","POST /api/v1/auth/login"]},"18":{"title":"Responses","titles":["Auth Service API","Endpoints","POST /api/v1/auth/login"]},"19":{"title":"Service Methods","titles":["Auth Service API"]},"20":{"title":"verifyPassword(password: string, hash: string): Promise<boolean>","titles":["Auth Service API","Service Methods"]},"21":{"title":"login(email: string, password: string): Promise<LoginResponse | null>","titles":["Auth Service API","Service Methods"]},"22":{"title":"verifyToken(token: string): Promise<AuthTokenPayload | null>","titles":["Auth Service API","Service Methods"]},"23":{"title":"API Authentication","titles":[]},"24":{"title":"Obtaining a JWT","titles":["API Authentication"]},"25":{"title":"Making Authenticated Requests","titles":["API Authentication"]},"26":{"title":"Using a Super API Key","titles":["API Authentication"]},"27":{"title":"Dashboard Service API","titles":[]},"28":{"title":"Endpoints","titles":["Dashboard Service API"]},"29":{"title":"GET /api/v1/dashboard/stats","titles":["Dashboard Service API","Endpoints"]},"30":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/stats"]},"31":{"title":"GET /api/v1/dashboard/ingestion-history","titles":["Dashboard Service API","Endpoints"]},"32":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/ingestion-history"]},"33":{"title":"GET /api/v1/dashboard/ingestion-sources","titles":["Dashboard Service API","Endpoints"]},"34":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/ingestion-sources"]},"35":{"title":"GET /api/v1/dashboard/recent-syncs","titles":["Dashboard Service API","Endpoints"]},"36":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/recent-syncs"]},"37":{"title":"GET /api/v1/dashboard/indexed-insights","titles":["Dashboard Service API","Endpoints"]},"38":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/indexed-insights"]},"39":{"title":"API Overview","titles":[]},"40":{"title":"Authentication","titles":["API Overview"]},"41":{"title":"API Services","titles":["API Overview"]},"42":{"title":"Ingestion Service API","titles":[]},"43":{"title":"Endpoints","titles":["Ingestion Service API"]},"44":{"title":"POST /api/v1/ingestion","titles":["Ingestion Service API","Endpoints"]},"45":{"title":"Request Body","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion"]},"46":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion"]},"47":{"title":"GET /api/v1/ingestion","titles":["Ingestion Service API","Endpoints"]},"48":{"title":"Responses","titles":["Ingestion Service API","Endpoints","GET /api/v1/ingestion"]},"49":{"title":"GET /api/v1/ingestion/:id","titles":["Ingestion Service API","Endpoints"]},"50":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","GET /api/v1/ingestion/:id"]},"51":{"title":"Responses","titles":["Ingestion Service API","Endpoints","GET /api/v1/ingestion/:id"]},"52":{"title":"PUT /api/v1/ingestion/:id","titles":["Ingestion Service API","Endpoints"]},"53":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","PUT /api/v1/ingestion/:id"]},"54":{"title":"Request Body","titles":["Ingestion Service API","Endpoints","PUT /api/v1/ingestion/:id"]},"55":{"title":"Responses","titles":["Ingestion Service API","Endpoints","PUT /api/v1/ingestion/:id"]},"56":{"title":"DELETE /api/v1/ingestion/:id","titles":["Ingestion Service API","Endpoints"]},"57":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","DELETE /api/v1/ingestion/:id"]},"58":{"title":"Responses","titles":["Ingestion Service API","Endpoints","DELETE /api/v1/ingestion/:id"]},"59":{"title":"POST /api/v1/ingestion/:id/import","titles":["Ingestion Service API","Endpoints"]},"60":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/import"]},"61":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/import"]},"62":{"title":"POST /api/v1/ingestion/:id/pause","titles":["Ingestion Service API","Endpoints"]},"63":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/pause"]},"64":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/pause"]},"65":{"title":"POST /api/v1/ingestion/:id/sync","titles":["Ingestion Service API","Endpoints"]},"66":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/sync"]},"67":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/sync"]},"68":{"title":"Search Service API","titles":[]},"69":{"title":"Endpoints","titles":["Search Service API"]},"70":{"title":"GET /api/v1/search","titles":["Search Service API","Endpoints"]},"71":{"title":"Query Parameters","titles":["Search Service API","Endpoints","GET /api/v1/search"]},"72":{"title":"Responses","titles":["Search Service API","Endpoints","GET /api/v1/search"]},"73":{"title":"Storage Service API","titles":[]},"74":{"title":"Endpoints","titles":["Storage Service API"]},"75":{"title":"GET /api/v1/storage/download","titles":["Storage Service API","Endpoints"]},"76":{"title":"Query Parameters","titles":["Storage Service API","Endpoints","GET /api/v1/storage/download"]},"77":{"title":"Responses","titles":["Storage Service API","Endpoints","GET /api/v1/storage/download"]},"78":{"title":"services","titles":[]},"79":{"title":"Get Started 👋","titles":[]},"80":{"title":"What is Open Archiver? 🛡️","titles":["Get Started 👋"]},"81":{"title":"Key Features ✨","titles":["Get Started 👋"]},"82":{"title":"Installation 🚀","titles":["Get Started 👋"]},"83":{"title":"Data Source Configuration 🔌","titles":["Get Started 👋"]},"84":{"title":"Contributing ❤️","titles":["Get Started 👋"]},"85":{"title":"Pluggable Storage Service (StorageService)","titles":[]},"86":{"title":"Overview","titles":["Pluggable Storage Service (StorageService)"]},"87":{"title":"Configuration","titles":["Pluggable Storage Service (StorageService)"]},"88":{"title":"1. Choosing the Backend","titles":["Pluggable Storage Service (StorageService)","Configuration"]},"89":{"title":"2. Local Filesystem Configuration","titles":["Pluggable Storage Service (StorageService)","Configuration"]},"90":{"title":"3. S3-Compatible Storage Configuration","titles":["Pluggable Storage Service (StorageService)","Configuration"]},"91":{"title":"How to Use the Service","titles":["Pluggable Storage Service (StorageService)"]},"92":{"title":"Example: Usage in IngestionService","titles":["Pluggable Storage Service (StorageService)","How to Use the Service"]},"93":{"title":"API Reference","titles":["Pluggable Storage Service (StorageService)"]},"94":{"title":"put(path, content)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"95":{"title":"get(path)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"96":{"title":"delete(path)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"97":{"title":"exists(path)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"98":{"title":"Connecting to Google Workspace","titles":[]},"99":{"title":"Prerequisites","titles":["Connecting to Google Workspace"]},"100":{"title":"Setup Overview","titles":["Connecting to Google Workspace"]},"101":{"title":"Part 1: Google Cloud Console Setup","titles":["Connecting to Google Workspace","Setup Overview"]},"102":{"title":"Troubleshooting","titles":["Connecting to Google Workspace","Setup Overview"]},"103":{"title":"Error: "iam.disableServiceAccountKeyCreation"","titles":["Connecting to Google Workspace","Setup Overview","Troubleshooting"]},"104":{"title":"Part 2: Grant Domain-Wide Delegation","titles":["Connecting to Google Workspace","Setup Overview"]},"105":{"title":"Part 3: Connecting in OpenArchiver","titles":["Connecting to Google Workspace","Setup Overview"]},"106":{"title":"What Happens Next?","titles":["Connecting to Google Workspace"]},"107":{"title":"Connecting to a Generic IMAP Server","titles":[]},"108":{"title":"Step-by-Step Guide","titles":["Connecting to a Generic IMAP Server"]},"109":{"title":"Security Recommendation: Use an App Password","titles":["Connecting to a Generic IMAP Server"]},"110":{"title":"How to Obtain an App Password for Gmail","titles":["Connecting to a Generic IMAP Server","Security Recommendation: Use an App Password"]},"111":{"title":"How to Obtain an App Password for Outlook/Microsoft Accounts","titles":["Connecting to a Generic IMAP Server","Security Recommendation: Use an App Password"]},"112":{"title":"What Happens Next?","titles":["Connecting to a Generic IMAP Server"]},"113":{"title":"Connecting Email Providers","titles":[]},"114":{"title":"Connecting to Microsoft 365","titles":[]},"115":{"title":"Prerequisites","titles":["Connecting to Microsoft 365"]},"116":{"title":"Setup Overview","titles":["Connecting to Microsoft 365"]},"117":{"title":"Part 1: Register a New Application in Microsoft Entra ID","titles":["Connecting to Microsoft 365","Setup Overview"]},"118":{"title":"Part 2: Grant API Permissions","titles":["Connecting to Microsoft 365","Setup Overview"]},"119":{"title":"Part 3: Create a Client Secret","titles":["Connecting to Microsoft 365","Setup Overview"]},"120":{"title":"Part 4: Connecting in OpenArchiver","titles":["Connecting to Microsoft 365","Setup Overview"]},"121":{"title":"What Happens Next?","titles":["Connecting to Microsoft 365"]},"122":{"title":"Installation Guide","titles":[]},"123":{"title":"Prerequisites","titles":["Installation Guide"]},"124":{"title":"1. Clone the Repository","titles":["Installation Guide"]},"125":{"title":"2. Configure Your Environment","titles":["Installation Guide"]},"126":{"title":"Important Configuration","titles":["Installation Guide","2. Configure Your Environment"]},"127":{"title":"Storage Configuration","titles":["Installation Guide","2. Configure Your Environment"]},"128":{"title":"Using External Services","titles":["Installation Guide","2. Configure Your Environment"]},"129":{"title":"Environment Variable Reference","titles":["Installation Guide","2. Configure Your Environment"]},"130":{"title":"Application Settings","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"131":{"title":"Docker Compose Service Configuration","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"132":{"title":"Storage Settings","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"133":{"title":"Security & Authentication","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"134":{"title":"3. Run the Application","titles":["Installation Guide"]},"135":{"title":"4. Access the Application","titles":["Installation Guide"]},"136":{"title":"5. Next Steps","titles":["Installation Guide"]},"137":{"title":"Updating Your Installation","titles":["Installation Guide"]}},"dirtCount":0,"index":[["6379",{"2":{"131":1}}],["yml",{"2":{"128":3,"131":1}}],["yes",{"2":{"118":1}}],["you",{"2":{"23":1,"24":1,"25":2,"26":2,"40":1,"79":1,"81":1,"83":1,"84":2,"87":2,"89":1,"90":1,"91":1,"99":2,"101":5,"103":5,"104":4,"105":2,"107":2,"108":4,"109":3,"110":3,"111":1,"112":3,"115":1,"117":4,"118":3,"119":2,"120":2,"122":1,"123":1,"125":1,"126":2,"127":1,"128":2,"133":2,"134":3,"135":3}}],["your",{"0":{"125":1,"137":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"18":1,"23":1,"24":3,"25":1,"26":2,"80":1,"81":1,"82":1,"83":1,"90":4,"91":1,"99":2,"101":2,"103":7,"104":3,"105":2,"106":1,"108":6,"109":3,"110":1,"111":2,"112":4,"113":2,"114":1,"115":1,"117":1,"118":4,"119":1,"120":1,"121":1,"123":2,"124":1,"125":1,"126":1,"127":1,"128":5,"134":2,"135":2,"136":1,"137":1}}],["+",{"2":{"117":1,"118":1,"119":1}}],["993",{"2":{"108":1}}],["9000",{"2":{"90":1}}],["quot",{"0":{"103":2},"2":{"94":2,"101":26,"103":10,"104":10,"105":8,"106":4,"108":10,"109":4,"110":8,"111":4,"117":8,"118":6,"119":2,"120":8,"121":4}}],["query",{"0":{"6":1,"71":1,"76":1},"2":{"70":1,"71":1,"121":1}}],["`failed",{"2":{"92":1}}],["`",{"2":{"92":2}}],["`successfully",{"2":{"92":1}}],["`$",{"2":{"92":1}}],["know",{"2":{"92":1}}],["keep",{"2":{"80":1,"101":1}}],["kept",{"2":{"26":1}}],["keys",{"2":{"101":1,"103":1}}],["key=minioadmin",{"2":{"90":1}}],["keywords",{"2":{"71":1,"72":1}}],["key",{"0":{"26":1,"81":1},"2":{"26":5,"71":1,"90":5,"101":4,"103":3,"105":1,"119":1,"126":3,"131":2,"132":4,"133":5}}],["$",{"2":{"92":3}}],["=",{"2":{"92":2}}],["❤️",{"0":{"84":1}}],["✨",{"0":{"81":1}}],["🔌",{"0":{"83":1}}],["🚀",{"0":{"82":1}}],["🛡️",{"0":{"80":1}}],["👋",{"0":{"79":1},"1":{"80":1,"81":1,"82":1,"83":1,"84":1}}],["x3c",{"2":{"72":2,"92":1}}],["4gb",{"2":{"123":1}}],["4",{"0":{"120":1,"135":1}}],["42",{"2":{"38":1}}],["401",{"2":{"18":1,"25":1}}],["4000",{"2":{"130":1}}],["400",{"2":{"18":1,"72":1,"77":1}}],["404",{"2":{"10":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"77":1}}],["87654321",{"2":{"34":1}}],["0",{"2":{"90":2}}],["09",{"2":{"32":2}}],["000z",{"2":{"7":1,"10":1,"32":2}}],["00",{"2":{"7":2,"10":2,"32":4}}],["32",{"2":{"126":2,"133":1}}],["3000",{"2":{"130":1,"135":1}}],["30",{"2":{"31":1}}],["3",{"0":{"90":1,"105":1,"119":1,"134":1},"2":{"30":1,"101":1}}],["365",{"0":{"114":1},"1":{"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":1,"34":1,"80":1,"81":1,"83":1,"113":1,"114":1,"115":1,"117":1,"120":2,"136":1}}],["5432",{"2":{"131":1}}],["54321098",{"2":{"30":1}}],["5",{"0":{"136":1},"2":{"72":1}}],["500",{"2":{"7":1,"10":1,"18":1,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["7d",{"2":{"133":1}}],["7700",{"2":{"131":1}}],["7",{"2":{"29":1}}],["host",{"2":{"108":1,"112":1,"128":3,"131":4}}],["hosted",{"2":{"80":1,"107":1}}],["holds",{"2":{"81":1}}],["however",{"2":{"128":1}}],["how",{"0":{"91":1,"110":1,"111":1},"1":{"92":1},"2":{"40":1,"108":1,"109":1}}],["hex",{"2":{"126":2,"133":1}}],["here",{"2":{"108":1,"129":1}}],["hear",{"2":{"84":1}}],["header",{"2":{"23":1,"25":1,"26":1}}],["help",{"2":{"79":1}}],["high",{"2":{"81":1}}],["hits",{"2":{"72":1}}],["history",{"0":{"31":1},"1":{"32":1},"2":{"31":1,"32":2,"80":1}}],["http",{"2":{"131":1,"135":1}}],["https",{"2":{"104":2,"124":1}}],["httpget",{"2":{"25":1,"26":1}}],["httppost",{"2":{"24":1}}],["hand",{"2":{"117":1,"118":1}}],["handle",{"2":{"114":1}}],["handles",{"2":{"21":1,"41":2}}],["handling",{"2":{"14":1,"86":1}}],["happens",{"0":{"106":1,"112":1,"121":1}}],["have",{"2":{"25":1,"81":1,"84":1,"86":1,"99":2,"101":1,"103":1,"108":1,"110":1,"111":1,"115":1,"120":1,"134":1}}],["has",{"2":{"94":1,"103":2}}],["hashed",{"2":{"20":2}}],["hash",{"0":{"20":1},"2":{"20":1}}],["hasattachments",{"2":{"7":1,"10":1}}],["browser",{"2":{"135":1}}],["brute",{"2":{"16":1}}],["blank",{"2":{"117":1}}],["but",{"2":{"112":1}}],["button",{"2":{"105":1,"108":2,"117":2,"118":3,"120":1}}],["building",{"2":{"103":1}}],["built",{"2":{"86":1}}],["buffer",{"2":{"92":1,"94":2}}],["bucket",{"2":{"90":3,"92":1,"132":2}}],["bucket=email",{"2":{"90":1}}],["bug",{"2":{"84":1}}],["bugs",{"2":{"84":1}}],["bulk",{"2":{"81":1}}],["bash",{"2":{"137":1}}],["bashdocker",{"2":{"134":2}}],["bashopenssl",{"2":{"126":1}}],["bashcp",{"2":{"125":1}}],["bashgit",{"2":{"124":1}}],["based",{"2":{"91":1}}],["background",{"2":{"106":1,"118":1,"121":1,"134":1}}],["back",{"2":{"104":1}}],["backend",{"0":{"88":1},"2":{"87":1,"96":1,"130":2,"132":1,"134":1}}],["backends",{"2":{"81":1,"86":1}}],["bad",{"2":{"18":1,"72":1,"77":1}}],["being",{"2":{"118":1}}],["below",{"2":{"113":1}}],["behalf",{"2":{"98":1,"114":1,"118":1}}],["been",{"2":{"94":1}}],["between",{"2":{"86":1}}],["begin",{"2":{"83":1,"106":1,"121":2}}],["before",{"2":{"40":1,"119":2}}],["be",{"2":{"26":1,"45":1,"54":1,"89":2,"91":1,"94":2,"101":1,"103":1,"110":2,"111":1,"117":1,"119":1}}],["bearer",{"2":{"25":2,"26":2}}],["bottom",{"2":{"110":1,"118":1}}],["both",{"2":{"81":1,"118":1}}],["boxes",{"2":{"118":1}}],["box",{"2":{"103":1,"118":1}}],["boolean",{"0":{"20":1},"2":{"97":1}}],["body",{"0":{"17":1,"45":1,"54":1},"2":{"45":1,"54":1}}],["byte",{"2":{"126":1,"133":1}}],["by",{"0":{"108":1},"2":{"8":1,"13":1,"21":1,"24":1,"31":1,"49":1,"104":1,"121":1,"127":1,"131":1,"135":1}}],["cd",{"2":{"124":1}}],["certificates",{"2":{"119":1}}],["center",{"2":{"116":1,"117":1,"120":1}}],["crucial",{"2":{"118":1}}],["critical",{"2":{"118":1}}],["credential",{"2":{"128":1}}],["credentials",{"2":{"16":1,"18":2,"24":1,"87":1,"90":1,"100":1,"101":1,"105":1,"112":1,"116":1,"127":1}}],["creating",{"2":{"116":1}}],["creation",{"2":{"103":2}}],["create",{"0":{"119":1},"2":{"89":1,"91":1,"101":8,"103":1,"105":2,"108":2,"109":1,"110":1,"111":2,"117":1,"119":1,"120":2,"125":1,"134":2}}],["created",{"2":{"46":2,"89":1,"101":1,"104":2}}],["createingestionsourcedto",{"2":{"45":2}}],["creates",{"2":{"44":1}}],["current",{"2":{"112":1}}],["currently",{"2":{"35":1}}],["customize",{"2":{"125":1}}],["custom",{"2":{"110":1}}],["calendar",{"2":{"119":1}}],["called",{"2":{"109":1}}],["cases",{"2":{"127":1}}],["case",{"2":{"109":1}}],["catch",{"2":{"92":1}}],["care",{"2":{"92":1}}],["can",{"2":{"26":2,"94":1,"103":1,"106":1,"109":1,"112":1,"113":1,"117":1,"121":1,"126":1,"128":1,"134":2,"135":2}}],["clone",{"0":{"124":1},"2":{"124":2}}],["cloud",{"0":{"101":1},"2":{"88":1,"98":1,"99":1,"100":1,"101":2,"103":2,"104":1,"115":1}}],["client",{"0":{"119":1},"2":{"104":5,"116":1,"119":3,"120":2}}],["click",{"2":{"101":6,"103":2,"104":4,"105":2,"108":2,"110":2,"111":1,"117":2,"118":4,"119":2,"120":2}}],["class",{"2":{"92":1}}],["clear",{"2":{"81":1,"119":1}}],["choose",{"2":{"110":1,"113":1}}],["choosing",{"0":{"88":1}}],["checkmark",{"2":{"118":1}}],["check",{"2":{"97":1,"106":1,"112":3,"118":1,"134":1}}],["checks",{"2":{"97":1}}],["changed",{"2":{"121":1}}],["changes",{"2":{"105":2,"108":2,"120":2,"137":1}}],["change",{"2":{"86":1,"106":1,"121":1,"126":1,"127":1,"128":1,"133":2}}],["column",{"2":{"119":1}}],["copied",{"2":{"104":1,"120":1}}],["copy",{"2":{"104":1,"105":1,"110":1,"119":2,"120":1,"125":1}}],["core",{"2":{"86":1}}],["correct",{"2":{"24":1,"91":1}}],["correctness",{"2":{"20":1}}],["costs",{"2":{"81":1}}],["count",{"2":{"32":2,"38":1}}],["code",{"2":{"25":1,"84":3,"86":1}}],["comment",{"2":{"128":1}}],["commands",{"2":{"137":1}}],["command",{"2":{"126":1,"134":1}}],["comma",{"2":{"104":1}}],["common",{"2":{"86":1,"107":1}}],["community",{"2":{"84":1}}],["communications",{"2":{"81":1}}],["communication",{"2":{"26":1,"80":1}}],["compose",{"0":{"131":1},"2":{"122":1,"123":1,"127":1,"128":3,"131":1,"134":3,"137":2}}],["complex",{"2":{"126":1}}],["complete",{"2":{"106":1,"112":1,"129":1}}],["compliance",{"2":{"81":1}}],["computer",{"2":{"101":1}}],["comprehensive",{"2":{"81":1}}],["compression",{"2":{"81":1}}],["compatible",{"0":{"90":1},"2":{"81":1,"86":1,"88":1,"127":1,"132":5}}],["compare",{"2":{"20":1}}],["compares",{"2":{"20":1}}],["com",{"2":{"7":2,"10":2,"18":1,"24":2,"38":1,"71":1,"72":1,"104":3,"105":1,"108":2,"110":1,"124":1,"133":1}}],["convenience",{"2":{"128":1}}],["confirmation",{"2":{"118":1}}],["configuring",{"2":{"100":1}}],["configure",{"0":{"125":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"83":1,"120":1,"128":1,"131":1,"136":1}}],["configured",{"2":{"73":1,"87":1,"125":1,"134":1,"135":1}}],["configuration",{"0":{"83":1,"87":1,"89":1,"90":1,"126":1,"127":1,"131":1},"1":{"88":1,"89":1,"90":1},"2":{"86":1,"91":1,"92":1,"105":1,"108":2,"120":1,"125":1,"129":1}}],["configurations",{"2":{"42":1}}],["consult",{"2":{"109":1}}],["consent",{"2":{"98":1,"118":2}}],["console",{"0":{"101":1},"2":{"92":2,"99":1,"100":2,"101":1,"103":1,"104":2}}],["constraint",{"2":{"103":1}}],["constructor",{"2":{"92":1}}],["const",{"2":{"92":1}}],["consistent",{"2":{"86":1}}],["conduct",{"2":{"84":1}}],["connection",{"2":{"98":2,"106":1,"108":3,"112":2,"114":2,"120":1,"121":1,"131":1}}],["connecting",{"0":{"98":1,"105":1,"107":1,"113":1,"114":1,"120":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"108":1,"109":1,"110":1,"111":1,"112":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":3,"42":1,"83":3,"107":1,"113":1,"136":3}}],["connect",{"2":{"81":1,"83":1,"106":1,"112":2,"113":1,"121":1,"128":1}}],["controls",{"2":{"104":1}}],["control",{"2":{"104":1}}],["contribute",{"2":{"84":1}}],["contributions",{"2":{"84":2}}],["contributing",{"0":{"84":1},"2":{"84":1}}],["containers",{"2":{"134":2}}],["contains",{"2":{"101":1}}],["containing",{"2":{"21":1,"30":1,"32":1,"38":1}}],["continue",{"2":{"101":1}}],["continuous",{"2":{"81":1,"106":1,"121":1}}],["content",{"0":{"94":1},"2":{"8":1,"13":1,"24":1,"58":1,"94":2,"95":1,"105":1}}],["contents",{"0":{"0":1},"1":{"1":1},"2":{"101":1}}],["job",{"2":{"106":1,"121":1}}],["jobs",{"2":{"35":1}}],["just",{"2":{"101":1}}],["jwt",{"0":{"24":1},"2":{"16":1,"18":1,"21":1,"22":2,"23":1,"24":1,"25":1,"126":1,"133":4}}],["json",{"2":{"7":1,"10":1,"18":4,"23":1,"24":2,"30":1,"32":1,"34":1,"36":1,"38":1,"72":1,"101":3,"103":2,"105":2}}],["volumes",{"2":{"134":1}}],["volume",{"2":{"127":1}}],["void",{"2":{"94":1,"96":1}}],["void>",{"2":{"92":1}}],["visible",{"2":{"119":1}}],["visit",{"2":{"110":1}}],["view",{"2":{"112":1}}],["via",{"2":{"87":1,"91":1}}],["variety",{"2":{"113":1}}],["variable",{"0":{"129":1},"1":{"130":1,"131":1,"132":1,"133":1},"2":{"88":1,"130":1,"131":1,"132":1,"133":1}}],["variables",{"2":{"87":1,"125":1,"127":2,"128":1,"129":1,"131":1}}],["var",{"2":{"89":1,"132":1}}],["valkey",{"2":{"123":1,"126":1,"128":2,"131":4}}],["values",{"2":{"126":1}}],["value",{"2":{"71":1,"119":2,"120":4,"130":1,"131":1,"132":1,"133":1}}],["valid",{"2":{"16":1,"20":1,"22":1,"112":1}}],["version",{"2":{"137":1}}],["very",{"2":{"133":1}}],["verified",{"2":{"106":1}}],["verifies",{"2":{"21":1,"22":1}}],["verification",{"2":{"14":1,"110":2,"111":2}}],["verifytoken",{"0":{"22":1}}],["verify",{"2":{"20":1,"22":1}}],["verifypassword",{"0":{"20":1}}],["vendor",{"2":{"80":1}}],["v1",{"0":{"4":1,"8":1,"16":1,"29":1,"31":1,"33":1,"35":1,"37":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"70":1,"75":1},"1":{"5":1,"6":1,"7":1,"9":1,"10":1,"17":1,"18":1,"30":1,"32":1,"34":1,"36":1,"38":1,"45":1,"46":1,"48":1,"50":1,"51":1,"53":1,"54":1,"55":1,"57":1,"58":1,"60":1,"61":1,"63":1,"64":1,"66":1,"67":1,"71":1,"72":1,"76":1,"77":1},"2":{"24":2,"25":1,"26":1,"39":1}}],["|",{"0":{"13":1,"21":1,"22":1},"2":{"45":2,"54":8,"94":1}}],["ll",{"2":{"110":1,"125":1}}],["least",{"2":{"123":1}}],["leave",{"2":{"117":1}}],["left",{"2":{"117":1,"118":1}}],["level",{"2":{"103":2,"119":1}}],["legal",{"2":{"81":1}}],["latest",{"2":{"137":3}}],["large",{"2":{"94":1}}],["last",{"2":{"29":1,"31":1,"71":2}}],["long",{"2":{"126":1}}],["lose",{"2":{"119":1}}],["looks",{"2":{"108":1}}],["love",{"2":{"84":1}}],["logging",{"2":{"136":1}}],["log",{"2":{"92":1,"108":1,"135":1}}],["logiclabs",{"2":{"124":1}}],["logic",{"2":{"86":1}}],["loginresponse",{"0":{"21":1},"2":{"21":1}}],["login",{"0":{"16":1,"21":1},"1":{"17":1,"18":1},"2":{"14":1,"21":1,"24":2,"109":1}}],["logs",{"2":{"81":1}}],["located",{"2":{"118":1}}],["localhost",{"2":{"135":1}}],["localfilesystemprovider",{"2":{"91":1}}],["local",{"0":{"89":1},"2":{"81":1,"86":1,"88":1,"89":3,"92":1,"123":3,"127":2,"132":4,"133":1}}],["lock",{"2":{"80":1}}],["lt",{"0":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"94":1,"95":1,"96":1,"97":1}}],["library",{"2":{"101":1}}],["litigation",{"2":{"81":1}}],["lifecycle",{"2":{"81":1}}],["like",{"2":{"81":1,"84":1,"86":1,"90":1,"108":1,"109":1,"110":1}}],["limited",{"2":{"16":1}}],["limiting",{"2":{"16":1}}],["limit",{"0":{"12":1},"2":{"6":1,"7":1,"12":1,"71":1,"72":1}}],["list",{"2":{"4":1,"7":1,"12":1,"33":1,"35":1,"101":1,"103":1,"104":2,"106":1,"113":1,"118":1,"121":1,"129":1}}],["myaccount",{"2":{"110":1}}],["months",{"2":{"119":1}}],["most",{"2":{"117":1,"127":1}}],["modify",{"2":{"103":1,"128":1}}],["modifications",{"2":{"86":1}}],["more",{"2":{"83":1,"84":1}}],["md",{"2":{"84":1}}],["master",{"2":{"126":1,"131":2}}],["machine",{"2":{"123":3,"124":1}}],["may",{"2":{"110":1,"112":1}}],["manually",{"2":{"112":1}}],["many",{"2":{"107":1,"109":1}}],["managed",{"2":{"128":1}}],["manager",{"2":{"119":1}}],["manage",{"2":{"81":1,"101":1,"104":1}}],["manages",{"2":{"41":3,"42":1}}],["mail",{"2":{"108":1,"116":1,"118":1}}],["mailbox",{"2":{"106":1,"112":1}}],["mailboxes",{"2":{"98":1,"106":2,"114":1,"118":1,"121":1}}],["maintain",{"2":{"81":1}}],["main",{"2":{"27":1,"41":1,"100":1,"105":1,"108":1,"109":2,"112":1,"116":1,"117":1}}],["major",{"2":{"80":1}}],["matching",{"2":{"71":1}}],["matchingstrategy",{"2":{"71":1}}],["making",{"0":{"25":1},"2":{"40":1}}],["must",{"2":{"25":1,"40":1,"87":1,"89":1,"90":1,"99":2,"103":1,"110":1,"111":1,"115":1,"118":2,"119":1,"126":1}}],["meili",{"2":{"126":1,"128":1,"131":2}}],["meilisearch",{"2":{"123":1,"126":1,"128":2,"131":3}}],["means",{"2":{"103":1}}],["menu",{"2":{"101":1,"103":1,"108":1,"118":1,"119":1}}],["method",{"2":{"98":1,"114":1,"122":1}}],["methods",{"0":{"11":1,"19":1},"1":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"93":1}}],["memory",{"2":{"94":1}}],["messages",{"2":{"92":1}}],["messageid",{"2":{"92":3}}],["message",{"2":{"18":3,"94":1,"103":1}}],["minio",{"2":{"81":1,"88":1,"90":1}}],["minimize",{"2":{"81":1}}],["missing",{"2":{"25":1}}],["mimetype",{"2":{"10":1}}],["microsoft",{"0":{"111":1,"114":1,"117":1},"1":{"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":1,"34":2,"45":1,"54":1,"80":1,"81":1,"83":1,"111":2,"113":1,"114":3,"115":1,"116":1,"117":2,"118":1,"120":2,"121":2,"136":1}}],["would",{"2":{"128":1}}],["work",{"2":{"108":1}}],["workspace",{"0":{"98":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1},"2":{"1":1,"34":1,"80":1,"81":1,"83":1,"98":1,"99":1,"100":1,"104":3,"105":3,"106":1,"113":1,"136":1}}],["want",{"2":{"127":1}}],["warning",{"2":{"118":1}}],["walk",{"2":{"107":1,"122":1}}],["was",{"2":{"10":1,"58":1,"61":1,"67":1,"112":1}}],["www",{"2":{"104":2}}],["writing",{"2":{"92":1}}],["while",{"2":{"112":1}}],["which",{"2":{"42":1,"86":1,"88":1,"107":1,"108":1,"117":1,"127":1}}],["where",{"2":{"89":2}}],["when",{"2":{"81":1,"89":1,"90":2,"94":1,"96":1,"103":1,"127":1}}],["who",{"2":{"81":1}}],["what",{"0":{"80":1,"106":1,"112":1,"121":1},"2":{"81":1}}],["we",{"2":{"84":2,"109":1,"119":1}}],["well",{"2":{"80":1}}],["welcome",{"2":{"39":1,"79":1,"84":1}}],["web",{"2":{"23":1,"135":2}}],["wide",{"0":{"104":1},"2":{"98":1,"104":2}}],["wish",{"2":{"87":1}}],["will",{"2":{"24":1,"25":1,"35":1,"79":1,"83":1,"88":1,"89":3,"91":1,"94":1,"96":1,"101":3,"104":1,"105":2,"106":6,"107":1,"108":3,"110":1,"111":1,"112":4,"117":3,"118":1,"119":2,"121":6,"122":1,"128":1,"134":1}}],["without",{"2":{"92":1,"96":1,"98":1,"109":1,"110":1,"114":1,"118":1}}],["within",{"2":{"76":1,"89":1,"98":1,"114":1,"116":1,"117":1}}],["with",{"2":{"10":1,"20":1,"24":1,"25":1,"33":1,"39":1,"40":1,"64":1,"79":1,"86":1,"95":1,"97":1,"98":1,"99":1,"108":1,"118":1,"119":1,"123":1,"126":1,"133":1,"134":1,"135":1,"137":1}}],["run",{"0":{"134":1},"2":{"118":1,"137":1}}],["running",{"2":{"82":1,"134":1,"135":1}}],["rule",{"2":{"103":1}}],["rules",{"2":{"103":1}}],["root",{"2":{"89":3,"132":2}}],["robust",{"2":{"80":1}}],["roles",{"2":{"101":1,"103":3,"115":1}}],["role",{"2":{"18":1,"24":1}}],["rand",{"2":{"126":1}}],["random",{"2":{"126":1}}],["ram",{"2":{"123":2}}],["rate",{"2":{"16":2}}],["rawemail",{"2":{"92":2}}],["raw",{"2":{"8":1,"10":1,"13":1}}],["remove",{"2":{"128":1}}],["reminder",{"2":{"119":1}}],["related",{"2":{"127":1}}],["redis",{"2":{"123":1,"126":2,"128":2,"131":8}}],["redirect",{"2":{"117":1}}],["renew",{"2":{"119":1}}],["register",{"0":{"117":1},"2":{"117":2}}],["registering",{"2":{"116":1}}],["registrations",{"2":{"117":1}}],["registration",{"2":{"114":1,"117":2,"120":1}}],["region",{"2":{"90":2,"132":2}}],["region=us",{"2":{"90":1}}],["reflect",{"2":{"112":1}}],["reference",{"0":{"93":1,"129":1},"1":{"94":1,"95":1,"96":1,"97":1,"130":1,"131":1,"132":1,"133":1}}],["revoke",{"2":{"109":1}}],["reveal",{"2":{"108":1}}],["readonly",{"2":{"104":2}}],["readable",{"2":{"95":2}}],["readablestream",{"2":{"94":2,"95":1}}],["reads",{"2":{"92":1}}],["read",{"2":{"84":1,"104":1,"114":1,"116":1,"118":3}}],["real",{"2":{"81":1}}],["repository",{"0":{"124":1},"2":{"84":2,"124":1,"137":1}}],["reporting",{"2":{"84":1}}],["receive",{"2":{"103":1}}],["recent",{"0":{"35":1},"1":{"36":1},"2":{"35":1}}],["recommend",{"2":{"109":1,"119":1}}],["recommendation",{"0":{"109":1},"1":{"110":1,"111":1}}],["recommended",{"2":{"90":1,"108":1,"122":1}}],["recognize",{"2":{"108":1,"110":1,"117":1}}],["record",{"2":{"80":1,"81":1}}],["recipient1",{"2":{"7":1,"10":1}}],["recipient",{"2":{"7":1,"10":1}}],["recipients",{"2":{"7":1,"10":1}}],["requiring",{"2":{"86":1,"98":1}}],["required",{"2":{"18":1,"72":1,"77":1,"101":1,"108":1,"118":1,"120":1,"127":1,"132":5,"134":1}}],["require",{"2":{"3":1,"28":1,"43":1,"69":1,"74":1}}],["requests",{"0":{"25":1},"2":{"23":1,"25":1,"40":1,"84":1}}],["request",{"0":{"17":1,"45":1,"54":1},"2":{"18":1,"24":1,"45":1,"54":1,"72":1,"77":1,"84":1,"118":1}}],["resume",{"2":{"112":1}}],["result",{"2":{"72":1}}],["results",{"2":{"71":1}}],["resolve",{"2":{"96":1,"103":1}}],["resolves",{"2":{"12":1,"13":1,"20":1,"21":1,"22":1,"94":1,"95":1,"96":1,"97":1}}],["restart",{"2":{"137":1}}],["rest",{"2":{"81":1}}],["respond",{"2":{"25":1}}],["response",{"2":{"24":1}}],["responses",{"0":{"7":1,"10":1,"18":1,"30":1,"32":1,"34":1,"36":1,"38":1,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["responsible",{"2":{"2":1,"14":1}}],["retry",{"2":{"103":1}}],["retrieve",{"2":{"95":1}}],["retrieves",{"2":{"4":1,"8":1,"12":1,"13":1,"29":1,"31":1,"33":1,"35":1,"37":1,"47":1,"49":1,"95":1}}],["retrieving",{"2":{"2":1,"27":1,"86":1}}],["retention",{"2":{"81":2}}],["return",{"2":{"24":1,"35":1,"93":1,"103":1}}],["returns",{"2":{"12":1,"13":1,"16":1,"20":1,"21":1,"22":1,"94":1,"95":1,"96":1,"97":1}}],["navigating",{"2":{"119":1,"135":1}}],["navigation",{"2":{"103":1,"117":1}}],["navigate",{"2":{"101":2,"103":2,"104":1,"105":1,"108":1,"111":1,"119":1,"120":1}}],["named",{"2":{"127":1}}],["name",{"2":{"7":1,"10":1,"34":2,"45":1,"54":1,"90":1,"101":1,"105":2,"108":2,"110":2,"117":2,"118":1,"120":2,"131":1,"132":1}}],["now",{"2":{"104":2,"112":1,"118":2,"119":2,"120":1,"125":1}}],["node",{"2":{"103":1,"130":1}}],["nodejs",{"2":{"94":1,"95":1}}],["non",{"2":{"90":1}}],["no",{"2":{"58":1,"86":1}}],["note",{"2":{"35":1,"103":1}}],["not",{"2":{"10":2,"13":1,"18":1,"51":2,"55":2,"58":2,"61":2,"64":2,"67":2,"77":2,"95":1,"96":1,"101":1,"103":1,"112":1,"120":1,"127":1}}],["next",{"0":{"106":1,"112":1,"121":1,"136":1},"2":{"118":1,"136":1}}],["never",{"2":{"91":1}}],["necessary",{"2":{"87":1,"100":1}}],["newly",{"2":{"46":1}}],["new",{"0":{"117":1},"2":{"44":1,"84":1,"92":1,"101":2,"103":1,"104":1,"105":2,"106":1,"108":2,"111":3,"112":2,"116":1,"117":1,"118":1,"119":2,"120":2,"121":1,"137":1}}],["needing",{"2":{"114":1}}],["needs",{"2":{"101":1,"116":1}}],["needed",{"2":{"89":1}}],["need",{"2":{"23":1,"24":1,"83":1,"101":2,"109":1,"125":1}}],["null",{"0":{"13":1,"21":1,"22":1},"2":{"13":1,"21":1,"22":1}}],["number",{"0":{"12":2},"2":{"6":4,"12":2,"29":2,"71":4,"106":1,"108":1}}],["2gb",{"2":{"123":1}}],["24",{"2":{"119":1}}],["2",{"0":{"89":1,"104":1,"118":1,"125":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"34":1,"110":2}}],["28t00",{"2":{"32":1}}],["27t00",{"2":{"32":1}}],["27t10",{"2":{"7":1,"10":1}}],["202",{"2":{"61":1,"67":1}}],["2023",{"2":{"7":1,"10":1,"32":2}}],["204",{"2":{"58":1}}],["201",{"2":{"46":1}}],["200",{"2":{"7":1,"10":1,"18":1,"30":1,"32":2,"34":1,"36":1,"38":1,"48":1,"51":1,"55":1,"64":1,"72":1,"77":1}}],["ou",{"2":{"124":1}}],["outlook",{"0":{"111":1},"2":{"109":1}}],["out",{"2":{"108":1,"128":1}}],["our",{"2":{"82":1,"83":1,"84":3}}],["oauth",{"2":{"104":1}}],["other",{"2":{"91":1,"105":1,"110":1,"134":1}}],["otherwise",{"2":{"20":1,"22":1,"97":1}}],["option",{"2":{"117":1}}],["options",{"2":{"111":2}}],["optional",{"2":{"90":2,"117":1,"132":1}}],["operations",{"2":{"86":1}}],["openarchiver",{"0":{"105":1,"120":1},"2":{"100":1,"110":2,"111":1,"116":2,"117":1,"119":1,"120":1,"124":2}}],["open",{"0":{"80":1},"2":{"39":1,"79":1,"80":3,"82":1,"84":2,"89":1,"105":1,"108":1,"113":1,"122":1,"124":1,"125":1,"128":1,"131":2,"132":1,"135":1,"136":1,"137":1}}],["own",{"2":{"82":1,"128":1}}],["only",{"2":{"86":1,"103":1,"109":1,"117":2,"119":1,"121":1}}],["ones",{"2":{"128":1}}],["one",{"2":{"83":1,"101":1,"109":1,"112":1,"115":1,"119":1,"126":1}}],["on",{"2":{"40":1,"81":1,"84":2,"89":1,"91":1,"98":1,"101":1,"103":1,"104":1,"106":1,"110":1,"112":2,"114":1,"117":1,"118":1,"120":1,"123":2}}],["once",{"2":{"25":1,"103":1,"106":1,"108":1,"121":1,"134":1,"135":1}}],["overwritten",{"2":{"94":1}}],["overview",{"0":{"39":1,"86":1,"100":1,"116":1},"1":{"40":1,"41":1,"101":1,"102":1,"103":1,"104":1,"105":1,"117":1,"118":1,"119":1,"120":1},"2":{"117":1,"120":2}}],["overall",{"2":{"29":1}}],["obtain",{"0":{"110":1,"111":1},"2":{"40":1}}],["obtaining",{"0":{"24":1}}],["objects",{"2":{"34":1,"48":1}}],["object",{"2":{"12":1,"13":1,"21":1,"30":1,"32":1,"38":1,"45":1,"51":1,"54":1,"55":1,"64":1,"71":1,"72":1,"81":1,"86":1,"88":1,"90":1,"127":1}}],["organizational",{"2":{"117":1}}],["organization",{"2":{"98":1,"99":1,"103":9,"114":1,"118":2,"121":1}}],["or",{"2":{"13":1,"18":1,"21":1,"25":1,"26":1,"71":1,"77":1,"81":1,"83":1,"91":1,"92":2,"94":1,"98":1,"103":1,"107":1,"108":3,"112":1,"115":1,"119":1,"121":1,"123":3,"128":2,"131":1,"132":1}}],["occurred",{"2":{"7":1,"10":1,"18":2,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["ok",{"2":{"7":1,"10":1,"18":1,"30":1,"32":1,"34":1,"36":1,"38":1,"48":1,"51":1,"55":1,"64":1,"72":1,"77":1}}],["often",{"2":{"108":1}}],["of",{"0":{"0":1},"1":{"1":1},"2":{"4":1,"5":1,"6":1,"7":1,"9":1,"12":3,"13":1,"22":1,"23":1,"25":1,"29":2,"33":1,"34":1,"35":1,"48":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"80":1,"81":3,"82":1,"84":1,"90":3,"91":1,"94":1,"95":2,"96":1,"97":2,"98":2,"101":1,"103":2,"104":1,"105":2,"106":5,"109":1,"112":4,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":2,"121":3,"123":2,"128":1,"129":1,"131":1,"134":1}}],["16",{"2":{"110":1}}],["12",{"2":{"119":1}}],["123",{"2":{"94":1}}],["12345678",{"2":{"34":1}}],["12345",{"2":{"10":1,"30":1}}],["127",{"2":{"90":1}}],["150",{"2":{"32":1}}],["100",{"2":{"7":1}}],["10",{"2":{"6":1,"7":2,"10":1,"71":1,"72":1}}],["1",{"0":{"88":1,"101":1,"117":1,"124":1},"2":{"6":1,"7":2,"10":1,"34":1,"71":1,"72":3,"90":2,"103":1,"105":1}}],["uri",{"2":{"117":1}}],["url",{"0":{"5":1,"9":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1},"2":{"90":1,"128":1,"131":2}}],["updating",{"0":{"137":1}}],["update",{"2":{"112":1,"128":2,"137":1}}],["updated",{"2":{"55":1,"64":1,"103":1}}],["updateingestionsourcedto",{"2":{"54":2}}],["updates",{"2":{"52":1}}],["up",{"2":{"79":1,"98":1,"114":1,"121":1,"122":1,"134":1,"137":1}}],["upon",{"2":{"21":1}}],["usually",{"2":{"103":1}}],["usage",{"0":{"92":1},"2":{"33":1}}],["uses",{"2":{"81":1,"88":2,"98":1,"114":1,"127":1}}],["used",{"2":{"29":1,"91":1,"131":1}}],["use",{"0":{"91":1,"109":1},"1":{"92":1,"110":1,"111":1},"2":{"26":1,"40":1,"71":1,"80":1,"87":1,"88":1,"90":1,"92":1,"103":1,"105":1,"108":1,"110":1,"111":2,"119":1,"121":1,"123":1,"127":2,"128":1,"132":1}}],["username",{"2":{"108":2,"112":1,"131":1}}],["users",{"2":{"104":1,"105":1,"106":3,"121":2}}],["userid",{"2":{"92":2}}],["user",{"0":{"1":1},"2":{"14":1,"16":1,"17":2,"18":4,"21":5,"24":5,"38":1,"41":1,"90":2,"94":1,"98":3,"103":1,"104":1,"105":1,"106":2,"114":2,"118":3,"121":1,"126":1,"131":1,"133":2}}],["using",{"0":{"26":1,"128":1},"2":{"25":1,"26":1,"79":1,"90":1,"103":1,"109":1,"112":1,"122":1,"125":1,"127":1,"134":1}}],["unable",{"2":{"112":1}}],["unauthorized",{"2":{"18":1,"25":1}}],["until",{"2":{"112":1}}],["under",{"2":{"101":1,"104":2}}],["underlying",{"2":{"86":1}}],["unique",{"2":{"92":1,"94":1,"95":1,"96":1,"97":1,"104":2,"109":1,"126":2}}],["unified",{"2":{"86":1}}],["universal",{"2":{"81":1}}],["unrestricted",{"2":{"26":1}}],["unexpected",{"2":{"7":1,"10":1,"18":1,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["ecosystem",{"2":{"117":1}}],["ever",{"2":{"109":1,"114":1}}],["easily",{"2":{"108":1}}],["east",{"2":{"90":1}}],["each",{"2":{"106":1}}],["either",{"2":{"103":1}}],["editor",{"2":{"125":1}}],["edit",{"2":{"103":3,"112":1}}],["ediscovery",{"2":{"80":1,"81":1}}],["efficiency",{"2":{"94":1}}],["efficiently",{"2":{"121":1}}],["efficient",{"2":{"81":1}}],["etc",{"2":{"81":1}}],["e",{"2":{"71":1,"86":1,"88":1,"94":1,"101":2,"105":2,"120":1}}],["eml`",{"2":{"92":1}}],["eml",{"2":{"81":1,"94":1}}],["em>",{"2":{"72":1}}],["em>test",{"2":{"72":1}}],["empty",{"2":{"35":1,"36":1}}],["emailid",{"0":{"13":1},"2":{"13":1}}],["emails",{"0":{"4":1,"8":1},"1":{"5":1,"6":1,"7":1,"9":1,"10":1},"2":{"2":1,"4":1,"5":1,"7":1,"12":1,"29":1,"41":1,"42":1,"68":1,"70":1,"80":1,"81":2,"83":1,"94":1,"106":1,"107":1,"112":3,"113":1,"121":1,"136":1}}],["email",{"0":{"2":1,"21":1,"113":1},"1":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"2":{"1":1,"2":1,"7":3,"8":1,"9":1,"10":5,"13":2,"17":2,"18":3,"21":3,"24":3,"31":1,"37":1,"41":3,"42":1,"72":3,"80":2,"83":1,"92":3,"101":2,"104":1,"105":2,"107":2,"108":5,"109":2,"113":2,"114":1,"133":2,"135":1}}],["encrypting",{"2":{"126":1,"133":1}}],["encryption",{"2":{"126":1,"133":1}}],["encrypted",{"2":{"81":1}}],["enhanced",{"2":{"109":1}}],["enhancements",{"2":{"84":1}}],["entra",{"0":{"117":1},"2":{"114":1,"116":2,"117":1,"120":1}}],["entire",{"2":{"105":1}}],["entirely",{"2":{"103":1}}],["enter",{"2":{"104":1,"105":1,"108":4,"119":1}}],["entering",{"2":{"100":1,"116":1}}],["enforced",{"2":{"103":1}}],["enable",{"2":{"101":3,"110":1,"111":1,"131":1}}],["enabled",{"2":{"80":1,"111":1,"131":1}}],["ensure",{"2":{"94":1}}],["ensuring",{"2":{"81":1,"121":1}}],["engine",{"2":{"81":1}}],["environment",{"0":{"125":1,"129":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":2,"131":2,"132":2,"133":2},"2":{"87":1,"92":1,"125":2,"129":1,"130":1}}],["env",{"2":{"26":1,"87":1,"89":2,"90":2,"91":1,"125":4,"128":1,"130":1,"134":1,"135":1}}],["endpoint=http",{"2":{"90":1}}],["endpoint",{"2":{"16":1,"24":1,"68":1,"73":1,"90":3,"132":2}}],["endpoints",{"0":{"3":1,"15":1,"28":1,"43":1,"69":1,"74":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"16":1,"17":1,"18":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"70":1,"71":1,"72":1,"75":1,"76":1,"77":1},"2":{"3":1,"23":1,"25":1,"27":1,"28":1,"39":2,"40":1,"43":1,"69":1,"74":1}}],["external",{"0":{"128":1},"2":{"123":1,"128":2}}],["exactly",{"2":{"104":1}}],["example",{"0":{"92":1},"2":{"7":2,"10":2,"18":1,"24":2,"25":1,"26":1,"38":1,"71":1,"72":1,"125":2,"128":1}}],["exclude",{"2":{"103":1}}],["existence",{"2":{"97":1}}],["exist",{"2":{"96":1}}],["exists",{"0":{"97":1},"2":{"94":1,"97":1}}],["existing",{"2":{"52":1}}],["expiry",{"2":{"119":1}}],["expires",{"2":{"119":2,"133":1}}],["expired",{"2":{"25":1}}],["expiration",{"2":{"22":1,"133":1}}],["error",{"0":{"103":1},"2":{"7":2,"10":2,"18":3,"34":1,"46":2,"48":2,"51":2,"54":1,"55":2,"58":2,"61":2,"64":2,"67":2,"72":2,"77":2,"92":3,"95":1,"96":1,"103":1,"112":1}}],["flag",{"2":{"134":1}}],["fetch",{"2":{"121":1}}],["feature",{"2":{"84":1,"121":1}}],["features",{"0":{"81":1}}],["function",{"2":{"101":1}}],["functionality",{"2":{"41":1}}],["fully",{"2":{"119":1}}],["full",{"2":{"81":1,"90":1,"108":1}}],["frontend",{"2":{"130":2,"134":1}}],["from=user",{"2":{"71":1}}],["from",{"2":{"2":1,"7":1,"10":1,"12":1,"37":1,"72":1,"73":1,"75":1,"80":2,"84":1,"86":2,"92":2,"95":1,"96":1,"103":2,"104":2,"105":2,"107":1,"108":2,"112":2,"113":1,"118":2,"120":1,"128":1,"137":1}}],["free",{"2":{"80":1}}],["fastmail",{"2":{"109":1}}],["factory",{"2":{"91":1}}],["failedingestionslast7days",{"2":{"30":1}}],["failed",{"2":{"29":1}}],["fails",{"2":{"21":1}}],["false",{"2":{"20":1,"97":1,"131":1,"132":1}}],["final",{"2":{"118":1}}],["finally",{"2":{"105":1}}],["find",{"2":{"84":1,"101":1,"103":1,"104":1,"118":1}}],["finds",{"2":{"21":1}}],["filled",{"2":{"108":1}}],["fill",{"2":{"105":1,"108":2,"120":1,"127":1}}],["filter",{"2":{"103":1}}],["filtering",{"2":{"71":1}}],["filters",{"2":{"71":1}}],["filesystem",{"0":{"89":1},"2":{"81":1,"86":1,"88":1,"127":1}}],["files",{"2":{"73":1,"86":1,"89":1,"94":2}}],["file",{"2":{"26":1,"41":1,"75":1,"76":1,"77":3,"84":1,"86":1,"87":1,"94":5,"95":4,"96":4,"97":3,"101":3,"105":2,"125":3,"128":3,"132":1,"134":1,"135":1}}],["filename",{"2":{"10":1}}],["first",{"2":{"24":1,"106":1,"117":1,"124":1}}],["fields",{"2":{"108":2}}],["field",{"2":{"17":1,"104":2,"110":1,"111":1}}],["folder",{"2":{"121":2}}],["following",{"2":{"101":1,"103":1,"104":1,"115":1,"118":1,"126":2,"137":1}}],["follow",{"2":{"82":1,"83":1}}],["four",{"2":{"116":1}}],["found",{"2":{"10":2,"13":1,"51":2,"55":2,"58":2,"61":2,"64":2,"67":2,"77":2,"95":1}}],["form",{"2":{"108":1,"110":1,"111":1}}],["format",{"2":{"81":1}}],["formatted",{"2":{"72":1}}],["fork",{"2":{"84":1}}],["forced",{"2":{"65":1}}],["force",{"2":{"16":1,"67":1,"90":2,"132":2}}],["for",{"0":{"110":1,"111":1},"2":{"2":1,"4":1,"5":1,"6":1,"12":2,"14":1,"26":1,"27":2,"31":1,"40":1,"41":1,"42":1,"59":1,"65":1,"68":1,"71":2,"73":1,"80":2,"84":3,"86":2,"87":1,"90":5,"92":1,"94":3,"97":1,"98":1,"101":2,"103":2,"106":1,"107":1,"108":6,"109":1,"110":1,"111":1,"112":2,"113":1,"114":1,"116":2,"117":1,"118":3,"122":1,"125":1,"126":6,"127":1,"128":5,"129":1,"130":2,"131":9,"132":7,"133":5,"134":2}}],["db",{"2":{"131":1}}],["duration",{"2":{"119":1}}],["during",{"2":{"81":1}}],["dropdown",{"2":{"105":1,"108":1,"120":1}}],["digit",{"2":{"110":1}}],["dialog",{"2":{"108":1,"118":1}}],["directory",{"2":{"94":1,"104":1,"117":2,"120":1}}],["directly",{"2":{"91":1}}],["displayed",{"2":{"110":1,"119":1}}],["discovered",{"2":{"106":1,"121":1}}],["discovery",{"2":{"106":1,"121":1}}],["discover",{"2":{"105":1}}],["discussion",{"2":{"84":1}}],["disable",{"2":{"103":1,"131":1}}],["disableserviceaccountkeycreation",{"0":{"103":1},"2":{"103":2}}],["disk",{"2":{"92":1}}],["different",{"2":{"86":1}}],["d",{"2":{"84":2,"134":2,"137":1}}],["double",{"2":{"112":1}}],["down",{"2":{"111":1}}],["downloaded",{"2":{"101":1,"105":1}}],["download",{"0":{"75":1},"1":{"76":1,"77":1}}],["downloading",{"2":{"73":1}}],["downloads",{"2":{"41":1,"75":1}}],["dot",{"2":{"101":1}}],["do",{"2":{"101":1,"128":1}}],["done",{"2":{"101":1}}],["don",{"2":{"101":1}}],["domain",{"0":{"104":1},"2":{"98":1,"104":3,"105":1,"108":1}}],["does",{"2":{"96":1}}],["doesn",{"2":{"92":1}}],["docker",{"0":{"131":1},"2":{"122":1,"123":2,"125":2,"127":2,"128":3,"131":1,"134":2,"137":3}}],["docx",{"2":{"81":1}}],["document",{"2":{"10":1}}],["documentation",{"2":{"1":1,"39":1,"109":1}}],["date",{"2":{"32":2,"121":1}}],["data",{"0":{"83":1},"2":{"27":1,"37":1,"41":1,"56":1,"81":2,"89":1,"98":1,"104":3,"114":1,"126":1,"127":1,"132":1,"133":1,"134":1}}],["database",{"2":{"2":1,"12":1,"126":2,"128":1,"131":5,"134":1}}],["day",{"2":{"31":1}}],["days",{"2":{"29":1,"31":1}}],["dashboard",{"0":{"27":1,"29":1,"31":1,"33":1,"35":1,"37":1},"1":{"28":1,"29":1,"30":2,"31":1,"32":2,"33":1,"34":2,"35":1,"36":2,"37":1,"38":2},"2":{"25":1,"26":1,"27":2,"30":1,"41":2,"105":1,"108":1}}],["development",{"2":{"130":1}}],["delta",{"2":{"121":1}}],["delegation",{"0":{"104":1},"2":{"98":1,"104":2}}],["deleting",{"2":{"86":1}}],["deletion",{"2":{"81":1}}],["deleted",{"2":{"58":1,"96":1}}],["deletes",{"2":{"56":1,"96":1}}],["delete",{"0":{"56":1,"96":1},"1":{"57":1,"58":1},"2":{"96":1,"109":1}}],["depending",{"2":{"106":1,"112":1}}],["dependency",{"2":{"91":1}}],["deploying",{"2":{"83":1,"122":1,"136":1}}],["determines",{"2":{"88":1}}],["detailed",{"2":{"39":1,"82":1,"83":1}}],["details",{"2":{"2":1,"10":1,"21":1,"40":1,"84":1,"104":2,"105":1,"108":2,"120":1}}],["descriptive",{"2":{"108":1,"117":1}}],["description",{"2":{"5":1,"6":1,"9":1,"17":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1,"101":1,"119":2,"130":1,"131":1,"132":1,"133":1}}],["described",{"2":{"103":1}}],["designed",{"2":{"91":1}}],["design",{"2":{"86":1}}],["decouple",{"2":{"86":1}}],["definitions",{"2":{"128":1}}],["define",{"2":{"81":1,"92":1}}],["defaultredispassword",{"2":{"131":1}}],["default",{"2":{"6":1,"71":1,"117":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1}}],["deduplication",{"2":{"81":1}}],["ps",{"2":{"134":1}}],["pieces",{"2":{"120":1}}],["point",{"2":{"128":1}}],["popular",{"2":{"113":1}}],["port",{"2":{"108":2,"112":1,"128":1,"130":4,"131":2}}],["policy",{"2":{"103":9}}],["policies",{"2":{"81":1,"103":1}}],["powerful",{"2":{"81":1}}],["postgresql",{"2":{"128":1,"131":5}}],["postgres",{"2":{"123":1,"126":1,"128":1,"131":4}}],["post",{"0":{"16":1,"44":1,"59":1,"62":1,"65":1},"1":{"17":1,"18":1,"45":1,"46":1,"60":1,"61":1,"63":1,"64":1,"66":1,"67":1}}],["pencil",{"2":{"103":1}}],["pending",{"2":{"54":1}}],["persistent",{"2":{"134":1}}],["persisted",{"2":{"127":1}}],["personal",{"2":{"108":1}}],["periodically",{"2":{"106":1,"112":1}}],["permitted",{"2":{"104":1}}],["permit",{"2":{"103":1}}],["permissions",{"0":{"118":1},"2":{"100":1,"103":2,"116":1,"118":10}}],["permission",{"2":{"98":1,"114":1,"118":1}}],["permanent",{"2":{"80":1}}],["performed",{"2":{"116":1}}],["performing",{"2":{"112":1}}],["performance",{"2":{"81":1}}],["perform",{"2":{"81":1}}],["performs",{"2":{"70":1}}],["per",{"2":{"6":1,"12":1,"71":1}}],["purpose",{"2":{"86":1}}],["pull",{"2":{"84":2,"134":1,"137":4}}],["put",{"0":{"52":1,"94":1},"1":{"53":1,"54":1,"55":1},"2":{"92":1}}],["public",{"2":{"16":1,"92":1}}],["please",{"2":{"84":3,"109":1,"112":1}}],["place",{"2":{"81":1}}],["placeholder",{"2":{"35":1,"126":1}}],["platforms",{"2":{"80":1}}],["platform",{"2":{"79":1,"80":1}}],["plain",{"2":{"20":2}}],["pluggable",{"0":{"85":1},"1":{"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"81":1}}],["privileges",{"2":{"99":1,"133":1}}],["private",{"2":{"92":1,"101":1}}],["primary",{"2":{"86":1}}],["previous",{"2":{"120":1}}],["preventing",{"2":{"103":1}}],["prevent",{"2":{"16":1,"81":1,"119":1}}],["prerequisites",{"0":{"99":1,"115":1,"123":1}}],["prefixed",{"2":{"39":1}}],["profiles",{"2":{"118":1}}],["protocol",{"2":{"107":1}}],["protected",{"2":{"23":1,"25":1,"40":1}}],["project",{"2":{"101":4,"103":4}}],["proof",{"2":{"80":1}}],["providing",{"2":{"24":1}}],["provide",{"2":{"87":1,"89":1,"90":1,"91":1,"105":1}}],["providerconfig",{"2":{"45":1,"54":1}}],["provider",{"2":{"34":2,"45":1,"54":1,"73":1,"76":1,"83":1,"88":1,"90":1,"91":1,"105":1,"107":1,"108":3,"109":1,"113":1,"120":1}}],["providers",{"0":{"113":1},"2":{"1":1,"42":1,"86":2,"91":1,"109":1,"113":1}}],["provides",{"2":{"26":1,"27":1,"39":1,"41":1,"68":1,"73":1,"80":1,"86":1,"98":1,"113":1,"114":1}}],["provided",{"2":{"18":1,"112":1}}],["processingtimems",{"2":{"72":1}}],["process",{"2":{"21":1,"59":1,"84":1,"100":1,"106":1,"116":1,"121":1}}],["promise",{"0":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"12":1,"13":1,"20":1,"21":1,"22":1,"92":1,"93":1,"94":2,"95":2,"96":3,"97":2}}],["pdf",{"2":{"10":2,"81":1}}],["pane",{"2":{"117":1,"118":1,"119":1}}],["paste",{"2":{"104":2,"105":1,"110":1,"120":1}}],["passwords",{"2":{"98":1,"109":1,"110":1,"111":1,"114":1}}],["password",{"0":{"20":1,"21":1,"109":1,"110":1,"111":1},"1":{"110":1,"111":1},"2":{"17":2,"18":2,"20":6,"21":3,"24":3,"108":2,"109":5,"110":5,"111":6,"112":1,"116":1,"119":3,"126":6,"131":6,"133":3,"135":1}}],["part",{"0":{"101":1,"104":1,"105":1,"117":1,"118":1,"119":1,"120":1},"2":{"101":2,"103":1,"105":1}}],["parts",{"2":{"100":1,"116":1}}],["parameter",{"2":{"5":1,"6":1,"9":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1}}],["parameters",{"0":{"5":1,"6":1,"9":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1}}],["path=",{"2":{"89":1}}],["path",{"0":{"94":1,"95":1,"96":1,"97":1},"2":{"76":2,"77":1,"89":4,"90":2,"92":1,"94":3,"95":3,"96":1,"97":1,"132":4}}],["pairs",{"2":{"71":1}}],["pauses",{"2":{"62":1}}],["pause",{"0":{"62":1},"1":{"63":1,"64":1},"2":{"112":1}}],["paused",{"2":{"54":1,"64":1,"112":1}}],["pagination",{"2":{"6":1,"12":1,"71":1}}],["paginatedarchivedemails",{"0":{"12":1},"2":{"12":1}}],["paginated",{"2":{"4":1,"7":1,"12":1}}],["page",{"0":{"12":1},"2":{"6":3,"7":1,"12":3,"71":3,"72":1,"103":1,"105":1,"108":1,"112":1,"117":2,"118":1,"120":3}}],["same",{"2":{"119":1}}],["saved",{"2":{"106":1,"120":1,"121":1}}],["save",{"2":{"105":2,"108":2,"112":1,"120":2}}],["spaces",{"2":{"110":1}}],["specify",{"2":{"87":1}}],["specified",{"2":{"10":1,"94":1,"95":2}}],["specific",{"2":{"4":1,"103":1,"108":1,"109":2,"116":1,"118":1}}],["show",{"2":{"106":1,"118":1,"121":1}}],["should",{"2":{"26":1,"45":1,"54":1,"91":1,"103":1,"118":1,"133":2}}],["sdk",{"2":{"101":1,"106":1}}],["small",{"2":{"94":1}}],["switch",{"2":{"86":1}}],["s3storageprovider",{"2":{"91":1}}],["s3",{"0":{"90":1},"2":{"81":2,"86":1,"88":2,"90":18,"92":1,"127":5,"132":18}}],["system",{"2":{"81":2,"106":3,"112":5,"121":3}}],["sync",{"0":{"65":1},"1":{"66":1,"67":1},"2":{"67":1,"106":1,"112":1,"121":1}}],["synchronization",{"2":{"35":1,"65":1,"81":1}}],["syncs",{"0":{"35":1},"1":{"36":1}}],["so",{"2":{"128":1}}],["sometimes",{"2":{"109":1}}],["solution",{"2":{"80":1}}],["sovereign",{"2":{"80":1}}],["source",{"0":{"4":1,"83":1},"1":{"5":1,"6":1,"7":1},"2":{"4":1,"5":1,"12":2,"34":3,"44":1,"46":1,"48":1,"49":1,"50":1,"51":2,"52":1,"53":1,"55":2,"56":1,"57":1,"58":2,"59":1,"60":1,"61":1,"62":1,"63":1,"64":2,"65":1,"66":1,"67":1,"80":1,"105":2,"107":1,"108":3,"110":1,"111":1,"112":1,"120":2}}],["sources",{"0":{"33":1},"1":{"34":1},"2":{"1":1,"33":1,"41":1,"42":1,"47":1,"83":1,"105":2,"108":1,"112":1,"113":1,"120":2,"136":1}}],["screen",{"2":{"117":1}}],["scroll",{"2":{"111":1}}],["scripts",{"2":{"26":1}}],["scopes",{"2":{"104":3}}],["scheme",{"2":{"25":1}}],["suitable",{"2":{"127":1}}],["suggesting",{"2":{"84":1}}],["supported",{"2":{"117":1}}],["supports",{"2":{"107":1}}],["support",{"2":{"81":1,"109":1}}],["super",{"0":{"26":1},"2":{"26":4,"99":1,"105":1,"133":2}}],["success",{"2":{"54":1}}],["successfully",{"2":{"58":1,"61":1,"67":1,"94":1,"96":1,"136":1}}],["successful",{"2":{"18":1,"21":1,"24":1}}],["such",{"2":{"37":1,"108":1,"117":1,"119":1}}],["subdirectories",{"2":{"89":1}}],["submitting",{"2":{"84":1}}],["submit",{"2":{"84":1}}],["subsequent",{"2":{"25":1}}],["subject",{"2":{"7":1,"10":1,"72":2}}],["s",{"2":{"17":2,"21":2,"22":1,"86":1,"88":1,"95":1,"104":1,"105":1,"106":1,"108":1,"109":1,"117":1,"118":2,"119":2,"121":1}}],["signing",{"2":{"126":1,"133":1}}],["significant",{"2":{"106":1,"121":1}}],["signed",{"2":{"118":1}}],["sign",{"2":{"110":1,"111":1,"117":1}}],["simply",{"2":{"109":1}}],["size",{"2":{"106":1,"112":1}}],["sizebytes",{"2":{"10":1}}],["single",{"2":{"8":1,"13":1,"49":1,"117":1}}],["several",{"2":{"108":1}}],["separated",{"2":{"104":1}}],["selector",{"2":{"103":1}}],["select",{"2":{"101":2,"103":2,"105":1,"108":1,"110":1,"117":1,"118":4,"119":2,"120":1}}],["selected",{"2":{"101":1}}],["self",{"2":{"80":1,"107":1}}],["searching",{"2":{"68":1,"80":1}}],["search",{"0":{"68":1,"70":1},"1":{"69":1,"70":1,"71":2,"72":2},"2":{"41":2,"68":1,"70":1,"71":1,"72":1,"81":2,"101":1,"103":1,"118":1}}],["see",{"2":{"40":1,"108":1,"109":1,"118":1}}],["security",{"0":{"109":1,"133":1},"1":{"110":1,"111":1},"2":{"103":1,"104":1,"109":1,"111":2,"119":1}}],["secure",{"2":{"80":1,"81":1,"98":1,"101":1,"108":1,"114":1,"116":1,"117":1,"119":1,"126":1}}],["section",{"2":{"39":1,"101":1,"104":1,"111":1,"113":1}}],["secrets",{"2":{"119":2}}],["secret",{"0":{"119":1},"2":{"26":2,"90":3,"116":1,"119":4,"120":3,"126":1,"132":2,"133":3}}],["setup",{"0":{"100":1,"101":1,"116":1},"1":{"101":1,"102":1,"103":1,"104":1,"105":1,"117":1,"118":1,"119":1,"120":1},"2":{"100":1,"116":1,"127":1}}],["settings",{"0":{"130":1,"132":1},"2":{"87":1,"125":1}}],["setting",{"2":{"79":1,"122":1}}],["set",{"2":{"26":1,"89":1,"90":2,"98":1,"114":1,"119":1,"127":1}}],["sensitive",{"2":{"126":1,"133":1}}],["sentat",{"2":{"7":1,"10":1}}],["senders",{"2":{"37":1}}],["sender",{"2":{"7":1,"10":1,"38":1,"72":1}}],["service",{"0":{"2":1,"11":1,"14":1,"19":1,"27":1,"42":1,"68":1,"73":1,"85":1,"91":1,"131":1},"1":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":2,"13":2,"15":1,"16":1,"17":1,"18":1,"19":1,"20":2,"21":2,"22":2,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"69":1,"70":1,"71":1,"72":1,"74":1,"75":1,"76":1,"77":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":2,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"2":1,"3":1,"14":1,"27":1,"28":1,"41":6,"42":1,"43":1,"68":1,"69":1,"73":1,"74":1,"86":1,"88":2,"89":1,"92":1,"98":2,"100":1,"101":9,"103":1,"104":6,"105":2,"106":1,"108":1,"109":1,"114":1,"117":2,"118":1,"119":2,"121":1,"126":1,"128":2,"130":2,"131":4}}],["services",{"0":{"41":1,"78":1,"128":1},"2":{"1":1,"90":1,"91":1,"101":1,"107":1,"128":3,"131":1,"134":2,"135":1,"137":1}}],["servers",{"2":{"81":1}}],["server",{"0":{"107":1},"1":{"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"1":1,"7":1,"10":1,"18":2,"26":2,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1,"83":1,"88":1,"89":1,"108":2,"112":1,"113":1,"123":3,"136":1}}],["steps",{"0":{"136":1}}],["step",{"0":{"108":2},"2":{"110":2,"111":2,"118":1,"120":1,"136":1}}],["still",{"2":{"96":1}}],["style",{"2":{"90":1,"132":2}}],["style=true",{"2":{"90":1}}],["stores",{"2":{"94":1}}],["store",{"2":{"86":1,"119":1,"125":1}}],["stored",{"2":{"81":1,"89":1,"94":1}}],["storing",{"2":{"80":1,"86":1}}],["storageused",{"2":{"34":2}}],["storageservice",{"0":{"85":1},"1":{"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"86":1,"87":1,"91":2,"92":8,"93":1}}],["storage",{"0":{"73":1,"75":1,"85":1,"90":1,"127":1,"132":1},"1":{"74":1,"75":1,"76":2,"77":2,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"2":1,"29":1,"33":1,"41":2,"73":2,"75":1,"76":1,"81":5,"86":4,"87":1,"88":5,"89":4,"90":16,"96":1,"127":5,"132":20}}],["strong",{"2":{"126":3,"133":1}}],["strongly",{"2":{"108":1,"109":1}}],["structure",{"2":{"94":1}}],["structured",{"2":{"92":1}}],["stream",{"2":{"77":1,"95":2}}],["strategy",{"2":{"71":1}}],["string",{"0":{"12":1,"13":1,"20":2,"21":2,"22":1},"2":{"5":1,"9":1,"17":2,"22":1,"45":1,"50":1,"53":1,"54":1,"57":1,"60":1,"63":1,"66":1,"71":2,"76":1,"92":2,"94":1,"95":1,"96":1,"97":1,"126":2,"133":1}}],["stays",{"2":{"121":1}}],["starting",{"2":{"128":1}}],["start",{"2":{"84":1,"106":1,"134":2,"136":1}}],["started",{"0":{"79":1},"1":{"80":1,"81":1,"82":1,"83":1,"84":1},"2":{"1":1,"79":1,"113":1}}],["standardized",{"2":{"86":1}}],["standard",{"2":{"81":2,"107":1,"114":1}}],["state",{"2":{"112":1}}],["stating",{"2":{"103":1}}],["statistics",{"2":{"27":1,"29":1,"30":1}}],["status",{"2":{"25":1,"33":1,"34":2,"54":1,"64":1,"106":2,"112":1,"118":2,"121":2,"134":1}}],["stats",{"0":{"29":1},"1":{"30":1},"2":{"25":1,"26":1}}],["icon",{"2":{"103":2}}],["iam",{"0":{"103":1},"2":{"101":1,"103":6}}],["images",{"2":{"134":1,"137":2}}],["imap",{"0":{"107":1},"1":{"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"1":1,"45":1,"54":1,"80":1,"81":1,"83":1,"107":2,"108":7,"112":1,"113":1,"136":1}}],["immediately",{"2":{"119":1}}],["immutable",{"2":{"81":1}}],["impersonated",{"2":{"105":1}}],["implements",{"2":{"93":1}}],["important",{"0":{"126":1}}],["imports",{"2":{"81":1}}],["import",{"0":{"59":1},"1":{"60":1,"61":1},"2":{"59":1,"61":1,"106":3,"112":2,"121":3}}],["importing",{"2":{"42":1,"54":1,"106":1,"112":1,"121":1}}],["if",{"2":{"13":1,"16":1,"20":1,"21":1,"22":1,"24":1,"25":1,"84":2,"92":1,"94":1,"95":1,"96":1,"97":1,"101":1,"103":2,"109":2,"119":1,"123":1,"127":1,"132":5}}],["it",{"2":{"21":1,"25":1,"26":1,"84":1,"87":1,"92":2,"94":2,"101":2,"103":3,"105":1,"110":2,"112":1,"116":1,"118":1,"119":5}}],["its",{"2":{"8":2,"13":2,"20":1,"49":1,"86":1,"94":1,"112":1}}],["items",{"2":{"6":1,"7":1,"12":1,"71":1}}],["identity",{"2":{"116":1,"117":2}}],["identifier",{"2":{"94":1,"95":1,"96":1,"97":1}}],["idea",{"2":{"84":1}}],["id=minioadmin",{"2":{"90":1}}],["id",{"0":{"8":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"117":1},"1":{"9":1,"10":1,"50":1,"51":1,"53":1,"54":1,"55":1,"57":1,"58":1,"60":1,"61":1,"63":1,"64":1,"66":1,"67":1},"2":{"5":1,"7":2,"8":1,"9":2,"10":5,"12":1,"13":2,"18":2,"24":2,"34":4,"49":1,"50":2,"53":2,"57":2,"60":2,"63":2,"66":2,"72":2,"90":1,"104":5,"114":1,"116":1,"120":3,"132":2}}],["istorageprovider",{"2":{"86":1,"93":1}}],["issue",{"2":{"84":2}}],["is",{"0":{"80":1},"2":{"2":1,"14":1,"16":1,"20":1,"25":1,"35":1,"77":1,"81":1,"86":2,"87":1,"89":1,"90":1,"91":1,"92":2,"95":1,"96":1,"98":1,"103":2,"104":2,"106":2,"107":1,"108":3,"112":3,"114":1,"117":1,"118":1,"119":3,"120":1,"121":1,"122":1,"125":1,"127":3,"129":1,"132":5,"136":1}}],["ingest",{"2":{"113":1}}],["ingestioncredentials",{"2":{"45":1,"54":1}}],["ingestionservice",{"0":{"92":1},"2":{"92":1}}],["ingestions",{"2":{"29":1,"108":1,"112":1}}],["ingestionsourceid",{"0":{"4":1,"12":1},"1":{"5":1,"6":1,"7":1},"2":{"5":1,"12":1}}],["ingestion",{"0":{"4":1,"31":1,"33":1,"42":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1},"1":{"5":1,"6":1,"7":1,"32":1,"34":1,"43":1,"44":1,"45":2,"46":2,"47":1,"48":2,"49":1,"50":2,"51":2,"52":1,"53":2,"54":2,"55":2,"56":1,"57":2,"58":2,"59":1,"60":2,"61":2,"62":1,"63":2,"64":2,"65":1,"66":2,"67":2},"2":{"1":1,"4":1,"5":1,"12":2,"31":1,"32":1,"33":1,"34":1,"41":2,"42":2,"44":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":2,"52":1,"53":1,"55":2,"56":1,"57":1,"58":2,"59":1,"60":1,"61":1,"62":1,"63":1,"64":2,"65":1,"66":1,"67":1,"81":1,"83":1,"105":2,"107":1,"108":3,"110":1,"111":1,"112":2,"120":2,"136":1}}],["inbox",{"2":{"112":1}}],["inboxes",{"2":{"80":1}}],["into",{"2":{"100":1,"105":1,"110":1,"116":1,"136":1}}],["interruption",{"2":{"119":1}}],["interface",{"2":{"86":2,"93":1,"135":1}}],["internal",{"2":{"7":1,"10":1,"18":2,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["involves",{"2":{"100":1,"116":1}}],["invalid",{"2":{"18":2,"25":1,"77":1}}],["individual",{"2":{"98":1}}],["indexes",{"2":{"81":1}}],["indexed",{"0":{"37":1},"1":{"38":1},"2":{"37":1,"38":1,"68":1,"70":1}}],["indexing",{"2":{"80":1}}],["injection",{"2":{"91":1}}],["initial",{"2":{"59":1,"61":1,"81":1,"106":2,"112":2,"121":2,"126":1,"133":2}}],["information",{"2":{"39":1,"120":1}}],["instructions",{"2":{"98":1,"114":1}}],["instead",{"2":{"91":1,"109":1,"128":1}}],["installed",{"2":{"123":2}}],["installation",{"0":{"82":1,"122":1,"137":1},"1":{"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1},"2":{"1":1,"82":2}}],["instantiated",{"2":{"92":1}}],["instantiate",{"2":{"91":1}}],["instances",{"2":{"123":1,"128":2}}],["instance",{"2":{"82":1,"91":1,"126":1,"137":1}}],["insights",{"0":{"37":1},"1":{"38":1},"2":{"37":1,"38":1}}],["includes",{"2":{"128":1}}],["include",{"2":{"23":1,"25":1,"26":1}}],["including",{"2":{"8":1,"13":1,"14":1,"29":1,"80":1,"94":1}}],["in",{"0":{"92":1,"105":1,"117":1,"120":1},"2":{"3":1,"23":1,"25":1,"26":2,"28":1,"29":1,"43":1,"69":1,"74":1,"80":1,"81":1,"87":1,"91":1,"99":1,"100":2,"101":4,"103":4,"104":4,"105":3,"106":1,"108":3,"109":1,"110":2,"111":3,"114":1,"115":1,"116":1,"117":3,"118":6,"119":4,"120":4,"121":1,"125":1,"126":1,"127":1,"133":1,"134":1,"135":3}}],["again",{"2":{"110":1,"112":1}}],["against",{"2":{"20":1,"70":1}}],["amount",{"2":{"106":1,"121":1}}],["amp",{"0":{"133":1},"2":{"81":3,"101":2,"103":2,"119":1}}],["away",{"2":{"119":1}}],["await",{"2":{"92":1}}],["aws",{"2":{"81":1,"88":1,"90":3}}],["advanced",{"2":{"111":1}}],["add",{"2":{"101":1,"103":2,"104":1,"118":2,"119":1}}],["addressing",{"2":{"132":1}}],["address",{"2":{"17":1,"105":1,"108":2}}],["admin",{"2":{"100":1,"101":2,"103":2,"104":3,"105":2,"106":1,"116":1,"117":1,"118":1,"120":1,"126":2,"131":2,"133":6,"135":2}}],["administrator",{"2":{"98":1,"99":1,"103":3,"105":1,"115":4,"119":1}}],["administrators",{"2":{"86":1,"98":1,"114":1}}],["above",{"2":{"118":1}}],["about",{"2":{"39":1}}],["able",{"2":{"103":1}}],["abc",{"2":{"94":1}}],["absolute",{"2":{"89":1}}],["abstract",{"2":{"86":1}}],["affecting",{"2":{"109":1}}],["affordable",{"2":{"80":1}}],["after",{"2":{"83":1,"106":1,"112":1,"121":1,"136":1}}],["audit",{"2":{"81":1}}],["auditing",{"2":{"81":1}}],["automatically",{"2":{"81":1,"92":1,"106":1}}],["authority",{"2":{"105":1}}],["authorize",{"2":{"104":3}}],["authorizing",{"2":{"100":1}}],["authorization",{"2":{"23":1,"25":2,"26":2}}],["authenticity",{"2":{"22":1}}],["authenticate",{"2":{"24":1,"26":1,"40":1,"119":1}}],["authenticates",{"2":{"16":1}}],["authenticated",{"0":{"25":1},"2":{"4":1,"8":1,"29":1,"31":1,"33":1,"35":1,"37":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"70":1,"75":1}}],["authentication",{"0":{"23":1,"40":1,"133":1},"1":{"24":1,"25":1,"26":1},"2":{"3":1,"14":1,"18":1,"21":2,"28":1,"40":1,"41":1,"43":1,"69":1,"74":1,"126":1}}],["authtokenpayload",{"0":{"22":1},"2":{"22":1}}],["auth",{"0":{"14":1,"16":1},"1":{"15":1,"16":1,"17":2,"18":2,"19":1,"20":1,"21":1,"22":1},"2":{"14":1,"24":2,"41":1,"54":2,"104":2}}],["attempt",{"2":{"112":1}}],["attacks",{"2":{"16":1}}],["attachment",{"2":{"10":1}}],["attachments",{"2":{"8":1,"10":1,"13":1,"81":1}}],["at",{"2":{"81":1,"94":2,"95":1,"103":2,"104":1,"110":1,"117":1,"118":1,"123":1}}],["available",{"2":{"39":1,"103":1,"129":1}}],["acts",{"2":{"117":1}}],["actions",{"2":{"101":1}}],["activities",{"2":{"81":1}}],["active",{"2":{"34":1,"54":1,"62":1,"106":2,"112":1,"121":1}}],["accounts",{"0":{"111":1},"2":{"101":1,"104":1,"117":1}}],["account",{"2":{"98":1,"99":1,"100":1,"101":6,"103":2,"104":5,"105":1,"107":1,"108":2,"109":2,"110":1,"111":2,"117":1}}],["accepted",{"2":{"61":1,"67":1}}],["accessed",{"2":{"81":1}}],["accesstoken",{"2":{"18":1,"21":1,"24":2,"25":1}}],["access",{"0":{"135":1},"2":{"4":1,"8":1,"16":1,"23":1,"26":1,"29":1,"31":1,"33":1,"35":1,"37":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"70":1,"75":1,"90":5,"98":1,"99":1,"104":2,"109":2,"132":4,"135":1}}],["across",{"2":{"86":1,"104":1}}],["asamplemasterkey",{"2":{"131":1}}],["asked",{"2":{"110":1}}],["asynchronous",{"2":{"93":1}}],["async",{"2":{"92":1}}],["associated",{"2":{"56":1,"99":1}}],["as",{"2":{"26":1,"37":1,"80":2,"89":1,"95":1,"101":2,"103":1,"104":1,"106":1,"107":1,"108":1,"117":2,"118":1,"119":2,"121":1}}],["already",{"2":{"94":1,"101":1}}],["also",{"2":{"89":1,"120":1}}],["along",{"2":{"33":1}}],["alternatively",{"2":{"26":1}}],["allow",{"2":{"109":1}}],["allows",{"2":{"86":1,"98":1,"107":1,"114":1,"118":1}}],["all",{"2":{"3":1,"25":1,"28":1,"33":1,"39":1,"43":1,"47":1,"56":1,"69":1,"71":1,"74":1,"81":2,"86":1,"93":1,"98":1,"105":1,"106":2,"108":1,"112":1,"114":1,"116":1,"118":1,"121":2,"134":1}}],["arguments",{"2":{"92":1}}],["around",{"2":{"86":1}}],["archiving",{"2":{"80":2,"83":1,"98":2,"101":1,"106":1,"109":1,"114":2,"117":1,"119":1,"121":1,"136":1}}],["archivepath",{"2":{"92":3}}],["archiveemail",{"2":{"92":1}}],["archive",{"2":{"89":1,"90":1,"92":1,"105":1,"106":1,"107":1,"112":1,"113":1,"120":1,"121":1,"131":2}}],["archiver",{"0":{"80":1},"2":{"39":1,"79":1,"80":2,"82":1,"89":1,"101":2,"103":1,"113":1,"116":1,"122":1,"124":1,"127":1,"128":1,"132":1,"135":1,"136":1,"137":1}}],["archivedemail",{"0":{"13":1},"2":{"13":1}}],["archived",{"0":{"2":1,"4":1,"8":1},"1":{"3":1,"4":1,"5":2,"6":2,"7":2,"8":1,"9":2,"10":2,"11":1,"12":1,"13":1},"2":{"2":2,"4":1,"7":1,"8":1,"9":1,"10":2,"12":1,"13":2,"29":1,"41":2,"92":1}}],["array",{"2":{"34":1,"35":1,"36":1,"48":1}}],["area",{"2":{"105":1}}],["are",{"2":{"16":1,"18":1,"24":1,"39":1,"42":1,"72":1,"81":1,"93":1,"103":2,"127":1,"131":1,"135":1}}],["apppasswords",{"2":{"110":1}}],["app",{"0":{"109":1,"110":1,"111":1},"1":{"110":1,"111":1},"2":{"109":4,"110":2,"111":3,"114":1,"117":2,"120":1}}],["appears",{"2":{"119":1}}],["appear",{"2":{"104":1}}],["applications",{"2":{"117":1}}],["application",{"0":{"117":1,"130":1,"134":1,"135":1},"2":{"10":1,"24":1,"83":1,"86":2,"100":1,"105":1,"109":1,"115":2,"116":5,"117":3,"118":3,"119":1,"120":2,"122":1,"125":1,"128":1,"130":1}}],["apis",{"2":{"101":4}}],["api",{"0":{"2":1,"4":1,"8":1,"14":1,"16":1,"23":1,"26":1,"27":1,"29":1,"31":1,"33":1,"35":1,"37":1,"39":1,"41":1,"42":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"68":1,"70":1,"73":1,"75":1,"93":1,"118":1},"1":{"3":1,"4":1,"5":2,"6":2,"7":2,"8":1,"9":2,"10":2,"11":1,"12":1,"13":1,"15":1,"16":1,"17":2,"18":2,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":2,"31":1,"32":2,"33":1,"34":2,"35":1,"36":2,"37":1,"38":2,"40":1,"41":1,"43":1,"44":1,"45":2,"46":2,"47":1,"48":2,"49":1,"50":2,"51":2,"52":1,"53":2,"54":2,"55":2,"56":1,"57":2,"58":2,"59":1,"60":2,"61":2,"62":1,"63":2,"64":2,"65":1,"66":2,"67":2,"69":1,"70":1,"71":2,"72":2,"74":1,"75":1,"76":2,"77":2,"94":1,"95":1,"96":1,"97":1},"2":{"1":2,"23":1,"24":3,"25":2,"26":6,"39":4,"40":2,"86":1,"90":1,"101":2,"104":1,"114":1,"118":2,"121":1,"133":2}}],["any",{"2":{"92":1,"101":1,"107":1,"112":1}}],["an",{"0":{"109":1,"110":1,"111":1},"1":{"110":1,"111":1},"2":{"7":1,"10":1,"13":1,"18":2,"24":1,"30":1,"32":1,"34":1,"35":1,"36":1,"38":1,"46":1,"48":2,"51":1,"52":1,"54":1,"55":1,"56":1,"58":1,"59":1,"61":1,"62":1,"64":1,"65":1,"67":1,"68":1,"72":1,"73":1,"77":1,"81":1,"84":3,"86":1,"88":1,"91":1,"92":1,"95":1,"96":1,"103":1,"107":1,"108":2,"109":2,"114":1,"117":3,"119":2,"133":1}}],["and",{"2":{"2":2,"8":1,"13":1,"14":1,"16":1,"18":1,"21":2,"22":1,"24":1,"26":1,"27":1,"29":1,"33":1,"35":1,"40":1,"41":1,"42":1,"56":1,"79":1,"80":3,"81":6,"84":2,"86":1,"87":2,"90":1,"91":1,"93":1,"97":1,"101":6,"103":2,"104":4,"105":1,"106":3,"109":2,"110":2,"111":1,"112":4,"113":1,"114":1,"116":1,"118":2,"119":2,"120":2,"123":2,"125":1,"127":1,"128":4,"134":2,"135":1,"136":1}}],["a",{"0":{"24":1,"26":1,"107":1,"117":1,"119":1},"1":{"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"1":1,"4":2,"7":1,"8":1,"12":4,"13":2,"16":2,"20":3,"21":3,"22":2,"23":1,"25":1,"26":2,"33":1,"35":2,"44":1,"45":1,"49":1,"64":1,"65":1,"70":1,"72":1,"75":1,"80":3,"81":2,"83":1,"84":3,"86":4,"92":2,"93":1,"94":6,"95":4,"96":2,"97":2,"98":3,"101":8,"103":4,"104":1,"105":3,"106":3,"107":1,"108":4,"109":2,"110":2,"111":3,"112":1,"113":1,"114":2,"116":3,"117":1,"118":4,"119":5,"120":2,"121":3,"123":1,"125":2,"126":6,"127":1,"129":1,"133":4,"136":1}}],["tls",{"2":{"131":2}}],["turned",{"2":{"110":1}}],["typically",{"2":{"108":1}}],["types",{"2":{"117":1}}],["typescriptimport",{"2":{"92":1}}],["typescriptinterface",{"2":{"45":1,"54":1}}],["type=s3",{"2":{"88":1,"90":1}}],["type=local",{"2":{"88":1,"89":1}}],["type",{"2":{"5":1,"6":1,"9":1,"17":1,"24":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1,"88":1,"89":1,"90":1,"101":1,"127":2,"132":6}}],["two",{"2":{"101":1,"103":1,"104":1,"111":2,"118":1}}],["t",{"2":{"92":1,"101":1}}],["tbd",{"2":{"81":2}}],["time",{"2":{"81":1,"106":1,"112":1,"119":1,"121":1,"133":1}}],["taken",{"2":{"117":1}}],["take",{"2":{"106":1,"112":1,"121":1}}],["tab",{"2":{"104":1,"119":1}}],["table",{"0":{"0":1},"1":{"1":1},"2":{"112":1,"118":1}}],["tamper",{"2":{"80":1}}],["treat",{"2":{"119":1}}],["traditional",{"2":{"107":1}}],["trail",{"2":{"81":1}}],["troubleshooting",{"0":{"102":1},"1":{"103":1}}],["trying",{"2":{"103":1}}],["try",{"2":{"92":1,"112":1}}],["triggered",{"2":{"61":1,"67":1}}],["triggers",{"2":{"59":1,"65":1}}],["true",{"2":{"7":1,"10":1,"20":1,"90":1,"97":1}}],["tenant",{"2":{"115":1,"117":1,"120":1}}],["technology",{"2":{"86":1}}],["text",{"2":{"20":2,"81":1,"105":1,"125":1}}],["test",{"2":{"7":1,"10":1,"72":1}}],["through",{"2":{"107":1,"122":1}}],["throwing",{"2":{"96":1}}],["throws",{"2":{"95":1}}],["three",{"2":{"100":1,"101":1,"120":1}}],["that",{"2":{"12":1,"13":1,"20":1,"21":1,"22":1,"86":1,"94":2,"95":1,"96":1,"97":1,"98":2,"107":1,"108":1,"109":1,"114":2,"119":2,"120":1,"133":2}}],["this",{"2":{"3":1,"16":1,"26":1,"28":1,"35":1,"39":1,"43":1,"69":1,"74":1,"79":1,"86":1,"89":1,"92":3,"98":2,"101":4,"103":2,"104":1,"105":2,"106":1,"107":2,"108":3,"109":1,"110":1,"111":1,"112":1,"113":1,"114":2,"117":3,"118":1,"119":3,"120":2,"121":1,"122":2,"127":1,"128":1,"134":1}}],["them",{"2":{"106":1,"108":1}}],["then",{"2":{"106":2}}],["they",{"2":{"104":1,"109":1}}],["these",{"2":{"103":1,"128":1,"131":1}}],["their",{"2":{"2":1,"33":1,"98":1,"104":1,"106":1,"114":1,"118":1}}],["the",{"0":{"88":1,"91":1,"124":1,"134":1,"135":1},"1":{"92":1},"2":{"2":2,"5":2,"6":2,"9":2,"10":3,"12":5,"13":2,"14":1,"16":1,"17":2,"20":3,"21":6,"22":3,"23":1,"24":3,"25":5,"26":4,"27":2,"29":3,"30":1,"31":2,"32":1,"37":2,"39":2,"40":2,"41":1,"42":1,"45":1,"46":1,"50":2,"51":1,"53":2,"54":1,"55":1,"57":2,"58":1,"59":1,"60":2,"61":1,"63":2,"64":1,"66":2,"67":1,"68":1,"70":1,"71":4,"73":2,"75":1,"76":3,"77":1,"79":1,"81":4,"83":1,"84":4,"86":6,"87":4,"88":3,"89":5,"90":8,"91":4,"92":5,"93":2,"94":5,"95":6,"96":6,"97":4,"98":4,"99":1,"100":7,"101":12,"103":21,"104":16,"105":13,"106":13,"107":1,"108":14,"109":2,"110":6,"111":5,"112":16,"113":1,"114":4,"115":1,"116":9,"117":11,"118":17,"119":9,"120":14,"121":12,"122":2,"124":1,"125":4,"126":6,"127":3,"128":5,"130":5,"131":18,"132":7,"133":5,"134":8,"135":3,"136":1,"137":7}}],["topsenders",{"2":{"38":1}}],["top",{"2":{"37":1,"103":1,"117":1}}],["tokens",{"2":{"40":1,"126":1,"133":2}}],["token",{"0":{"22":1},"2":{"14":1,"18":1,"22":2,"23":1,"24":1,"25":2,"26":1}}],["totalpages",{"2":{"72":1}}],["totalstorageused",{"2":{"30":1}}],["totalemailsarchived",{"2":{"30":1}}],["total",{"2":{"7":1,"29":2,"72":1}}],["to",{"0":{"91":1,"98":1,"107":1,"110":1,"111":1,"114":1},"1":{"92":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"108":1,"109":1,"110":1,"111":1,"112":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":3,"5":1,"12":1,"13":1,"16":1,"20":3,"21":1,"22":2,"23":2,"24":1,"25":1,"26":3,"39":1,"40":2,"42":1,"71":1,"76":1,"79":1,"80":1,"81":5,"82":1,"83":7,"84":3,"86":4,"87":1,"89":1,"90":3,"91":1,"92":3,"94":1,"95":1,"96":1,"97":1,"98":2,"99":1,"101":6,"103":11,"104":5,"105":4,"106":4,"107":1,"108":6,"109":5,"110":2,"111":4,"112":4,"113":4,"114":3,"116":1,"117":3,"118":2,"119":4,"120":4,"121":6,"124":1,"125":2,"126":1,"127":3,"128":5,"131":1,"132":1,"135":1,"136":5,"137":2}}],["global",{"2":{"115":1}}],["go",{"2":{"101":1,"103":1,"104":2,"105":1,"108":1,"110":1,"111":1,"117":1,"120":2}}],["googleapis",{"2":{"104":2}}],["google",{"0":{"98":1,"101":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1},"2":{"1":1,"34":2,"45":1,"54":1,"80":1,"81":1,"83":1,"88":1,"98":2,"99":2,"100":2,"101":2,"103":2,"104":5,"105":3,"106":1,"110":2,"113":1,"136":1}}],["guarantees",{"2":{"86":1}}],["guide",{"0":{"108":1,"122":1},"1":{"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1},"2":{"40":1,"79":1,"82":2,"98":1,"107":1,"114":1,"122":1}}],["guides",{"0":{"1":1},"2":{"83":1,"113":1}}],["git",{"2":{"123":1,"124":1,"137":1}}],["github",{"2":{"84":1,"124":1}}],["give",{"2":{"101":1,"105":1,"108":1,"110":1,"117":1,"120":1}}],["given",{"2":{"12":1}}],["green",{"2":{"118":1}}],["graph",{"2":{"114":1,"118":1,"121":2}}],["granting",{"2":{"116":1}}],["grant",{"0":{"104":1,"118":1},"2":{"101":1,"118":3}}],["grants",{"2":{"98":1,"109":1,"114":1}}],["granular",{"2":{"81":1}}],["grouped",{"2":{"31":1}}],["gmail",{"0":{"110":1},"2":{"80":1,"101":1,"104":1,"108":1,"109":1}}],["g",{"2":{"71":1,"86":1,"88":1,"94":1,"101":2,"105":2,"120":1}}],["gt",{"0":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"94":1,"95":1,"96":1,"97":1,"101":3,"103":2,"104":2,"117":2}}],["generate",{"2":{"101":1,"103":1,"109":1,"110":1,"126":1}}],["generated",{"2":{"100":1,"105":1,"111":1,"116":1}}],["generates",{"2":{"21":1}}],["generic",{"0":{"107":1},"1":{"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"1":1,"45":1,"54":1,"80":1,"83":1,"108":1,"113":1,"136":1}}],["getarchivedemailbyid",{"0":{"13":1}}],["getarchivedemails",{"0":{"12":1}}],["get",{"0":{"4":1,"8":1,"29":1,"31":1,"33":1,"35":1,"37":1,"47":1,"49":1,"70":1,"75":1,"79":1,"95":1},"1":{"5":1,"6":1,"7":1,"9":1,"10":1,"30":1,"32":1,"34":1,"36":1,"38":1,"48":1,"50":1,"51":1,"71":1,"72":1,"76":1,"77":1,"80":1,"81":1,"82":1,"83":1,"84":1},"2":{"1":1,"5":1,"79":1,"82":1,"104":1,"106":1,"113":1,"121":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/@localSearchIndexroot.D-yRo1rV.js b/assets/chunks/@localSearchIndexroot.D-yRo1rV.js deleted file mode 100644 index b99a570..0000000 --- a/assets/chunks/@localSearchIndexroot.D-yRo1rV.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":138,"nextId":138,"documentIds":{"0":"/SUMMARY.html#table-of-contents","1":"/SUMMARY.html#user-guides","2":"/api/archived-email.html#archived-email-service-api","3":"/api/archived-email.html#endpoints","4":"/api/archived-email.html#get-api-v1-archived-emails-ingestion-source-ingestionsourceid","5":"/api/archived-email.html#url-parameters","6":"/api/archived-email.html#query-parameters","7":"/api/archived-email.html#responses","8":"/api/archived-email.html#get-api-v1-archived-emails-id","9":"/api/archived-email.html#url-parameters-1","10":"/api/archived-email.html#responses-1","11":"/api/archived-email.html#service-methods","12":"/api/archived-email.html#getarchivedemails-ingestionsourceid-string-page-number-limit-number-promise-paginatedarchivedemails","13":"/api/archived-email.html#getarchivedemailbyid-emailid-string-promise-archivedemail-null","14":"/api/auth.html#auth-service-api","15":"/api/auth.html#endpoints","16":"/api/auth.html#post-api-v1-auth-login","17":"/api/auth.html#request-body","18":"/api/auth.html#responses","19":"/api/auth.html#service-methods","20":"/api/auth.html#verifypassword-password-string-hash-string-promise-boolean","21":"/api/auth.html#login-email-string-password-string-promise-loginresponse-null","22":"/api/auth.html#verifytoken-token-string-promise-authtokenpayload-null","23":"/api/authentication.html#api-authentication","24":"/api/authentication.html#obtaining-a-jwt","25":"/api/authentication.html#making-authenticated-requests","26":"/api/authentication.html#using-a-super-api-key","27":"/api/dashboard.html#dashboard-service-api","28":"/api/dashboard.html#endpoints","29":"/api/dashboard.html#get-api-v1-dashboard-stats","30":"/api/dashboard.html#responses","31":"/api/dashboard.html#get-api-v1-dashboard-ingestion-history","32":"/api/dashboard.html#responses-1","33":"/api/dashboard.html#get-api-v1-dashboard-ingestion-sources","34":"/api/dashboard.html#responses-2","35":"/api/dashboard.html#get-api-v1-dashboard-recent-syncs","36":"/api/dashboard.html#responses-3","37":"/api/dashboard.html#get-api-v1-dashboard-indexed-insights","38":"/api/dashboard.html#responses-4","39":"/api/#api-overview","40":"/api/#authentication","41":"/api/#api-services","42":"/api/ingestion.html#ingestion-service-api","43":"/api/ingestion.html#endpoints","44":"/api/ingestion.html#post-api-v1-ingestion","45":"/api/ingestion.html#request-body","46":"/api/ingestion.html#responses","47":"/api/ingestion.html#get-api-v1-ingestion","48":"/api/ingestion.html#responses-1","49":"/api/ingestion.html#get-api-v1-ingestion-id","50":"/api/ingestion.html#url-parameters","51":"/api/ingestion.html#responses-2","52":"/api/ingestion.html#put-api-v1-ingestion-id","53":"/api/ingestion.html#url-parameters-1","54":"/api/ingestion.html#request-body-1","55":"/api/ingestion.html#responses-3","56":"/api/ingestion.html#delete-api-v1-ingestion-id","57":"/api/ingestion.html#url-parameters-2","58":"/api/ingestion.html#responses-4","59":"/api/ingestion.html#post-api-v1-ingestion-id-import","60":"/api/ingestion.html#url-parameters-3","61":"/api/ingestion.html#responses-5","62":"/api/ingestion.html#post-api-v1-ingestion-id-pause","63":"/api/ingestion.html#url-parameters-4","64":"/api/ingestion.html#responses-6","65":"/api/ingestion.html#post-api-v1-ingestion-id-sync","66":"/api/ingestion.html#url-parameters-5","67":"/api/ingestion.html#responses-7","68":"/api/search.html#search-service-api","69":"/api/search.html#endpoints","70":"/api/search.html#get-api-v1-search","71":"/api/search.html#query-parameters","72":"/api/search.html#responses","73":"/api/storage.html#storage-service-api","74":"/api/storage.html#endpoints","75":"/api/storage.html#get-api-v1-storage-download","76":"/api/storage.html#query-parameters","77":"/api/storage.html#responses","78":"/services/#services","79":"/#get-started-👋","80":"/#what-is-open-archiver-🛡️","81":"/#key-features-✨","82":"/#installation-🚀","83":"/#data-source-configuration-🔌","84":"/#contributing-❤️","85":"/services/storage-service.html#pluggable-storage-service-storageservice","86":"/services/storage-service.html#overview","87":"/services/storage-service.html#configuration","88":"/services/storage-service.html#_1-choosing-the-backend","89":"/services/storage-service.html#_2-local-filesystem-configuration","90":"/services/storage-service.html#_3-s3-compatible-storage-configuration","91":"/services/storage-service.html#how-to-use-the-service","92":"/services/storage-service.html#example-usage-in-ingestionservice","93":"/services/storage-service.html#api-reference","94":"/services/storage-service.html#put-path-content","95":"/services/storage-service.html#get-path","96":"/services/storage-service.html#delete-path","97":"/services/storage-service.html#exists-path","98":"/user-guides/email-providers/imap.html#connecting-to-a-generic-imap-server","99":"/user-guides/email-providers/imap.html#step-by-step-guide","100":"/user-guides/email-providers/imap.html#security-recommendation-use-an-app-password","101":"/user-guides/email-providers/imap.html#how-to-obtain-an-app-password-for-gmail","102":"/user-guides/email-providers/imap.html#how-to-obtain-an-app-password-for-outlook-microsoft-accounts","103":"/user-guides/email-providers/imap.html#what-happens-next","104":"/user-guides/email-providers/google-workspace.html#connecting-to-google-workspace","105":"/user-guides/email-providers/google-workspace.html#prerequisites","106":"/user-guides/email-providers/google-workspace.html#setup-overview","107":"/user-guides/email-providers/google-workspace.html#part-1-google-cloud-console-setup","108":"/user-guides/email-providers/google-workspace.html#troubleshooting","109":"/user-guides/email-providers/google-workspace.html#error-iam-disableserviceaccountkeycreation","110":"/user-guides/email-providers/google-workspace.html#part-2-grant-domain-wide-delegation","111":"/user-guides/email-providers/google-workspace.html#part-3-connecting-in-openarchiver","112":"/user-guides/email-providers/google-workspace.html#what-happens-next","113":"/user-guides/email-providers/#connecting-email-providers","114":"/user-guides/email-providers/microsoft-365.html#connecting-to-microsoft-365","115":"/user-guides/email-providers/microsoft-365.html#prerequisites","116":"/user-guides/email-providers/microsoft-365.html#setup-overview","117":"/user-guides/email-providers/microsoft-365.html#part-1-register-a-new-application-in-microsoft-entra-id","118":"/user-guides/email-providers/microsoft-365.html#part-2-grant-api-permissions","119":"/user-guides/email-providers/microsoft-365.html#part-3-create-a-client-secret","120":"/user-guides/email-providers/microsoft-365.html#part-4-connecting-in-openarchiver","121":"/user-guides/email-providers/microsoft-365.html#what-happens-next","122":"/user-guides/installation.html#installation-guide","123":"/user-guides/installation.html#prerequisites","124":"/user-guides/installation.html#_1-clone-the-repository","125":"/user-guides/installation.html#_2-configure-your-environment","126":"/user-guides/installation.html#important-configuration","127":"/user-guides/installation.html#storage-configuration","128":"/user-guides/installation.html#using-external-services","129":"/user-guides/installation.html#environment-variable-reference","130":"/user-guides/installation.html#application-settings","131":"/user-guides/installation.html#docker-compose-service-configuration","132":"/user-guides/installation.html#storage-settings","133":"/user-guides/installation.html#security-authentication","134":"/user-guides/installation.html#_3-run-the-application","135":"/user-guides/installation.html#_4-access-the-application","136":"/user-guides/installation.html#_5-next-steps","137":"/user-guides/installation.html#updating-your-installation"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,1],"1":[2,3,26],"2":[4,1,18],"3":[1,4,8],"4":[8,5,14],"5":[2,13,16],"6":[2,13,16],"7":[1,13,45],"8":[6,5,16],"9":[2,11,12],"10":[1,11,57],"11":[2,4,1],"12":[11,5,32],"13":[10,5,32],"14":[3,1,15],"15":[1,3,1],"16":[5,4,26],"17":[2,9,11],"18":[1,9,42],"19":[2,3,1],"20":[9,4,28],"21":[11,4,36],"22":[10,4,25],"23":[2,1,22],"24":[3,2,43],"25":[3,2,46],"26":[5,2,49],"27":[3,1,14],"28":[1,3,8],"29":[5,4,22],"30":[1,9,16],"31":[6,4,15],"32":[1,10,19],"33":[6,4,17],"34":[1,10,27],"35":[6,4,21],"36":[1,10,7],"37":[6,4,14],"38":[1,10,16],"39":[2,1,22],"40":[1,2,24],"41":[2,2,30],"42":[3,1,18],"43":[1,3,8],"44":[4,4,8],"45":[2,8,20],"46":[1,8,16],"47":[4,4,7],"48":[1,8,16],"49":[5,4,11],"50":[2,9,12],"51":[1,9,21],"52":[5,4,8],"53":[2,9,12],"54":[2,9,28],"55":[1,9,22],"56":[5,4,11],"57":[2,9,12],"58":[1,9,24],"59":[6,4,12],"60":[2,10,12],"61":[1,10,24],"62":[6,4,8],"63":[2,10,12],"64":[1,10,26],"65":[6,4,11],"66":[2,10,12],"67":[1,10,24],"68":[3,1,11],"69":[1,3,8],"70":[4,4,11],"71":[2,8,40],"72":[1,8,44],"73":[3,1,15],"74":[1,3,8],"75":[5,4,9],"76":[2,9,13],"77":[1,9,28],"78":[1,1,1],"79":[3,1,19],"80":[5,3,55],"81":[3,3,116],"82":[2,3,17],"83":[4,3,35],"84":[2,3,59],"85":[5,1,1],"86":[1,5,73],"87":[1,5,28],"88":[4,5,31],"89":[4,5,43],"90":[5,5,69],"91":[5,5,40],"92":[4,8,75],"93":[2,5,15],"94":[4,6,63],"95":[3,6,39],"96":[3,6,40],"97":[3,6,31],"98":[6,1,38],"99":[3,6,113],"100":[6,6,68],"101":[8,12,70],"102":[10,12,53],"103":[4,6,88],"104":[4,1,51],"105":[1,4,20],"106":[2,4,27],"107":[6,6,113],"108":[1,6,1],"109":[5,7,130],"110":[6,6,98],"111":[5,6,87],"112":[4,4,77],"113":[3,1,39],"114":[4,1,54],"115":[1,4,20],"116":[2,4,44],"117":[10,6,89],"118":[5,6,102],"119":[6,6,100],"120":[5,6,80],"121":[4,4,72],"122":[2,1,21],"123":[1,2,29],"124":[4,2,19],"125":[4,2,34],"126":[2,6,57],"127":[2,6,43],"128":[3,6,69],"129":[3,6,12],"130":[2,8,22],"131":[4,8,65],"132":[2,8,48],"133":[3,8,52],"134":[4,2,47],"135":[4,2,32],"136":[3,2,30],"137":[3,2,31]},"averageFieldLength":[3.391304347826087,5.318840579710146,33.24637681159421],"storedFields":{"0":{"title":"Table of contents","titles":[]},"1":{"title":"User guides","titles":["Table of contents"]},"2":{"title":"Archived Email Service API","titles":[]},"3":{"title":"Endpoints","titles":["Archived Email Service API"]},"4":{"title":"GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId","titles":["Archived Email Service API","Endpoints"]},"5":{"title":"URL Parameters","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId"]},"6":{"title":"Query Parameters","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId"]},"7":{"title":"Responses","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/ingestion-source/:ingestionSourceId"]},"8":{"title":"GET /api/v1/archived-emails/:id","titles":["Archived Email Service API","Endpoints"]},"9":{"title":"URL Parameters","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/:id"]},"10":{"title":"Responses","titles":["Archived Email Service API","Endpoints","GET /api/v1/archived-emails/:id"]},"11":{"title":"Service Methods","titles":["Archived Email Service API"]},"12":{"title":"getArchivedEmails(ingestionSourceId: string, page: number, limit: number): Promise<PaginatedArchivedEmails>","titles":["Archived Email Service API","Service Methods"]},"13":{"title":"getArchivedEmailById(emailId: string): Promise<ArchivedEmail | null>","titles":["Archived Email Service API","Service Methods"]},"14":{"title":"Auth Service API","titles":[]},"15":{"title":"Endpoints","titles":["Auth Service API"]},"16":{"title":"POST /api/v1/auth/login","titles":["Auth Service API","Endpoints"]},"17":{"title":"Request Body","titles":["Auth Service API","Endpoints","POST /api/v1/auth/login"]},"18":{"title":"Responses","titles":["Auth Service API","Endpoints","POST /api/v1/auth/login"]},"19":{"title":"Service Methods","titles":["Auth Service API"]},"20":{"title":"verifyPassword(password: string, hash: string): Promise<boolean>","titles":["Auth Service API","Service Methods"]},"21":{"title":"login(email: string, password: string): Promise<LoginResponse | null>","titles":["Auth Service API","Service Methods"]},"22":{"title":"verifyToken(token: string): Promise<AuthTokenPayload | null>","titles":["Auth Service API","Service Methods"]},"23":{"title":"API Authentication","titles":[]},"24":{"title":"Obtaining a JWT","titles":["API Authentication"]},"25":{"title":"Making Authenticated Requests","titles":["API Authentication"]},"26":{"title":"Using a Super API Key","titles":["API Authentication"]},"27":{"title":"Dashboard Service API","titles":[]},"28":{"title":"Endpoints","titles":["Dashboard Service API"]},"29":{"title":"GET /api/v1/dashboard/stats","titles":["Dashboard Service API","Endpoints"]},"30":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/stats"]},"31":{"title":"GET /api/v1/dashboard/ingestion-history","titles":["Dashboard Service API","Endpoints"]},"32":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/ingestion-history"]},"33":{"title":"GET /api/v1/dashboard/ingestion-sources","titles":["Dashboard Service API","Endpoints"]},"34":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/ingestion-sources"]},"35":{"title":"GET /api/v1/dashboard/recent-syncs","titles":["Dashboard Service API","Endpoints"]},"36":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/recent-syncs"]},"37":{"title":"GET /api/v1/dashboard/indexed-insights","titles":["Dashboard Service API","Endpoints"]},"38":{"title":"Responses","titles":["Dashboard Service API","Endpoints","GET /api/v1/dashboard/indexed-insights"]},"39":{"title":"API Overview","titles":[]},"40":{"title":"Authentication","titles":["API Overview"]},"41":{"title":"API Services","titles":["API Overview"]},"42":{"title":"Ingestion Service API","titles":[]},"43":{"title":"Endpoints","titles":["Ingestion Service API"]},"44":{"title":"POST /api/v1/ingestion","titles":["Ingestion Service API","Endpoints"]},"45":{"title":"Request Body","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion"]},"46":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion"]},"47":{"title":"GET /api/v1/ingestion","titles":["Ingestion Service API","Endpoints"]},"48":{"title":"Responses","titles":["Ingestion Service API","Endpoints","GET /api/v1/ingestion"]},"49":{"title":"GET /api/v1/ingestion/:id","titles":["Ingestion Service API","Endpoints"]},"50":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","GET /api/v1/ingestion/:id"]},"51":{"title":"Responses","titles":["Ingestion Service API","Endpoints","GET /api/v1/ingestion/:id"]},"52":{"title":"PUT /api/v1/ingestion/:id","titles":["Ingestion Service API","Endpoints"]},"53":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","PUT /api/v1/ingestion/:id"]},"54":{"title":"Request Body","titles":["Ingestion Service API","Endpoints","PUT /api/v1/ingestion/:id"]},"55":{"title":"Responses","titles":["Ingestion Service API","Endpoints","PUT /api/v1/ingestion/:id"]},"56":{"title":"DELETE /api/v1/ingestion/:id","titles":["Ingestion Service API","Endpoints"]},"57":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","DELETE /api/v1/ingestion/:id"]},"58":{"title":"Responses","titles":["Ingestion Service API","Endpoints","DELETE /api/v1/ingestion/:id"]},"59":{"title":"POST /api/v1/ingestion/:id/import","titles":["Ingestion Service API","Endpoints"]},"60":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/import"]},"61":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/import"]},"62":{"title":"POST /api/v1/ingestion/:id/pause","titles":["Ingestion Service API","Endpoints"]},"63":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/pause"]},"64":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/pause"]},"65":{"title":"POST /api/v1/ingestion/:id/sync","titles":["Ingestion Service API","Endpoints"]},"66":{"title":"URL Parameters","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/sync"]},"67":{"title":"Responses","titles":["Ingestion Service API","Endpoints","POST /api/v1/ingestion/:id/sync"]},"68":{"title":"Search Service API","titles":[]},"69":{"title":"Endpoints","titles":["Search Service API"]},"70":{"title":"GET /api/v1/search","titles":["Search Service API","Endpoints"]},"71":{"title":"Query Parameters","titles":["Search Service API","Endpoints","GET /api/v1/search"]},"72":{"title":"Responses","titles":["Search Service API","Endpoints","GET /api/v1/search"]},"73":{"title":"Storage Service API","titles":[]},"74":{"title":"Endpoints","titles":["Storage Service API"]},"75":{"title":"GET /api/v1/storage/download","titles":["Storage Service API","Endpoints"]},"76":{"title":"Query Parameters","titles":["Storage Service API","Endpoints","GET /api/v1/storage/download"]},"77":{"title":"Responses","titles":["Storage Service API","Endpoints","GET /api/v1/storage/download"]},"78":{"title":"services","titles":[]},"79":{"title":"Get Started 👋","titles":[]},"80":{"title":"What is Open Archiver? 🛡️","titles":["Get Started 👋"]},"81":{"title":"Key Features ✨","titles":["Get Started 👋"]},"82":{"title":"Installation 🚀","titles":["Get Started 👋"]},"83":{"title":"Data Source Configuration 🔌","titles":["Get Started 👋"]},"84":{"title":"Contributing ❤️","titles":["Get Started 👋"]},"85":{"title":"Pluggable Storage Service (StorageService)","titles":[]},"86":{"title":"Overview","titles":["Pluggable Storage Service (StorageService)"]},"87":{"title":"Configuration","titles":["Pluggable Storage Service (StorageService)"]},"88":{"title":"1. Choosing the Backend","titles":["Pluggable Storage Service (StorageService)","Configuration"]},"89":{"title":"2. Local Filesystem Configuration","titles":["Pluggable Storage Service (StorageService)","Configuration"]},"90":{"title":"3. S3-Compatible Storage Configuration","titles":["Pluggable Storage Service (StorageService)","Configuration"]},"91":{"title":"How to Use the Service","titles":["Pluggable Storage Service (StorageService)"]},"92":{"title":"Example: Usage in IngestionService","titles":["Pluggable Storage Service (StorageService)","How to Use the Service"]},"93":{"title":"API Reference","titles":["Pluggable Storage Service (StorageService)"]},"94":{"title":"put(path, content)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"95":{"title":"get(path)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"96":{"title":"delete(path)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"97":{"title":"exists(path)","titles":["Pluggable Storage Service (StorageService)","API Reference"]},"98":{"title":"Connecting to a Generic IMAP Server","titles":[]},"99":{"title":"Step-by-Step Guide","titles":["Connecting to a Generic IMAP Server"]},"100":{"title":"Security Recommendation: Use an App Password","titles":["Connecting to a Generic IMAP Server"]},"101":{"title":"How to Obtain an App Password for Gmail","titles":["Connecting to a Generic IMAP Server","Security Recommendation: Use an App Password"]},"102":{"title":"How to Obtain an App Password for Outlook/Microsoft Accounts","titles":["Connecting to a Generic IMAP Server","Security Recommendation: Use an App Password"]},"103":{"title":"What Happens Next?","titles":["Connecting to a Generic IMAP Server"]},"104":{"title":"Connecting to Google Workspace","titles":[]},"105":{"title":"Prerequisites","titles":["Connecting to Google Workspace"]},"106":{"title":"Setup Overview","titles":["Connecting to Google Workspace"]},"107":{"title":"Part 1: Google Cloud Console Setup","titles":["Connecting to Google Workspace","Setup Overview"]},"108":{"title":"Troubleshooting","titles":["Connecting to Google Workspace","Setup Overview"]},"109":{"title":"Error: "iam.disableServiceAccountKeyCreation"","titles":["Connecting to Google Workspace","Setup Overview","Troubleshooting"]},"110":{"title":"Part 2: Grant Domain-Wide Delegation","titles":["Connecting to Google Workspace","Setup Overview"]},"111":{"title":"Part 3: Connecting in OpenArchiver","titles":["Connecting to Google Workspace","Setup Overview"]},"112":{"title":"What Happens Next?","titles":["Connecting to Google Workspace"]},"113":{"title":"Connecting Email Providers","titles":[]},"114":{"title":"Connecting to Microsoft 365","titles":[]},"115":{"title":"Prerequisites","titles":["Connecting to Microsoft 365"]},"116":{"title":"Setup Overview","titles":["Connecting to Microsoft 365"]},"117":{"title":"Part 1: Register a New Application in Microsoft Entra ID","titles":["Connecting to Microsoft 365","Setup Overview"]},"118":{"title":"Part 2: Grant API Permissions","titles":["Connecting to Microsoft 365","Setup Overview"]},"119":{"title":"Part 3: Create a Client Secret","titles":["Connecting to Microsoft 365","Setup Overview"]},"120":{"title":"Part 4: Connecting in OpenArchiver","titles":["Connecting to Microsoft 365","Setup Overview"]},"121":{"title":"What Happens Next?","titles":["Connecting to Microsoft 365"]},"122":{"title":"Installation Guide","titles":[]},"123":{"title":"Prerequisites","titles":["Installation Guide"]},"124":{"title":"1. Clone the Repository","titles":["Installation Guide"]},"125":{"title":"2. Configure Your Environment","titles":["Installation Guide"]},"126":{"title":"Important Configuration","titles":["Installation Guide","2. Configure Your Environment"]},"127":{"title":"Storage Configuration","titles":["Installation Guide","2. Configure Your Environment"]},"128":{"title":"Using External Services","titles":["Installation Guide","2. Configure Your Environment"]},"129":{"title":"Environment Variable Reference","titles":["Installation Guide","2. Configure Your Environment"]},"130":{"title":"Application Settings","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"131":{"title":"Docker Compose Service Configuration","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"132":{"title":"Storage Settings","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"133":{"title":"Security & Authentication","titles":["Installation Guide","2. Configure Your Environment","Environment Variable Reference"]},"134":{"title":"3. Run the Application","titles":["Installation Guide"]},"135":{"title":"4. Access the Application","titles":["Installation Guide"]},"136":{"title":"5. Next Steps","titles":["Installation Guide"]},"137":{"title":"Updating Your Installation","titles":["Installation Guide"]}},"dirtCount":0,"index":[["6379",{"2":{"131":1}}],["yml",{"2":{"128":3,"131":1}}],["yes",{"2":{"118":1}}],["you",{"2":{"23":1,"24":1,"25":2,"26":2,"40":1,"79":1,"81":1,"83":1,"84":2,"87":2,"89":1,"90":1,"91":1,"98":2,"99":4,"100":3,"101":3,"102":1,"103":3,"105":2,"107":5,"109":5,"110":4,"111":2,"115":1,"117":4,"118":3,"119":2,"120":2,"122":1,"123":1,"125":1,"126":2,"127":1,"128":2,"133":2,"134":3,"135":3}}],["your",{"0":{"125":1,"137":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"18":1,"23":1,"24":3,"25":1,"26":2,"80":1,"81":1,"82":1,"83":1,"90":4,"91":1,"99":6,"100":3,"101":1,"102":2,"103":4,"105":2,"107":2,"109":7,"110":3,"111":2,"112":1,"113":2,"114":1,"115":1,"117":1,"118":4,"119":1,"120":1,"121":1,"123":2,"124":1,"125":1,"126":1,"127":1,"128":5,"134":2,"135":2,"136":1,"137":1}}],["+",{"2":{"117":1,"118":1,"119":1}}],["993",{"2":{"99":1}}],["9000",{"2":{"90":1}}],["quot",{"0":{"109":2},"2":{"94":2,"99":10,"100":4,"101":8,"102":4,"107":26,"109":10,"110":10,"111":8,"112":4,"117":8,"118":6,"119":2,"120":8,"121":4}}],["query",{"0":{"6":1,"71":1,"76":1},"2":{"70":1,"71":1,"121":1}}],["`failed",{"2":{"92":1}}],["`",{"2":{"92":2}}],["`successfully",{"2":{"92":1}}],["`$",{"2":{"92":1}}],["know",{"2":{"92":1}}],["keep",{"2":{"80":1,"107":1}}],["kept",{"2":{"26":1}}],["keys",{"2":{"107":1,"109":1}}],["key=minioadmin",{"2":{"90":1}}],["keywords",{"2":{"71":1,"72":1}}],["key",{"0":{"26":1,"81":1},"2":{"26":5,"71":1,"90":5,"107":4,"109":3,"111":1,"119":1,"126":3,"131":2,"132":4,"133":5}}],["$",{"2":{"92":3}}],["=",{"2":{"92":2}}],["❤️",{"0":{"84":1}}],["✨",{"0":{"81":1}}],["🔌",{"0":{"83":1}}],["🚀",{"0":{"82":1}}],["🛡️",{"0":{"80":1}}],["👋",{"0":{"79":1},"1":{"80":1,"81":1,"82":1,"83":1,"84":1}}],["x3c",{"2":{"72":2,"92":1}}],["4gb",{"2":{"123":1}}],["4",{"0":{"120":1,"135":1}}],["42",{"2":{"38":1}}],["401",{"2":{"18":1,"25":1}}],["4000",{"2":{"130":1}}],["400",{"2":{"18":1,"72":1,"77":1}}],["404",{"2":{"10":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"77":1}}],["87654321",{"2":{"34":1}}],["0",{"2":{"90":2}}],["09",{"2":{"32":2}}],["000z",{"2":{"7":1,"10":1,"32":2}}],["00",{"2":{"7":2,"10":2,"32":4}}],["32",{"2":{"126":2,"133":1}}],["3000",{"2":{"130":1,"135":1}}],["30",{"2":{"31":1}}],["3",{"0":{"90":1,"111":1,"119":1,"134":1},"2":{"30":1,"107":1}}],["365",{"0":{"114":1},"1":{"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":1,"34":1,"80":1,"81":1,"83":1,"113":1,"114":1,"115":1,"117":1,"120":2,"136":1}}],["5432",{"2":{"131":1}}],["54321098",{"2":{"30":1}}],["5",{"0":{"136":1},"2":{"72":1}}],["500",{"2":{"7":1,"10":1,"18":1,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["7d",{"2":{"133":1}}],["7700",{"2":{"131":1}}],["7",{"2":{"29":1}}],["host",{"2":{"99":1,"103":1,"128":3,"131":4}}],["hosted",{"2":{"80":1,"98":1}}],["holds",{"2":{"81":1}}],["however",{"2":{"128":1}}],["how",{"0":{"91":1,"101":1,"102":1},"1":{"92":1},"2":{"40":1,"99":1,"100":1}}],["hex",{"2":{"126":2,"133":1}}],["here",{"2":{"99":1,"129":1}}],["hear",{"2":{"84":1}}],["header",{"2":{"23":1,"25":1,"26":1}}],["help",{"2":{"79":1}}],["high",{"2":{"81":1}}],["hits",{"2":{"72":1}}],["history",{"0":{"31":1},"1":{"32":1},"2":{"31":1,"32":2,"80":1}}],["http",{"2":{"131":1,"135":1}}],["https",{"2":{"110":2,"124":1}}],["httpget",{"2":{"25":1,"26":1}}],["httppost",{"2":{"24":1}}],["hand",{"2":{"117":1,"118":1}}],["handle",{"2":{"114":1}}],["handles",{"2":{"21":1,"41":2}}],["handling",{"2":{"14":1,"86":1}}],["happens",{"0":{"103":1,"112":1,"121":1}}],["have",{"2":{"25":1,"81":1,"84":1,"86":1,"99":1,"101":1,"102":1,"105":2,"107":1,"109":1,"115":1,"120":1,"134":1}}],["has",{"2":{"94":1,"109":2}}],["hashed",{"2":{"20":2}}],["hash",{"0":{"20":1},"2":{"20":1}}],["hasattachments",{"2":{"7":1,"10":1}}],["browser",{"2":{"135":1}}],["brute",{"2":{"16":1}}],["blank",{"2":{"117":1}}],["building",{"2":{"109":1}}],["built",{"2":{"86":1}}],["but",{"2":{"103":1}}],["button",{"2":{"99":2,"111":1,"117":2,"118":3,"120":1}}],["buffer",{"2":{"92":1,"94":2}}],["bucket",{"2":{"90":3,"92":1,"132":2}}],["bucket=email",{"2":{"90":1}}],["bug",{"2":{"84":1}}],["bugs",{"2":{"84":1}}],["bulk",{"2":{"81":1}}],["bash",{"2":{"137":1}}],["bashdocker",{"2":{"134":2}}],["bashopenssl",{"2":{"126":1}}],["bashcp",{"2":{"125":1}}],["bashgit",{"2":{"124":1}}],["based",{"2":{"91":1}}],["background",{"2":{"112":1,"118":1,"121":1,"134":1}}],["back",{"2":{"110":1}}],["backend",{"0":{"88":1},"2":{"87":1,"96":1,"130":2,"132":1,"134":1}}],["backends",{"2":{"81":1,"86":1}}],["bad",{"2":{"18":1,"72":1,"77":1}}],["being",{"2":{"118":1}}],["below",{"2":{"113":1}}],["behalf",{"2":{"104":1,"114":1,"118":1}}],["been",{"2":{"94":1}}],["between",{"2":{"86":1}}],["begin",{"2":{"83":1,"112":1,"121":2}}],["before",{"2":{"40":1,"119":2}}],["be",{"2":{"26":1,"45":1,"54":1,"89":2,"91":1,"94":2,"101":2,"102":1,"107":1,"109":1,"117":1,"119":1}}],["bearer",{"2":{"25":2,"26":2}}],["boxes",{"2":{"118":1}}],["box",{"2":{"109":1,"118":1}}],["bottom",{"2":{"101":1,"118":1}}],["both",{"2":{"81":1,"118":1}}],["boolean",{"0":{"20":1},"2":{"97":1}}],["body",{"0":{"17":1,"45":1,"54":1},"2":{"45":1,"54":1}}],["byte",{"2":{"126":1,"133":1}}],["by",{"0":{"99":1},"2":{"8":1,"13":1,"21":1,"24":1,"31":1,"49":1,"110":1,"121":1,"127":1,"131":1,"135":1}}],["cd",{"2":{"124":1}}],["certificates",{"2":{"119":1}}],["center",{"2":{"116":1,"117":1,"120":1}}],["crucial",{"2":{"118":1}}],["critical",{"2":{"118":1}}],["credential",{"2":{"128":1}}],["credentials",{"2":{"16":1,"18":2,"24":1,"87":1,"90":1,"103":1,"106":1,"107":1,"111":1,"116":1,"127":1}}],["creating",{"2":{"116":1}}],["creation",{"2":{"109":2}}],["create",{"0":{"119":1},"2":{"89":1,"91":1,"99":2,"100":1,"101":1,"102":2,"107":8,"109":1,"111":2,"117":1,"119":1,"120":2,"125":1,"134":2}}],["created",{"2":{"46":2,"89":1,"107":1,"110":2}}],["createingestionsourcedto",{"2":{"45":2}}],["creates",{"2":{"44":1}}],["current",{"2":{"103":1}}],["currently",{"2":{"35":1}}],["customize",{"2":{"125":1}}],["custom",{"2":{"101":1}}],["calendar",{"2":{"119":1}}],["called",{"2":{"100":1}}],["cases",{"2":{"127":1}}],["case",{"2":{"100":1}}],["catch",{"2":{"92":1}}],["care",{"2":{"92":1}}],["can",{"2":{"26":2,"94":1,"100":1,"103":1,"109":1,"112":1,"113":1,"117":1,"121":1,"126":1,"128":1,"134":2,"135":2}}],["clone",{"0":{"124":1},"2":{"124":2}}],["cloud",{"0":{"107":1},"2":{"88":1,"104":1,"105":1,"106":1,"107":2,"109":2,"110":1,"115":1}}],["client",{"0":{"119":1},"2":{"110":5,"116":1,"119":3,"120":2}}],["click",{"2":{"99":2,"101":2,"102":1,"107":6,"109":2,"110":4,"111":2,"117":2,"118":4,"119":2,"120":2}}],["class",{"2":{"92":1}}],["clear",{"2":{"81":1,"119":1}}],["choose",{"2":{"101":1,"113":1}}],["choosing",{"0":{"88":1}}],["checkmark",{"2":{"118":1}}],["check",{"2":{"97":1,"103":3,"112":1,"118":1,"134":1}}],["checks",{"2":{"97":1}}],["changed",{"2":{"121":1}}],["changes",{"2":{"99":2,"111":2,"120":2,"137":1}}],["change",{"2":{"86":1,"112":1,"121":1,"126":1,"127":1,"128":1,"133":2}}],["column",{"2":{"119":1}}],["copied",{"2":{"110":1,"120":1}}],["copy",{"2":{"101":1,"110":1,"111":1,"119":2,"120":1,"125":1}}],["core",{"2":{"86":1}}],["correct",{"2":{"24":1,"91":1}}],["correctness",{"2":{"20":1}}],["costs",{"2":{"81":1}}],["count",{"2":{"32":2,"38":1}}],["code",{"2":{"25":1,"84":3,"86":1}}],["comment",{"2":{"128":1}}],["commands",{"2":{"137":1}}],["command",{"2":{"126":1,"134":1}}],["comma",{"2":{"110":1}}],["common",{"2":{"86":1,"98":1}}],["community",{"2":{"84":1}}],["communications",{"2":{"81":1}}],["communication",{"2":{"26":1,"80":1}}],["compose",{"0":{"131":1},"2":{"122":1,"123":1,"127":1,"128":3,"131":1,"134":3,"137":2}}],["computer",{"2":{"107":1}}],["complex",{"2":{"126":1}}],["complete",{"2":{"103":1,"112":1,"129":1}}],["compliance",{"2":{"81":1}}],["comprehensive",{"2":{"81":1}}],["compression",{"2":{"81":1}}],["compatible",{"0":{"90":1},"2":{"81":1,"86":1,"88":1,"127":1,"132":5}}],["compare",{"2":{"20":1}}],["compares",{"2":{"20":1}}],["com",{"2":{"7":2,"10":2,"18":1,"24":2,"38":1,"71":1,"72":1,"99":2,"101":1,"110":3,"111":1,"124":1,"133":1}}],["convenience",{"2":{"128":1}}],["confirmation",{"2":{"118":1}}],["configuring",{"2":{"106":1}}],["configure",{"0":{"125":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"83":1,"120":1,"128":1,"131":1,"136":1}}],["configured",{"2":{"73":1,"87":1,"125":1,"134":1,"135":1}}],["configuration",{"0":{"83":1,"87":1,"89":1,"90":1,"126":1,"127":1,"131":1},"1":{"88":1,"89":1,"90":1},"2":{"86":1,"91":1,"92":1,"99":2,"111":1,"120":1,"125":1,"129":1}}],["configurations",{"2":{"42":1}}],["consent",{"2":{"104":1,"118":2}}],["consult",{"2":{"100":1}}],["console",{"0":{"107":1},"2":{"92":2,"105":1,"106":2,"107":1,"109":1,"110":2}}],["constraint",{"2":{"109":1}}],["constructor",{"2":{"92":1}}],["const",{"2":{"92":1}}],["consistent",{"2":{"86":1}}],["conduct",{"2":{"84":1}}],["connection",{"2":{"99":3,"103":2,"104":2,"112":1,"114":2,"120":1,"121":1,"131":1}}],["connecting",{"0":{"98":1,"104":1,"111":1,"113":1,"114":1,"120":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":3,"42":1,"83":3,"98":1,"113":1,"136":3}}],["connect",{"2":{"81":1,"83":1,"103":2,"112":1,"113":1,"121":1,"128":1}}],["controls",{"2":{"110":1}}],["control",{"2":{"110":1}}],["contribute",{"2":{"84":1}}],["contributions",{"2":{"84":2}}],["contributing",{"0":{"84":1},"2":{"84":1}}],["containers",{"2":{"134":2}}],["contains",{"2":{"107":1}}],["containing",{"2":{"21":1,"30":1,"32":1,"38":1}}],["continue",{"2":{"107":1}}],["continuous",{"2":{"81":1,"112":1,"121":1}}],["content",{"0":{"94":1},"2":{"8":1,"13":1,"24":1,"58":1,"94":2,"95":1,"111":1}}],["contents",{"0":{"0":1},"1":{"1":1},"2":{"107":1}}],["job",{"2":{"112":1,"121":1}}],["jobs",{"2":{"35":1}}],["just",{"2":{"107":1}}],["jwt",{"0":{"24":1},"2":{"16":1,"18":1,"21":1,"22":2,"23":1,"24":1,"25":1,"126":1,"133":4}}],["json",{"2":{"7":1,"10":1,"18":4,"23":1,"24":2,"30":1,"32":1,"34":1,"36":1,"38":1,"72":1,"107":3,"109":2,"111":2}}],["volumes",{"2":{"134":1}}],["volume",{"2":{"127":1}}],["void",{"2":{"94":1,"96":1}}],["void>",{"2":{"92":1}}],["visible",{"2":{"119":1}}],["visit",{"2":{"101":1}}],["view",{"2":{"103":1}}],["via",{"2":{"87":1,"91":1}}],["variety",{"2":{"113":1}}],["variable",{"0":{"129":1},"1":{"130":1,"131":1,"132":1,"133":1},"2":{"88":1,"130":1,"131":1,"132":1,"133":1}}],["variables",{"2":{"87":1,"125":1,"127":1,"128":1,"129":1,"131":1}}],["var",{"2":{"89":1,"132":1}}],["valkey",{"2":{"123":1,"126":1,"128":2,"131":4}}],["values",{"2":{"126":1}}],["value",{"2":{"71":1,"119":2,"120":4,"130":1,"131":1,"132":1,"133":1}}],["valid",{"2":{"16":1,"20":1,"22":1,"103":1}}],["version",{"2":{"137":1}}],["very",{"2":{"133":1}}],["verified",{"2":{"112":1}}],["verifies",{"2":{"21":1,"22":1}}],["verification",{"2":{"14":1,"101":2,"102":2}}],["verifytoken",{"0":{"22":1}}],["verify",{"2":{"20":1,"22":1}}],["verifypassword",{"0":{"20":1}}],["vendor",{"2":{"80":1}}],["v1",{"0":{"4":1,"8":1,"16":1,"29":1,"31":1,"33":1,"35":1,"37":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"70":1,"75":1},"1":{"5":1,"6":1,"7":1,"9":1,"10":1,"17":1,"18":1,"30":1,"32":1,"34":1,"36":1,"38":1,"45":1,"46":1,"48":1,"50":1,"51":1,"53":1,"54":1,"55":1,"57":1,"58":1,"60":1,"61":1,"63":1,"64":1,"66":1,"67":1,"71":1,"72":1,"76":1,"77":1},"2":{"24":2,"25":1,"26":1,"39":1}}],["|",{"0":{"13":1,"21":1,"22":1},"2":{"45":2,"54":8,"94":1}}],["least",{"2":{"123":1}}],["leave",{"2":{"117":1}}],["left",{"2":{"117":1,"118":1}}],["level",{"2":{"109":2,"119":1}}],["legal",{"2":{"81":1}}],["ll",{"2":{"101":1,"125":1}}],["latest",{"2":{"137":3}}],["large",{"2":{"94":1}}],["last",{"2":{"29":1,"31":1,"71":2}}],["long",{"2":{"126":1}}],["lose",{"2":{"119":1}}],["looks",{"2":{"99":1}}],["love",{"2":{"84":1}}],["logging",{"2":{"136":1}}],["log",{"2":{"92":1,"99":1,"135":1}}],["logiclabs",{"2":{"124":1}}],["logic",{"2":{"86":1}}],["loginresponse",{"0":{"21":1},"2":{"21":1}}],["login",{"0":{"16":1,"21":1},"1":{"17":1,"18":1},"2":{"14":1,"21":1,"24":2,"100":1}}],["logs",{"2":{"81":1}}],["located",{"2":{"118":1}}],["localhost",{"2":{"135":1}}],["localfilesystemprovider",{"2":{"91":1}}],["local",{"0":{"89":1},"2":{"81":1,"86":1,"88":1,"89":3,"92":1,"123":3,"127":1,"132":4,"133":1}}],["lock",{"2":{"80":1}}],["lt",{"0":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"94":1,"95":1,"96":1,"97":1}}],["library",{"2":{"107":1}}],["litigation",{"2":{"81":1}}],["lifecycle",{"2":{"81":1}}],["like",{"2":{"81":1,"84":1,"86":1,"90":1,"99":1,"100":1,"101":1}}],["limited",{"2":{"16":1}}],["limiting",{"2":{"16":1}}],["limit",{"0":{"12":1},"2":{"6":1,"7":1,"12":1,"71":1,"72":1}}],["list",{"2":{"4":1,"7":1,"12":1,"33":1,"35":1,"107":1,"109":1,"110":2,"112":1,"113":1,"118":1,"121":1,"129":1}}],["myaccount",{"2":{"101":1}}],["months",{"2":{"119":1}}],["most",{"2":{"117":1,"127":1}}],["modify",{"2":{"109":1,"128":1}}],["modifications",{"2":{"86":1}}],["more",{"2":{"83":1,"84":1}}],["md",{"2":{"84":1}}],["master",{"2":{"126":1,"131":2}}],["machine",{"2":{"123":3,"124":1}}],["may",{"2":{"101":1,"103":1}}],["mailboxes",{"2":{"104":1,"112":2,"114":1,"118":1,"121":1}}],["mailbox",{"2":{"103":1,"112":1}}],["mail",{"2":{"99":1,"116":1,"118":1}}],["maintain",{"2":{"81":1}}],["main",{"2":{"27":1,"41":1,"99":1,"100":2,"103":1,"106":1,"111":1,"116":1,"117":1}}],["manually",{"2":{"103":1}}],["many",{"2":{"98":1,"100":1}}],["managed",{"2":{"128":1}}],["manager",{"2":{"119":1}}],["manage",{"2":{"81":1,"107":1,"110":1}}],["manages",{"2":{"41":3,"42":1}}],["major",{"2":{"80":1}}],["matching",{"2":{"71":1}}],["matchingstrategy",{"2":{"71":1}}],["making",{"0":{"25":1},"2":{"40":1}}],["must",{"2":{"25":1,"40":1,"87":1,"89":1,"90":1,"101":1,"102":1,"105":2,"109":1,"115":1,"118":2,"119":1,"126":1}}],["meili",{"2":{"126":1,"128":1,"131":2}}],["meilisearch",{"2":{"123":1,"126":1,"128":2,"131":3}}],["means",{"2":{"109":1}}],["method",{"2":{"104":1,"114":1,"122":1}}],["methods",{"0":{"11":1,"19":1},"1":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"93":1}}],["menu",{"2":{"99":1,"107":1,"109":1,"118":1,"119":1}}],["memory",{"2":{"94":1}}],["messages",{"2":{"92":1}}],["messageid",{"2":{"92":3}}],["message",{"2":{"18":3,"94":1,"109":1}}],["minio",{"2":{"81":1,"88":1,"90":1}}],["minimize",{"2":{"81":1}}],["missing",{"2":{"25":1}}],["mimetype",{"2":{"10":1}}],["microsoft",{"0":{"102":1,"114":1,"117":1},"1":{"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":1,"34":2,"45":1,"54":1,"80":1,"81":1,"83":1,"102":2,"113":1,"114":3,"115":1,"116":1,"117":2,"118":1,"120":2,"121":2,"136":1}}],["would",{"2":{"128":1}}],["work",{"2":{"99":1}}],["workspace",{"0":{"104":1},"1":{"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"1":1,"34":1,"80":1,"81":1,"83":1,"104":1,"105":1,"106":1,"110":3,"111":3,"112":1,"113":1,"136":1}}],["www",{"2":{"110":2}}],["want",{"2":{"127":1}}],["warning",{"2":{"118":1}}],["walk",{"2":{"98":1,"122":1}}],["was",{"2":{"10":1,"58":1,"61":1,"67":1,"103":1}}],["writing",{"2":{"92":1}}],["while",{"2":{"103":1}}],["which",{"2":{"42":1,"86":1,"88":1,"98":1,"99":1,"117":1,"127":1}}],["where",{"2":{"89":2}}],["when",{"2":{"81":1,"89":1,"90":2,"94":1,"96":1,"109":1}}],["who",{"2":{"81":1}}],["what",{"0":{"80":1,"103":1,"112":1,"121":1},"2":{"81":1}}],["we",{"2":{"84":2,"100":1,"119":1}}],["well",{"2":{"80":1}}],["welcome",{"2":{"39":1,"79":1,"84":1}}],["web",{"2":{"23":1,"135":2}}],["wide",{"0":{"110":1},"2":{"104":1,"110":2}}],["wish",{"2":{"87":1}}],["will",{"2":{"24":1,"25":1,"35":1,"79":1,"83":1,"88":1,"89":3,"91":1,"94":1,"96":1,"98":1,"99":3,"101":1,"102":1,"103":4,"107":3,"110":1,"111":2,"112":6,"117":3,"118":1,"119":2,"121":6,"122":1,"128":1,"134":1}}],["without",{"2":{"92":1,"96":1,"100":1,"101":1,"104":1,"114":1,"118":1}}],["within",{"2":{"76":1,"89":1,"104":1,"114":1,"116":1,"117":1}}],["with",{"2":{"10":1,"20":1,"24":1,"25":1,"33":1,"39":1,"40":1,"64":1,"79":1,"86":1,"95":1,"97":1,"99":1,"104":1,"105":1,"118":1,"119":1,"123":1,"126":1,"133":1,"134":1,"135":1,"137":1}}],["run",{"0":{"134":1},"2":{"118":1,"137":1}}],["running",{"2":{"82":1,"134":1,"135":1}}],["rule",{"2":{"109":1}}],["rules",{"2":{"109":1}}],["root",{"2":{"89":3,"132":2}}],["robust",{"2":{"80":1}}],["roles",{"2":{"107":1,"109":3,"115":1}}],["role",{"2":{"18":1,"24":1}}],["rand",{"2":{"126":1}}],["random",{"2":{"126":1}}],["ram",{"2":{"123":2}}],["rate",{"2":{"16":2}}],["rawemail",{"2":{"92":2}}],["raw",{"2":{"8":1,"10":1,"13":1}}],["remove",{"2":{"128":1}}],["reminder",{"2":{"119":1}}],["redis",{"2":{"123":1,"126":2,"128":2,"131":8}}],["redirect",{"2":{"117":1}}],["renew",{"2":{"119":1}}],["register",{"0":{"117":1},"2":{"117":2}}],["registering",{"2":{"116":1}}],["registrations",{"2":{"117":1}}],["registration",{"2":{"114":1,"117":2,"120":1}}],["region",{"2":{"90":2,"132":2}}],["region=us",{"2":{"90":1}}],["reflect",{"2":{"103":1}}],["reference",{"0":{"93":1,"129":1},"1":{"94":1,"95":1,"96":1,"97":1,"130":1,"131":1,"132":1,"133":1}}],["revoke",{"2":{"100":1}}],["reveal",{"2":{"99":1}}],["readonly",{"2":{"110":2}}],["readable",{"2":{"95":2}}],["readablestream",{"2":{"94":2,"95":1}}],["reads",{"2":{"92":1}}],["read",{"2":{"84":1,"110":1,"114":1,"116":1,"118":3}}],["real",{"2":{"81":1}}],["repository",{"0":{"124":1},"2":{"84":2,"124":1,"137":1}}],["reporting",{"2":{"84":1}}],["receive",{"2":{"109":1}}],["recent",{"0":{"35":1},"1":{"36":1},"2":{"35":1}}],["recommend",{"2":{"100":1,"119":1}}],["recommendation",{"0":{"100":1},"1":{"101":1,"102":1}}],["recommended",{"2":{"90":1,"99":1,"122":1}}],["recognize",{"2":{"99":1,"101":1,"117":1}}],["record",{"2":{"80":1,"81":1}}],["recipient1",{"2":{"7":1,"10":1}}],["recipient",{"2":{"7":1,"10":1}}],["recipients",{"2":{"7":1,"10":1}}],["requiring",{"2":{"86":1,"104":1}}],["required",{"2":{"18":1,"72":1,"77":1,"99":1,"107":1,"118":1,"120":1,"134":1}}],["require",{"2":{"3":1,"28":1,"43":1,"69":1,"74":1}}],["requests",{"0":{"25":1},"2":{"23":1,"25":1,"40":1,"84":1}}],["request",{"0":{"17":1,"45":1,"54":1},"2":{"18":1,"24":1,"45":1,"54":1,"72":1,"77":1,"84":1,"118":1}}],["resume",{"2":{"103":1}}],["result",{"2":{"72":1}}],["results",{"2":{"71":1}}],["resolve",{"2":{"96":1,"109":1}}],["resolves",{"2":{"12":1,"13":1,"20":1,"21":1,"22":1,"94":1,"95":1,"96":1,"97":1}}],["restart",{"2":{"137":1}}],["rest",{"2":{"81":1}}],["respond",{"2":{"25":1}}],["response",{"2":{"24":1}}],["responses",{"0":{"7":1,"10":1,"18":1,"30":1,"32":1,"34":1,"36":1,"38":1,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["responsible",{"2":{"2":1,"14":1}}],["retry",{"2":{"109":1}}],["retrieve",{"2":{"95":1}}],["retrieves",{"2":{"4":1,"8":1,"12":1,"13":1,"29":1,"31":1,"33":1,"35":1,"37":1,"47":1,"49":1,"95":1}}],["retrieving",{"2":{"2":1,"27":1,"86":1}}],["retention",{"2":{"81":2}}],["return",{"2":{"24":1,"35":1,"93":1,"109":1}}],["returns",{"2":{"12":1,"13":1,"16":1,"20":1,"21":1,"22":1,"94":1,"95":1,"96":1,"97":1}}],["navigating",{"2":{"119":1,"135":1}}],["navigation",{"2":{"109":1,"117":1}}],["navigate",{"2":{"99":1,"102":1,"107":2,"109":2,"110":1,"111":1,"119":1,"120":1}}],["named",{"2":{"127":1}}],["name",{"2":{"7":1,"10":1,"34":2,"45":1,"54":1,"90":1,"99":2,"101":2,"107":1,"111":2,"117":2,"118":1,"120":2,"131":1,"132":1}}],["node",{"2":{"109":1,"130":1}}],["nodejs",{"2":{"94":1,"95":1}}],["now",{"2":{"103":1,"110":2,"118":2,"119":2,"120":1,"125":1}}],["non",{"2":{"90":1}}],["no",{"2":{"58":1,"86":1}}],["note",{"2":{"35":1,"109":1}}],["not",{"2":{"10":2,"13":1,"18":1,"51":2,"55":2,"58":2,"61":2,"64":2,"67":2,"77":2,"95":1,"96":1,"103":1,"107":1,"109":1,"120":1}}],["next",{"0":{"103":1,"112":1,"121":1,"136":1},"2":{"118":1,"136":1}}],["never",{"2":{"91":1}}],["necessary",{"2":{"87":1,"106":1}}],["newly",{"2":{"46":1}}],["new",{"0":{"117":1},"2":{"44":1,"84":1,"92":1,"99":2,"102":3,"103":2,"107":2,"109":1,"110":1,"111":2,"112":1,"116":1,"117":1,"118":1,"119":2,"120":2,"121":1,"137":1}}],["needing",{"2":{"114":1}}],["needs",{"2":{"107":1,"116":1}}],["needed",{"2":{"89":1}}],["need",{"2":{"23":1,"24":1,"83":1,"100":1,"107":2,"125":1}}],["null",{"0":{"13":1,"21":1,"22":1},"2":{"13":1,"21":1,"22":1}}],["number",{"0":{"12":2},"2":{"6":4,"12":2,"29":2,"71":4,"99":1,"112":1}}],["2gb",{"2":{"123":1}}],["24",{"2":{"119":1}}],["2",{"0":{"89":1,"110":1,"118":1,"125":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"34":1,"101":2}}],["28t00",{"2":{"32":1}}],["27t00",{"2":{"32":1}}],["27t10",{"2":{"7":1,"10":1}}],["202",{"2":{"61":1,"67":1}}],["2023",{"2":{"7":1,"10":1,"32":2}}],["204",{"2":{"58":1}}],["201",{"2":{"46":1}}],["200",{"2":{"7":1,"10":1,"18":1,"30":1,"32":2,"34":1,"36":1,"38":1,"48":1,"51":1,"55":1,"64":1,"72":1,"77":1}}],["oauth",{"2":{"110":1}}],["ou",{"2":{"124":1}}],["outlook",{"0":{"102":1},"2":{"100":1}}],["out",{"2":{"99":1,"128":1}}],["our",{"2":{"82":1,"83":1,"84":3}}],["other",{"2":{"91":1,"101":1,"111":1,"134":1}}],["otherwise",{"2":{"20":1,"22":1,"97":1}}],["option",{"2":{"117":1}}],["options",{"2":{"102":2}}],["optional",{"2":{"90":2,"117":1}}],["operations",{"2":{"86":1}}],["openarchiver",{"0":{"111":1,"120":1},"2":{"101":2,"102":1,"106":1,"116":2,"117":1,"119":1,"120":1,"124":2}}],["open",{"0":{"80":1},"2":{"39":1,"79":1,"80":3,"82":1,"84":2,"89":1,"99":1,"111":1,"113":1,"122":1,"124":1,"125":1,"128":1,"131":2,"132":1,"135":1,"136":1,"137":1}}],["own",{"2":{"82":1,"128":1}}],["only",{"2":{"86":1,"100":1,"109":1,"117":2,"119":1,"121":1}}],["ones",{"2":{"128":1}}],["one",{"2":{"83":1,"100":1,"103":1,"107":1,"115":1,"119":1,"126":1}}],["on",{"2":{"40":1,"81":1,"84":2,"89":1,"91":1,"101":1,"103":2,"104":1,"107":1,"109":1,"110":1,"112":1,"114":1,"117":1,"118":1,"120":1,"123":2}}],["once",{"2":{"25":1,"99":1,"109":1,"112":1,"121":1,"134":1,"135":1}}],["overwritten",{"2":{"94":1}}],["overview",{"0":{"39":1,"86":1,"106":1,"116":1},"1":{"40":1,"41":1,"107":1,"108":1,"109":1,"110":1,"111":1,"117":1,"118":1,"119":1,"120":1},"2":{"117":1,"120":2}}],["overall",{"2":{"29":1}}],["obtain",{"0":{"101":1,"102":1},"2":{"40":1}}],["obtaining",{"0":{"24":1}}],["objects",{"2":{"34":1,"48":1}}],["object",{"2":{"12":1,"13":1,"21":1,"30":1,"32":1,"38":1,"45":1,"51":1,"54":1,"55":1,"64":1,"71":1,"72":1,"81":1,"86":1,"88":1,"90":1,"127":1}}],["organizational",{"2":{"117":1}}],["organization",{"2":{"104":1,"105":1,"109":9,"114":1,"118":2,"121":1}}],["or",{"2":{"13":1,"18":1,"21":1,"25":1,"26":1,"71":1,"77":1,"81":1,"83":1,"91":1,"92":2,"94":1,"98":1,"99":3,"103":1,"104":1,"109":1,"115":1,"119":1,"121":1,"123":3,"128":2,"131":1,"132":1}}],["occurred",{"2":{"7":1,"10":1,"18":2,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["ok",{"2":{"7":1,"10":1,"18":1,"30":1,"32":1,"34":1,"36":1,"38":1,"48":1,"51":1,"55":1,"64":1,"72":1,"77":1}}],["often",{"2":{"99":1}}],["of",{"0":{"0":1},"1":{"1":1},"2":{"4":1,"5":1,"6":1,"7":1,"9":1,"12":3,"13":1,"22":1,"23":1,"25":1,"29":2,"33":1,"34":1,"35":1,"48":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"80":1,"81":3,"82":1,"84":1,"90":3,"91":1,"94":1,"95":2,"96":1,"97":2,"100":1,"103":4,"104":2,"107":1,"109":2,"110":1,"111":2,"112":5,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":2,"121":3,"123":2,"128":1,"129":1,"131":1,"134":1}}],["16",{"2":{"101":1}}],["12",{"2":{"119":1}}],["123",{"2":{"94":1}}],["12345678",{"2":{"34":1}}],["12345",{"2":{"10":1,"30":1}}],["127",{"2":{"90":1}}],["150",{"2":{"32":1}}],["100",{"2":{"7":1}}],["10",{"2":{"6":1,"7":2,"10":1,"71":1,"72":1}}],["1",{"0":{"88":1,"107":1,"117":1,"124":1},"2":{"6":1,"7":2,"10":1,"34":1,"71":1,"72":3,"90":2,"109":1,"111":1}}],["uri",{"2":{"117":1}}],["url",{"0":{"5":1,"9":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1},"2":{"90":1,"128":1,"131":2}}],["updating",{"0":{"137":1}}],["update",{"2":{"103":1,"128":2,"137":1}}],["updated",{"2":{"55":1,"64":1,"109":1}}],["updateingestionsourcedto",{"2":{"54":2}}],["updates",{"2":{"52":1}}],["up",{"2":{"79":1,"104":1,"114":1,"121":1,"122":1,"134":1,"137":1}}],["upon",{"2":{"21":1}}],["usually",{"2":{"109":1}}],["usage",{"0":{"92":1},"2":{"33":1}}],["uses",{"2":{"81":1,"88":2,"104":1,"114":1,"127":1}}],["used",{"2":{"29":1,"91":1,"131":1}}],["use",{"0":{"91":1,"100":1},"1":{"92":1,"101":1,"102":1},"2":{"26":1,"40":1,"71":1,"80":1,"87":1,"88":1,"90":1,"92":1,"99":1,"101":1,"102":2,"109":1,"111":1,"119":1,"121":1,"123":1,"127":2,"128":1,"132":1}}],["users",{"2":{"110":1,"111":1,"112":3,"121":2}}],["username",{"2":{"99":2,"103":1,"131":1}}],["userid",{"2":{"92":2}}],["user",{"0":{"1":1},"2":{"14":1,"16":1,"17":2,"18":4,"21":5,"24":5,"38":1,"41":1,"90":2,"94":1,"104":3,"109":1,"110":1,"111":1,"112":2,"114":2,"118":3,"121":1,"126":1,"131":1,"133":2}}],["using",{"0":{"26":1,"128":1},"2":{"25":1,"26":1,"79":1,"90":1,"100":1,"103":1,"109":1,"122":1,"125":1,"127":1,"134":1}}],["under",{"2":{"107":1,"110":2}}],["underlying",{"2":{"86":1}}],["unable",{"2":{"103":1}}],["unauthorized",{"2":{"18":1,"25":1}}],["until",{"2":{"103":1}}],["unique",{"2":{"92":1,"94":1,"95":1,"96":1,"97":1,"100":1,"110":2,"126":2}}],["unified",{"2":{"86":1}}],["universal",{"2":{"81":1}}],["unrestricted",{"2":{"26":1}}],["unexpected",{"2":{"7":1,"10":1,"18":1,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["ecosystem",{"2":{"117":1}}],["each",{"2":{"112":1}}],["easily",{"2":{"99":1}}],["east",{"2":{"90":1}}],["either",{"2":{"109":1}}],["editor",{"2":{"125":1}}],["edit",{"2":{"103":1,"109":3}}],["ediscovery",{"2":{"80":1,"81":1}}],["ever",{"2":{"100":1,"114":1}}],["efficiency",{"2":{"94":1}}],["efficiently",{"2":{"121":1}}],["efficient",{"2":{"81":1}}],["etc",{"2":{"81":1}}],["e",{"2":{"71":1,"86":1,"88":1,"94":1,"107":2,"111":2,"120":1}}],["eml`",{"2":{"92":1}}],["eml",{"2":{"81":1,"94":1}}],["em>",{"2":{"72":1}}],["em>test",{"2":{"72":1}}],["empty",{"2":{"35":1,"36":1}}],["emailid",{"0":{"13":1},"2":{"13":1}}],["emails",{"0":{"4":1,"8":1},"1":{"5":1,"6":1,"7":1,"9":1,"10":1},"2":{"2":1,"4":1,"5":1,"7":1,"12":1,"29":1,"41":1,"42":1,"68":1,"70":1,"80":1,"81":2,"83":1,"94":1,"98":1,"103":3,"112":1,"113":1,"121":1,"136":1}}],["email",{"0":{"2":1,"21":1,"113":1},"1":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"2":{"1":1,"2":1,"7":3,"8":1,"9":1,"10":5,"13":2,"17":2,"18":3,"21":3,"24":3,"31":1,"37":1,"41":3,"42":1,"72":3,"80":2,"83":1,"92":3,"98":2,"99":5,"100":2,"107":2,"110":1,"111":2,"113":2,"114":1,"133":2,"135":1}}],["encrypting",{"2":{"126":1,"133":1}}],["encryption",{"2":{"126":1,"133":1}}],["encrypted",{"2":{"81":1}}],["entra",{"0":{"117":1},"2":{"114":1,"116":2,"117":1,"120":1}}],["entire",{"2":{"111":1}}],["entirely",{"2":{"109":1}}],["entering",{"2":{"106":1,"116":1}}],["enter",{"2":{"99":4,"110":1,"111":1,"119":1}}],["enforced",{"2":{"109":1}}],["enable",{"2":{"101":1,"102":1,"107":3,"131":1}}],["enabled",{"2":{"80":1,"102":1,"131":1}}],["enhanced",{"2":{"100":1}}],["enhancements",{"2":{"84":1}}],["ensure",{"2":{"94":1}}],["ensuring",{"2":{"81":1,"121":1}}],["engine",{"2":{"81":1}}],["environment",{"0":{"125":1,"129":1},"1":{"126":1,"127":1,"128":1,"129":1,"130":2,"131":2,"132":2,"133":2},"2":{"87":1,"92":1,"125":2,"129":1,"130":1}}],["env",{"2":{"26":1,"87":1,"89":2,"90":2,"91":1,"125":4,"128":1,"130":1,"134":1,"135":1}}],["endpoint=http",{"2":{"90":1}}],["endpoint",{"2":{"16":1,"24":1,"68":1,"73":1,"90":3,"132":2}}],["endpoints",{"0":{"3":1,"15":1,"28":1,"43":1,"69":1,"74":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"16":1,"17":1,"18":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"70":1,"71":1,"72":1,"75":1,"76":1,"77":1},"2":{"3":1,"23":1,"25":1,"27":1,"28":1,"39":2,"40":1,"43":1,"69":1,"74":1}}],["external",{"0":{"128":1},"2":{"123":1,"128":2}}],["exactly",{"2":{"110":1}}],["example",{"0":{"92":1},"2":{"7":2,"10":2,"18":1,"24":2,"25":1,"26":1,"38":1,"71":1,"72":1,"125":2,"128":1}}],["exclude",{"2":{"109":1}}],["existence",{"2":{"97":1}}],["exist",{"2":{"96":1}}],["exists",{"0":{"97":1},"2":{"94":1,"97":1}}],["existing",{"2":{"52":1}}],["expiry",{"2":{"119":1}}],["expires",{"2":{"119":2,"133":1}}],["expired",{"2":{"25":1}}],["expiration",{"2":{"22":1,"133":1}}],["error",{"0":{"109":1},"2":{"7":2,"10":2,"18":3,"34":1,"46":2,"48":2,"51":2,"54":1,"55":2,"58":2,"61":2,"64":2,"67":2,"72":2,"77":2,"92":3,"95":1,"96":1,"103":1,"109":1}}],["flag",{"2":{"134":1}}],["fetch",{"2":{"121":1}}],["feature",{"2":{"84":1,"121":1}}],["features",{"0":{"81":1}}],["function",{"2":{"107":1}}],["functionality",{"2":{"41":1}}],["fully",{"2":{"119":1}}],["full",{"2":{"81":1,"90":1,"99":1}}],["frontend",{"2":{"130":2,"134":1}}],["from=user",{"2":{"71":1}}],["from",{"2":{"2":1,"7":1,"10":1,"12":1,"37":1,"72":1,"73":1,"75":1,"80":2,"84":1,"86":2,"92":2,"95":1,"96":1,"98":1,"99":2,"103":2,"109":2,"110":2,"111":2,"113":1,"118":2,"120":1,"128":1,"137":1}}],["free",{"2":{"80":1}}],["fastmail",{"2":{"100":1}}],["factory",{"2":{"91":1}}],["failedingestionslast7days",{"2":{"30":1}}],["failed",{"2":{"29":1}}],["fails",{"2":{"21":1}}],["false",{"2":{"20":1,"97":1,"131":1,"132":1}}],["final",{"2":{"118":1}}],["finally",{"2":{"111":1}}],["find",{"2":{"84":1,"107":1,"109":1,"110":1,"118":1}}],["finds",{"2":{"21":1}}],["filled",{"2":{"99":1}}],["fill",{"2":{"99":2,"111":1,"120":1,"127":1}}],["filter",{"2":{"109":1}}],["filtering",{"2":{"71":1}}],["filters",{"2":{"71":1}}],["filesystem",{"0":{"89":1},"2":{"81":1,"86":1,"88":1,"127":1}}],["files",{"2":{"73":1,"86":1,"89":1,"94":2}}],["file",{"2":{"26":1,"41":1,"75":1,"76":1,"77":3,"84":1,"86":1,"87":1,"94":5,"95":4,"96":4,"97":3,"107":3,"111":2,"125":3,"128":3,"132":1,"134":1,"135":1}}],["filename",{"2":{"10":1}}],["first",{"2":{"24":1,"112":1,"117":1,"124":1}}],["fields",{"2":{"99":2}}],["field",{"2":{"17":1,"101":1,"102":1,"110":2}}],["folder",{"2":{"121":2}}],["following",{"2":{"107":1,"109":1,"110":1,"115":1,"118":1,"126":2,"137":1}}],["follow",{"2":{"82":1,"83":1}}],["four",{"2":{"116":1}}],["found",{"2":{"10":2,"13":1,"51":2,"55":2,"58":2,"61":2,"64":2,"67":2,"77":2,"95":1}}],["form",{"2":{"99":1,"101":1,"102":1}}],["format",{"2":{"81":1}}],["formatted",{"2":{"72":1}}],["fork",{"2":{"84":1}}],["forced",{"2":{"65":1}}],["force",{"2":{"16":1,"67":1,"90":2,"132":2}}],["for",{"0":{"101":1,"102":1},"2":{"2":1,"4":1,"5":1,"6":1,"12":2,"14":1,"26":1,"27":2,"31":1,"40":1,"41":1,"42":1,"59":1,"65":1,"68":1,"71":2,"73":1,"80":2,"84":3,"86":2,"87":1,"90":5,"92":1,"94":3,"97":1,"98":1,"99":6,"100":1,"101":1,"102":1,"103":2,"104":1,"107":2,"109":2,"112":1,"113":1,"114":1,"116":2,"117":1,"118":3,"122":1,"125":1,"126":6,"127":1,"128":5,"129":1,"130":2,"131":9,"132":7,"133":5,"134":2}}],["db",{"2":{"131":1}}],["duration",{"2":{"119":1}}],["during",{"2":{"81":1}}],["dropdown",{"2":{"99":1,"111":1,"120":1}}],["digit",{"2":{"101":1}}],["dialog",{"2":{"99":1,"118":1}}],["directory",{"2":{"94":1,"110":1,"117":2,"120":1}}],["directly",{"2":{"91":1}}],["discovered",{"2":{"112":1,"121":1}}],["discovery",{"2":{"112":1,"121":1}}],["discover",{"2":{"111":1}}],["discussion",{"2":{"84":1}}],["disable",{"2":{"109":1,"131":1}}],["disableserviceaccountkeycreation",{"0":{"109":1},"2":{"109":2}}],["displayed",{"2":{"101":1,"119":1}}],["disk",{"2":{"92":1}}],["different",{"2":{"86":1}}],["d",{"2":{"84":2,"134":2,"137":1}}],["dot",{"2":{"107":1}}],["do",{"2":{"107":1,"128":1}}],["done",{"2":{"107":1}}],["don",{"2":{"107":1}}],["double",{"2":{"103":1}}],["down",{"2":{"102":1}}],["downloaded",{"2":{"107":1,"111":1}}],["download",{"0":{"75":1},"1":{"76":1,"77":1}}],["downloading",{"2":{"73":1}}],["downloads",{"2":{"41":1,"75":1}}],["domain",{"0":{"110":1},"2":{"99":1,"104":1,"110":3,"111":1}}],["does",{"2":{"96":1}}],["doesn",{"2":{"92":1}}],["docker",{"0":{"131":1},"2":{"122":1,"123":2,"125":2,"127":2,"128":3,"131":1,"134":2,"137":3}}],["docx",{"2":{"81":1}}],["document",{"2":{"10":1}}],["documentation",{"2":{"1":1,"39":1,"100":1}}],["date",{"2":{"32":2,"121":1}}],["data",{"0":{"83":1},"2":{"27":1,"37":1,"41":1,"56":1,"81":2,"89":1,"104":1,"110":3,"114":1,"126":1,"127":1,"132":1,"133":1,"134":1}}],["database",{"2":{"2":1,"12":1,"126":2,"128":1,"131":5,"134":1}}],["day",{"2":{"31":1}}],["days",{"2":{"29":1,"31":1}}],["dashboard",{"0":{"27":1,"29":1,"31":1,"33":1,"35":1,"37":1},"1":{"28":1,"29":1,"30":2,"31":1,"32":2,"33":1,"34":2,"35":1,"36":2,"37":1,"38":2},"2":{"25":1,"26":1,"27":2,"30":1,"41":2,"99":1,"111":1}}],["development",{"2":{"130":1}}],["delta",{"2":{"121":1}}],["delegation",{"0":{"110":1},"2":{"104":1,"110":2}}],["deleting",{"2":{"86":1}}],["deletion",{"2":{"81":1}}],["deleted",{"2":{"58":1,"96":1}}],["deletes",{"2":{"56":1,"96":1}}],["delete",{"0":{"56":1,"96":1},"1":{"57":1,"58":1},"2":{"96":1,"100":1}}],["depending",{"2":{"103":1,"112":1}}],["dependency",{"2":{"91":1}}],["deploying",{"2":{"83":1,"122":1,"136":1}}],["determines",{"2":{"88":1}}],["detailed",{"2":{"39":1,"82":1,"83":1}}],["details",{"2":{"2":1,"10":1,"21":1,"40":1,"84":1,"99":2,"110":2,"111":1,"120":1}}],["described",{"2":{"109":1}}],["descriptive",{"2":{"99":1,"117":1}}],["description",{"2":{"5":1,"6":1,"9":1,"17":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1,"107":1,"119":2,"130":1,"131":1,"132":1,"133":1}}],["designed",{"2":{"91":1}}],["design",{"2":{"86":1}}],["decouple",{"2":{"86":1}}],["definitions",{"2":{"128":1}}],["define",{"2":{"81":1,"92":1}}],["defaultredispassword",{"2":{"131":1}}],["default",{"2":{"6":1,"71":1,"117":1,"127":1,"128":1,"130":1,"131":1,"132":1,"133":1}}],["deduplication",{"2":{"81":1}}],["ps",{"2":{"134":1}}],["pieces",{"2":{"120":1}}],["point",{"2":{"128":1}}],["popular",{"2":{"113":1}}],["policy",{"2":{"109":9}}],["policies",{"2":{"81":1,"109":1}}],["port",{"2":{"99":2,"103":1,"128":1,"130":4,"131":2}}],["powerful",{"2":{"81":1}}],["postgresql",{"2":{"128":1,"131":5}}],["postgres",{"2":{"123":1,"126":1,"128":1,"131":4}}],["post",{"0":{"16":1,"44":1,"59":1,"62":1,"65":1},"1":{"17":1,"18":1,"45":1,"46":1,"60":1,"61":1,"63":1,"64":1,"66":1,"67":1}}],["pencil",{"2":{"109":1}}],["pending",{"2":{"54":1}}],["persistent",{"2":{"134":1}}],["persisted",{"2":{"127":1}}],["personal",{"2":{"99":1}}],["permitted",{"2":{"110":1}}],["permit",{"2":{"109":1}}],["permissions",{"0":{"118":1},"2":{"106":1,"109":2,"116":1,"118":10}}],["permission",{"2":{"104":1,"114":1,"118":1}}],["permanent",{"2":{"80":1}}],["periodically",{"2":{"103":1,"112":1}}],["performed",{"2":{"116":1}}],["performing",{"2":{"103":1}}],["performance",{"2":{"81":1}}],["perform",{"2":{"81":1}}],["performs",{"2":{"70":1}}],["per",{"2":{"6":1,"12":1,"71":1}}],["purpose",{"2":{"86":1}}],["pull",{"2":{"84":2,"134":1,"137":4}}],["put",{"0":{"52":1,"94":1},"1":{"53":1,"54":1,"55":1},"2":{"92":1}}],["public",{"2":{"16":1,"92":1}}],["please",{"2":{"84":3,"100":1,"103":1}}],["place",{"2":{"81":1}}],["placeholder",{"2":{"35":1,"126":1}}],["platforms",{"2":{"80":1}}],["platform",{"2":{"79":1,"80":1}}],["plain",{"2":{"20":2}}],["pluggable",{"0":{"85":1},"1":{"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"81":1}}],["privileges",{"2":{"105":1,"133":1}}],["private",{"2":{"92":1,"107":1}}],["primary",{"2":{"86":1}}],["previous",{"2":{"120":1}}],["preventing",{"2":{"109":1}}],["prevent",{"2":{"16":1,"81":1,"119":1}}],["prerequisites",{"0":{"105":1,"115":1,"123":1}}],["prefixed",{"2":{"39":1}}],["profiles",{"2":{"118":1}}],["project",{"2":{"107":4,"109":4}}],["protocol",{"2":{"98":1}}],["protected",{"2":{"23":1,"25":1,"40":1}}],["proof",{"2":{"80":1}}],["providing",{"2":{"24":1}}],["provide",{"2":{"87":1,"89":1,"90":1,"91":1,"111":1}}],["providerconfig",{"2":{"45":1,"54":1}}],["provider",{"2":{"34":2,"45":1,"54":1,"73":1,"76":1,"83":1,"88":1,"90":1,"91":1,"98":1,"99":3,"100":1,"111":1,"113":1,"120":1}}],["providers",{"0":{"113":1},"2":{"1":1,"42":1,"86":2,"91":1,"100":1,"113":1}}],["provides",{"2":{"26":1,"27":1,"39":1,"41":1,"68":1,"73":1,"80":1,"86":1,"104":1,"113":1,"114":1}}],["provided",{"2":{"18":1,"103":1}}],["processingtimems",{"2":{"72":1}}],["process",{"2":{"21":1,"59":1,"84":1,"106":1,"112":1,"116":1,"121":1}}],["promise",{"0":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"12":1,"13":1,"20":1,"21":1,"22":1,"92":1,"93":1,"94":2,"95":2,"96":3,"97":2}}],["pdf",{"2":{"10":2,"81":1}}],["pane",{"2":{"117":1,"118":1,"119":1}}],["part",{"0":{"107":1,"110":1,"111":1,"117":1,"118":1,"119":1,"120":1},"2":{"107":2,"109":1,"111":1}}],["parts",{"2":{"106":1,"116":1}}],["parameter",{"2":{"5":1,"6":1,"9":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1}}],["parameters",{"0":{"5":1,"6":1,"9":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1}}],["paste",{"2":{"101":1,"110":2,"111":1,"120":1}}],["passwords",{"2":{"100":1,"101":1,"102":1,"104":1,"114":1}}],["password",{"0":{"20":1,"21":1,"100":1,"101":1,"102":1},"1":{"101":1,"102":1},"2":{"17":2,"18":2,"20":6,"21":3,"24":3,"99":2,"100":5,"101":5,"102":6,"103":1,"116":1,"119":3,"126":6,"131":6,"133":3,"135":1}}],["path=",{"2":{"89":1}}],["path",{"0":{"94":1,"95":1,"96":1,"97":1},"2":{"76":2,"77":1,"89":4,"90":2,"92":1,"94":3,"95":3,"96":1,"97":1,"132":4}}],["pairs",{"2":{"71":1}}],["pauses",{"2":{"62":1}}],["pause",{"0":{"62":1},"1":{"63":1,"64":1},"2":{"103":1}}],["paused",{"2":{"54":1,"64":1,"103":1}}],["pagination",{"2":{"6":1,"12":1,"71":1}}],["paginatedarchivedemails",{"0":{"12":1},"2":{"12":1}}],["paginated",{"2":{"4":1,"7":1,"12":1}}],["page",{"0":{"12":1},"2":{"6":3,"7":1,"12":3,"71":3,"72":1,"99":1,"103":1,"109":1,"111":1,"117":2,"118":1,"120":3}}],["same",{"2":{"119":1}}],["saved",{"2":{"112":1,"120":1,"121":1}}],["save",{"2":{"99":2,"103":1,"111":2,"120":2}}],["show",{"2":{"112":1,"118":1,"121":1}}],["should",{"2":{"26":1,"45":1,"54":1,"91":1,"109":1,"118":1,"133":2}}],["sdk",{"2":{"107":1,"112":1}}],["spaces",{"2":{"101":1}}],["specify",{"2":{"87":1}}],["specified",{"2":{"10":1,"94":1,"95":2}}],["specific",{"2":{"4":1,"99":1,"100":2,"109":1,"116":1,"118":1}}],["small",{"2":{"94":1}}],["switch",{"2":{"86":1}}],["s3storageprovider",{"2":{"91":1}}],["s3",{"0":{"90":1},"2":{"81":2,"86":1,"88":2,"90":18,"92":1,"127":4,"132":13}}],["system",{"2":{"81":2,"103":5,"112":3,"121":3}}],["sync",{"0":{"65":1},"1":{"66":1,"67":1},"2":{"67":1,"103":1,"112":1,"121":1}}],["synchronization",{"2":{"35":1,"65":1,"81":1}}],["syncs",{"0":{"35":1},"1":{"36":1}}],["so",{"2":{"128":1}}],["sometimes",{"2":{"100":1}}],["solution",{"2":{"80":1}}],["sovereign",{"2":{"80":1}}],["source",{"0":{"4":1,"83":1},"1":{"5":1,"6":1,"7":1},"2":{"4":1,"5":1,"12":2,"34":3,"44":1,"46":1,"48":1,"49":1,"50":1,"51":2,"52":1,"53":1,"55":2,"56":1,"57":1,"58":2,"59":1,"60":1,"61":1,"62":1,"63":1,"64":2,"65":1,"66":1,"67":1,"80":1,"98":1,"99":3,"101":1,"102":1,"103":1,"111":2,"120":2}}],["sources",{"0":{"33":1},"1":{"34":1},"2":{"1":1,"33":1,"41":1,"42":1,"47":1,"83":1,"99":1,"103":1,"111":2,"113":1,"120":2,"136":1}}],["scopes",{"2":{"110":3}}],["screen",{"2":{"117":1}}],["scroll",{"2":{"102":1}}],["scripts",{"2":{"26":1}}],["scheme",{"2":{"25":1}}],["suitable",{"2":{"127":1}}],["suggesting",{"2":{"84":1}}],["supported",{"2":{"117":1}}],["supports",{"2":{"98":1}}],["support",{"2":{"81":1,"100":1}}],["super",{"0":{"26":1},"2":{"26":4,"105":1,"111":1,"133":2}}],["success",{"2":{"54":1}}],["successfully",{"2":{"58":1,"61":1,"67":1,"94":1,"96":1,"136":1}}],["successful",{"2":{"18":1,"21":1,"24":1}}],["such",{"2":{"37":1,"99":1,"117":1,"119":1}}],["subdirectories",{"2":{"89":1}}],["submitting",{"2":{"84":1}}],["submit",{"2":{"84":1}}],["subsequent",{"2":{"25":1}}],["subject",{"2":{"7":1,"10":1,"72":2}}],["s",{"2":{"17":2,"21":2,"22":1,"86":1,"88":1,"95":1,"99":1,"100":1,"110":1,"111":1,"112":1,"117":1,"118":2,"119":2,"121":1}}],["size",{"2":{"103":1,"112":1}}],["sizebytes",{"2":{"10":1}}],["signing",{"2":{"126":1,"133":1}}],["significant",{"2":{"112":1,"121":1}}],["signed",{"2":{"118":1}}],["sign",{"2":{"101":1,"102":1,"117":1}}],["simply",{"2":{"100":1}}],["single",{"2":{"8":1,"13":1,"49":1,"117":1}}],["separated",{"2":{"110":1}}],["selector",{"2":{"109":1}}],["selected",{"2":{"107":1}}],["select",{"2":{"99":1,"101":1,"107":2,"109":2,"111":1,"117":1,"118":4,"119":2,"120":1}}],["self",{"2":{"80":1,"98":1}}],["several",{"2":{"99":1}}],["searching",{"2":{"68":1,"80":1}}],["search",{"0":{"68":1,"70":1},"1":{"69":1,"70":1,"71":2,"72":2},"2":{"41":2,"68":1,"70":1,"71":1,"72":1,"81":2,"107":1,"109":1,"118":1}}],["see",{"2":{"40":1,"99":1,"100":1,"118":1}}],["security",{"0":{"100":1,"133":1},"1":{"101":1,"102":1},"2":{"100":1,"102":2,"109":1,"110":1,"119":1}}],["secure",{"2":{"80":1,"81":1,"99":1,"104":1,"107":1,"114":1,"116":1,"117":1,"119":1,"126":1}}],["section",{"2":{"39":1,"102":1,"107":1,"110":1,"113":1}}],["secrets",{"2":{"119":2}}],["secret",{"0":{"119":1},"2":{"26":2,"90":3,"116":1,"119":4,"120":3,"126":1,"132":2,"133":3}}],["setup",{"0":{"106":1,"107":1,"116":1},"1":{"107":1,"108":1,"109":1,"110":1,"111":1,"117":1,"118":1,"119":1,"120":1},"2":{"106":1,"116":1,"127":1}}],["settings",{"0":{"130":1,"132":1},"2":{"87":1,"125":1}}],["setting",{"2":{"79":1,"122":1}}],["set",{"2":{"26":1,"89":1,"90":2,"104":1,"114":1,"119":1}}],["sensitive",{"2":{"126":1,"133":1}}],["sentat",{"2":{"7":1,"10":1}}],["senders",{"2":{"37":1}}],["sender",{"2":{"7":1,"10":1,"38":1,"72":1}}],["service",{"0":{"2":1,"11":1,"14":1,"19":1,"27":1,"42":1,"68":1,"73":1,"85":1,"91":1,"131":1},"1":{"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":2,"13":2,"15":1,"16":1,"17":1,"18":1,"19":1,"20":2,"21":2,"22":2,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"69":1,"70":1,"71":1,"72":1,"74":1,"75":1,"76":1,"77":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":2,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"2":1,"3":1,"14":1,"27":1,"28":1,"41":6,"42":1,"43":1,"68":1,"69":1,"73":1,"74":1,"86":1,"88":2,"89":1,"92":1,"99":1,"100":1,"104":2,"106":1,"107":9,"109":1,"110":6,"111":2,"112":1,"114":1,"117":2,"118":1,"119":2,"121":1,"126":1,"128":2,"130":2,"131":4}}],["services",{"0":{"41":1,"78":1,"128":1},"2":{"1":1,"90":1,"91":1,"98":1,"107":1,"128":3,"131":1,"134":2,"135":1,"137":1}}],["servers",{"2":{"81":1}}],["server",{"0":{"98":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1},"2":{"1":1,"7":1,"10":1,"18":2,"26":2,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1,"83":1,"88":1,"89":1,"99":2,"103":1,"113":1,"123":3,"136":1}}],["steps",{"0":{"136":1}}],["step",{"0":{"99":2},"2":{"101":2,"102":2,"118":1,"120":1,"136":1}}],["still",{"2":{"96":1}}],["style",{"2":{"90":1,"132":2}}],["style=true",{"2":{"90":1}}],["stores",{"2":{"94":1}}],["store",{"2":{"86":1,"119":1,"125":1}}],["stored",{"2":{"81":1,"89":1,"94":1}}],["storing",{"2":{"80":1,"86":1}}],["storageused",{"2":{"34":2}}],["storageservice",{"0":{"85":1},"1":{"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"86":1,"87":1,"91":2,"92":8,"93":1}}],["storage",{"0":{"73":1,"75":1,"85":1,"90":1,"127":1,"132":1},"1":{"74":1,"75":1,"76":2,"77":2,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1},"2":{"1":1,"2":1,"29":1,"33":1,"41":2,"73":2,"75":1,"76":1,"81":5,"86":4,"87":1,"88":5,"89":4,"90":16,"96":1,"127":4,"132":15}}],["strong",{"2":{"126":3,"133":1}}],["strongly",{"2":{"99":1,"100":1}}],["structure",{"2":{"94":1}}],["structured",{"2":{"92":1}}],["stream",{"2":{"77":1,"95":2}}],["strategy",{"2":{"71":1}}],["string",{"0":{"12":1,"13":1,"20":2,"21":2,"22":1},"2":{"5":1,"9":1,"17":2,"22":1,"45":1,"50":1,"53":1,"54":1,"57":1,"60":1,"63":1,"66":1,"71":2,"76":1,"92":2,"94":1,"95":1,"96":1,"97":1,"126":2,"133":1}}],["stays",{"2":{"121":1}}],["starting",{"2":{"128":1}}],["start",{"2":{"84":1,"112":1,"134":2,"136":1}}],["started",{"0":{"79":1},"1":{"80":1,"81":1,"82":1,"83":1,"84":1},"2":{"1":1,"79":1,"113":1}}],["standardized",{"2":{"86":1}}],["standard",{"2":{"81":2,"98":1,"114":1}}],["stating",{"2":{"109":1}}],["statistics",{"2":{"27":1,"29":1,"30":1}}],["state",{"2":{"103":1}}],["status",{"2":{"25":1,"33":1,"34":2,"54":1,"64":1,"103":1,"112":2,"118":2,"121":2,"134":1}}],["stats",{"0":{"29":1},"1":{"30":1},"2":{"25":1,"26":1}}],["icon",{"2":{"109":2}}],["iam",{"0":{"109":1},"2":{"107":1,"109":6}}],["images",{"2":{"134":1,"137":2}}],["imap",{"0":{"98":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1},"2":{"1":1,"45":1,"54":1,"80":1,"81":1,"83":1,"98":2,"99":7,"103":1,"113":1,"136":1}}],["immediately",{"2":{"119":1}}],["immutable",{"2":{"81":1}}],["impersonated",{"2":{"111":1}}],["implements",{"2":{"93":1}}],["important",{"0":{"126":1}}],["imports",{"2":{"81":1}}],["import",{"0":{"59":1},"1":{"60":1,"61":1},"2":{"59":1,"61":1,"103":2,"112":3,"121":3}}],["importing",{"2":{"42":1,"54":1,"103":1,"112":1,"121":1}}],["if",{"2":{"13":1,"16":1,"20":1,"21":1,"22":1,"24":1,"25":1,"84":2,"92":1,"94":1,"95":1,"96":1,"97":1,"100":2,"107":1,"109":2,"119":1,"123":1,"127":1}}],["it",{"2":{"21":1,"25":1,"26":1,"84":1,"87":1,"92":2,"94":2,"101":2,"103":1,"107":2,"109":3,"111":1,"116":1,"118":1,"119":5}}],["its",{"2":{"8":2,"13":2,"20":1,"49":1,"86":1,"94":1,"103":1}}],["items",{"2":{"6":1,"7":1,"12":1,"71":1}}],["identity",{"2":{"116":1,"117":2}}],["identifier",{"2":{"94":1,"95":1,"96":1,"97":1}}],["idea",{"2":{"84":1}}],["id=minioadmin",{"2":{"90":1}}],["id",{"0":{"8":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"117":1},"1":{"9":1,"10":1,"50":1,"51":1,"53":1,"54":1,"55":1,"57":1,"58":1,"60":1,"61":1,"63":1,"64":1,"66":1,"67":1},"2":{"5":1,"7":2,"8":1,"9":2,"10":5,"12":1,"13":2,"18":2,"24":2,"34":4,"49":1,"50":2,"53":2,"57":2,"60":2,"63":2,"66":2,"72":2,"90":1,"110":5,"114":1,"116":1,"120":3,"132":2}}],["istorageprovider",{"2":{"86":1,"93":1}}],["issue",{"2":{"84":2}}],["is",{"0":{"80":1},"2":{"2":1,"14":1,"16":1,"20":1,"25":1,"35":1,"77":1,"81":1,"86":2,"87":1,"89":1,"90":1,"91":1,"92":2,"95":1,"96":1,"98":1,"99":3,"103":3,"104":1,"109":2,"110":2,"112":2,"114":1,"117":1,"118":1,"119":3,"120":1,"121":1,"122":1,"125":1,"127":2,"129":1,"136":1}}],["ingest",{"2":{"113":1}}],["ingestioncredentials",{"2":{"45":1,"54":1}}],["ingestionservice",{"0":{"92":1},"2":{"92":1}}],["ingestions",{"2":{"29":1,"99":1,"103":1}}],["ingestionsourceid",{"0":{"4":1,"12":1},"1":{"5":1,"6":1,"7":1},"2":{"5":1,"12":1}}],["ingestion",{"0":{"4":1,"31":1,"33":1,"42":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1},"1":{"5":1,"6":1,"7":1,"32":1,"34":1,"43":1,"44":1,"45":2,"46":2,"47":1,"48":2,"49":1,"50":2,"51":2,"52":1,"53":2,"54":2,"55":2,"56":1,"57":2,"58":2,"59":1,"60":2,"61":2,"62":1,"63":2,"64":2,"65":1,"66":2,"67":2},"2":{"1":1,"4":1,"5":1,"12":2,"31":1,"32":1,"33":1,"34":1,"41":2,"42":2,"44":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":2,"52":1,"53":1,"55":2,"56":1,"57":1,"58":2,"59":1,"60":1,"61":1,"62":1,"63":1,"64":2,"65":1,"66":1,"67":1,"81":1,"83":1,"98":1,"99":3,"101":1,"102":1,"103":2,"111":2,"120":2,"136":1}}],["involves",{"2":{"106":1,"116":1}}],["invalid",{"2":{"18":2,"25":1,"77":1}}],["individual",{"2":{"104":1}}],["indexes",{"2":{"81":1}}],["indexed",{"0":{"37":1},"1":{"38":1},"2":{"37":1,"38":1,"68":1,"70":1}}],["indexing",{"2":{"80":1}}],["inbox",{"2":{"103":1}}],["inboxes",{"2":{"80":1}}],["into",{"2":{"101":1,"106":1,"111":1,"116":1,"136":1}}],["interruption",{"2":{"119":1}}],["interface",{"2":{"86":2,"93":1,"135":1}}],["internal",{"2":{"7":1,"10":1,"18":2,"46":1,"48":1,"51":1,"55":1,"58":1,"61":1,"64":1,"67":1,"72":1,"77":1}}],["injection",{"2":{"91":1}}],["initial",{"2":{"59":1,"61":1,"81":1,"103":2,"112":2,"121":2,"126":1,"133":2}}],["information",{"2":{"39":1,"120":1}}],["instructions",{"2":{"104":1,"114":1}}],["instead",{"2":{"91":1,"100":1,"128":1}}],["installed",{"2":{"123":2}}],["installation",{"0":{"82":1,"122":1,"137":1},"1":{"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1},"2":{"1":1,"82":2}}],["instantiated",{"2":{"92":1}}],["instantiate",{"2":{"91":1}}],["instances",{"2":{"123":1,"128":2}}],["instance",{"2":{"82":1,"91":1,"126":1,"137":1}}],["insights",{"0":{"37":1},"1":{"38":1},"2":{"37":1,"38":1}}],["includes",{"2":{"128":1}}],["include",{"2":{"23":1,"25":1,"26":1}}],["including",{"2":{"8":1,"13":1,"14":1,"29":1,"80":1,"94":1}}],["in",{"0":{"92":1,"111":1,"117":1,"120":1},"2":{"3":1,"23":1,"25":1,"26":2,"28":1,"29":1,"43":1,"69":1,"74":1,"80":1,"81":1,"87":1,"91":1,"99":3,"100":1,"101":2,"102":3,"105":1,"106":2,"107":4,"109":4,"110":4,"111":3,"112":1,"114":1,"115":1,"116":1,"117":3,"118":6,"119":4,"120":4,"121":1,"125":1,"126":1,"127":1,"133":1,"134":1,"135":3}}],["amount",{"2":{"112":1,"121":1}}],["amp",{"0":{"133":1},"2":{"81":3,"107":2,"109":2,"119":1}}],["again",{"2":{"101":1,"103":1}}],["against",{"2":{"20":1,"70":1}}],["away",{"2":{"119":1}}],["await",{"2":{"92":1}}],["aws",{"2":{"81":1,"88":1,"90":3}}],["add",{"2":{"107":1,"109":2,"110":1,"118":2,"119":1}}],["addressing",{"2":{"132":1}}],["address",{"2":{"17":1,"99":2,"111":1}}],["admin",{"2":{"106":1,"107":2,"109":2,"110":3,"111":2,"112":1,"116":1,"117":1,"118":1,"120":1,"126":2,"131":2,"133":6,"135":2}}],["administrator",{"2":{"104":1,"105":1,"109":3,"111":1,"115":4,"119":1}}],["administrators",{"2":{"86":1,"104":1,"114":1}}],["advanced",{"2":{"102":1}}],["above",{"2":{"118":1}}],["about",{"2":{"39":1}}],["able",{"2":{"109":1}}],["abc",{"2":{"94":1}}],["absolute",{"2":{"89":1}}],["abstract",{"2":{"86":1}}],["affecting",{"2":{"100":1}}],["affordable",{"2":{"80":1}}],["after",{"2":{"83":1,"103":1,"112":1,"121":1,"136":1}}],["audit",{"2":{"81":1}}],["auditing",{"2":{"81":1}}],["automatically",{"2":{"81":1,"92":1,"112":1}}],["authority",{"2":{"111":1}}],["authorize",{"2":{"110":3}}],["authorizing",{"2":{"106":1}}],["authorization",{"2":{"23":1,"25":2,"26":2}}],["authenticity",{"2":{"22":1}}],["authenticate",{"2":{"24":1,"26":1,"40":1,"119":1}}],["authenticates",{"2":{"16":1}}],["authenticated",{"0":{"25":1},"2":{"4":1,"8":1,"29":1,"31":1,"33":1,"35":1,"37":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"70":1,"75":1}}],["authentication",{"0":{"23":1,"40":1,"133":1},"1":{"24":1,"25":1,"26":1},"2":{"3":1,"14":1,"18":1,"21":2,"28":1,"40":1,"41":1,"43":1,"69":1,"74":1,"126":1}}],["authtokenpayload",{"0":{"22":1},"2":{"22":1}}],["auth",{"0":{"14":1,"16":1},"1":{"15":1,"16":1,"17":2,"18":2,"19":1,"20":1,"21":1,"22":1},"2":{"14":1,"24":2,"41":1,"54":2,"110":2}}],["attempt",{"2":{"103":1}}],["attacks",{"2":{"16":1}}],["attachment",{"2":{"10":1}}],["attachments",{"2":{"8":1,"10":1,"13":1,"81":1}}],["at",{"2":{"81":1,"94":2,"95":1,"101":1,"109":2,"110":1,"117":1,"118":1,"123":1}}],["available",{"2":{"39":1,"109":1,"129":1}}],["acts",{"2":{"117":1}}],["actions",{"2":{"107":1}}],["activities",{"2":{"81":1}}],["active",{"2":{"34":1,"54":1,"62":1,"103":1,"112":2,"121":1}}],["accounts",{"0":{"102":1},"2":{"107":1,"110":1,"117":1}}],["account",{"2":{"98":1,"99":2,"100":2,"101":1,"102":2,"104":1,"105":1,"106":1,"107":6,"109":2,"110":5,"111":1,"117":1}}],["accepted",{"2":{"61":1,"67":1}}],["accessed",{"2":{"81":1}}],["accesstoken",{"2":{"18":1,"21":1,"24":2,"25":1}}],["access",{"0":{"135":1},"2":{"4":1,"8":1,"16":1,"23":1,"26":1,"29":1,"31":1,"33":1,"35":1,"37":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"70":1,"75":1,"90":5,"100":2,"104":1,"105":1,"110":2,"132":4,"135":1}}],["across",{"2":{"86":1,"110":1}}],["asamplemasterkey",{"2":{"131":1}}],["asked",{"2":{"101":1}}],["asynchronous",{"2":{"93":1}}],["async",{"2":{"92":1}}],["associated",{"2":{"56":1,"105":1}}],["as",{"2":{"26":1,"37":1,"80":2,"89":1,"95":1,"98":1,"99":1,"107":2,"109":1,"110":1,"112":1,"117":2,"118":1,"119":2,"121":1}}],["already",{"2":{"94":1,"107":1}}],["also",{"2":{"89":1,"120":1}}],["along",{"2":{"33":1}}],["alternatively",{"2":{"26":1}}],["allow",{"2":{"100":1}}],["allows",{"2":{"86":1,"98":1,"104":1,"114":1,"118":1}}],["all",{"2":{"3":1,"25":1,"28":1,"33":1,"39":1,"43":1,"47":1,"56":1,"69":1,"71":1,"74":1,"81":2,"86":1,"93":1,"99":1,"103":1,"104":1,"111":1,"112":2,"114":1,"116":1,"118":1,"121":2,"134":1}}],["arguments",{"2":{"92":1}}],["around",{"2":{"86":1}}],["archiving",{"2":{"80":2,"83":1,"100":1,"104":2,"107":1,"112":1,"114":2,"117":1,"119":1,"121":1,"136":1}}],["archivepath",{"2":{"92":3}}],["archiveemail",{"2":{"92":1}}],["archive",{"2":{"89":1,"90":1,"92":1,"98":1,"103":1,"111":1,"112":1,"113":1,"120":1,"121":1,"131":2}}],["archiver",{"0":{"80":1},"2":{"39":1,"79":1,"80":2,"82":1,"89":1,"107":2,"109":1,"113":1,"116":1,"122":1,"124":1,"127":1,"128":1,"132":1,"135":1,"136":1,"137":1}}],["archivedemail",{"0":{"13":1},"2":{"13":1}}],["archived",{"0":{"2":1,"4":1,"8":1},"1":{"3":1,"4":1,"5":2,"6":2,"7":2,"8":1,"9":2,"10":2,"11":1,"12":1,"13":1},"2":{"2":2,"4":1,"7":1,"8":1,"9":1,"10":2,"12":1,"13":2,"29":1,"41":2,"92":1}}],["array",{"2":{"34":1,"35":1,"36":1,"48":1}}],["area",{"2":{"111":1}}],["are",{"2":{"16":1,"18":1,"24":1,"39":1,"42":1,"72":1,"81":1,"93":1,"109":2,"131":1,"135":1}}],["appears",{"2":{"119":1}}],["appear",{"2":{"110":1}}],["apppasswords",{"2":{"101":1}}],["app",{"0":{"100":1,"101":1,"102":1},"1":{"101":1,"102":1},"2":{"100":4,"101":2,"102":3,"114":1,"117":2,"120":1}}],["applications",{"2":{"117":1}}],["application",{"0":{"117":1,"130":1,"134":1,"135":1},"2":{"10":1,"24":1,"83":1,"86":2,"100":1,"106":1,"111":1,"115":2,"116":5,"117":3,"118":3,"119":1,"120":2,"122":1,"125":1,"128":1,"130":1}}],["apis",{"2":{"107":4}}],["api",{"0":{"2":1,"4":1,"8":1,"14":1,"16":1,"23":1,"26":1,"27":1,"29":1,"31":1,"33":1,"35":1,"37":1,"39":1,"41":1,"42":1,"44":1,"47":1,"49":1,"52":1,"56":1,"59":1,"62":1,"65":1,"68":1,"70":1,"73":1,"75":1,"93":1,"118":1},"1":{"3":1,"4":1,"5":2,"6":2,"7":2,"8":1,"9":2,"10":2,"11":1,"12":1,"13":1,"15":1,"16":1,"17":2,"18":2,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":2,"31":1,"32":2,"33":1,"34":2,"35":1,"36":2,"37":1,"38":2,"40":1,"41":1,"43":1,"44":1,"45":2,"46":2,"47":1,"48":2,"49":1,"50":2,"51":2,"52":1,"53":2,"54":2,"55":2,"56":1,"57":2,"58":2,"59":1,"60":2,"61":2,"62":1,"63":2,"64":2,"65":1,"66":2,"67":2,"69":1,"70":1,"71":2,"72":2,"74":1,"75":1,"76":2,"77":2,"94":1,"95":1,"96":1,"97":1},"2":{"1":2,"23":1,"24":3,"25":2,"26":6,"39":4,"40":2,"86":1,"90":1,"107":2,"110":1,"114":1,"118":2,"121":1,"133":2}}],["any",{"2":{"92":1,"98":1,"103":1,"107":1}}],["an",{"0":{"100":1,"101":1,"102":1},"1":{"101":1,"102":1},"2":{"7":1,"10":1,"13":1,"18":2,"24":1,"30":1,"32":1,"34":1,"35":1,"36":1,"38":1,"46":1,"48":2,"51":1,"52":1,"54":1,"55":1,"56":1,"58":1,"59":1,"61":1,"62":1,"64":1,"65":1,"67":1,"68":1,"72":1,"73":1,"77":1,"81":1,"84":3,"86":1,"88":1,"91":1,"92":1,"95":1,"96":1,"98":1,"99":2,"100":2,"109":1,"114":1,"117":3,"119":2,"133":1}}],["and",{"2":{"2":2,"8":1,"13":1,"14":1,"16":1,"18":1,"21":2,"22":1,"24":1,"26":1,"27":1,"29":1,"33":1,"35":1,"40":1,"41":1,"42":1,"56":1,"79":1,"80":3,"81":6,"84":2,"86":1,"87":2,"90":1,"91":1,"93":1,"97":1,"100":2,"101":2,"102":1,"103":4,"107":6,"109":2,"110":4,"111":1,"112":3,"113":1,"114":1,"116":1,"118":2,"119":2,"120":2,"123":2,"125":1,"127":1,"128":4,"134":2,"135":1,"136":1}}],["a",{"0":{"24":1,"26":1,"98":1,"117":1,"119":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1},"2":{"1":1,"4":2,"7":1,"8":1,"12":4,"13":2,"16":2,"20":3,"21":3,"22":2,"23":1,"25":1,"26":2,"33":1,"35":2,"44":1,"45":1,"49":1,"64":1,"65":1,"70":1,"72":1,"75":1,"80":3,"81":2,"83":1,"84":3,"86":4,"92":2,"93":1,"94":6,"95":4,"96":2,"97":2,"98":1,"99":4,"100":2,"101":2,"102":3,"103":1,"104":3,"107":8,"109":4,"110":1,"111":3,"112":3,"113":1,"114":2,"116":3,"117":1,"118":4,"119":5,"120":2,"121":3,"123":1,"125":2,"126":6,"127":1,"129":1,"133":4,"136":1}}],["tls",{"2":{"131":2}}],["two",{"2":{"102":2,"107":1,"109":1,"110":1,"118":1}}],["turned",{"2":{"101":1}}],["typically",{"2":{"99":1}}],["types",{"2":{"117":1}}],["typescriptimport",{"2":{"92":1}}],["typescriptinterface",{"2":{"45":1,"54":1}}],["type=s3",{"2":{"88":1,"90":1}}],["type=local",{"2":{"88":1,"89":1}}],["type",{"2":{"5":1,"6":1,"9":1,"17":1,"24":1,"50":1,"53":1,"57":1,"60":1,"63":1,"66":1,"71":1,"76":1,"88":1,"89":1,"90":1,"107":1,"127":1,"132":1}}],["t",{"2":{"92":1,"107":1}}],["tbd",{"2":{"81":2}}],["time",{"2":{"81":1,"103":1,"112":1,"119":1,"121":1,"133":1}}],["tab",{"2":{"110":1,"119":1}}],["table",{"0":{"0":1},"1":{"1":1},"2":{"103":1,"118":1}}],["taken",{"2":{"117":1}}],["take",{"2":{"103":1,"112":1,"121":1}}],["tamper",{"2":{"80":1}}],["treat",{"2":{"119":1}}],["troubleshooting",{"0":{"108":1},"1":{"109":1}}],["traditional",{"2":{"98":1}}],["trail",{"2":{"81":1}}],["trying",{"2":{"109":1}}],["try",{"2":{"92":1,"103":1}}],["triggered",{"2":{"61":1,"67":1}}],["triggers",{"2":{"59":1,"65":1}}],["true",{"2":{"7":1,"10":1,"20":1,"90":1,"97":1}}],["tenant",{"2":{"115":1,"117":1,"120":1}}],["technology",{"2":{"86":1}}],["text",{"2":{"20":2,"81":1,"111":1,"125":1}}],["test",{"2":{"7":1,"10":1,"72":1}}],["three",{"2":{"106":1,"107":1,"120":1}}],["through",{"2":{"98":1,"122":1}}],["throwing",{"2":{"96":1}}],["throws",{"2":{"95":1}}],["that",{"2":{"12":1,"13":1,"20":1,"21":1,"22":1,"86":1,"94":2,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"104":2,"114":2,"119":2,"120":1,"133":2}}],["this",{"2":{"3":1,"16":1,"26":1,"28":1,"35":1,"39":1,"43":1,"69":1,"74":1,"79":1,"86":1,"89":1,"92":3,"98":2,"99":3,"100":1,"101":1,"102":1,"103":1,"104":2,"107":4,"109":2,"110":1,"111":2,"112":1,"113":1,"114":2,"117":3,"118":1,"119":3,"120":2,"121":1,"122":2,"127":1,"128":1,"134":1}}],["then",{"2":{"112":2}}],["these",{"2":{"109":1,"128":1,"131":1}}],["they",{"2":{"100":1,"110":1}}],["them",{"2":{"99":1,"112":1}}],["their",{"2":{"2":1,"33":1,"104":1,"110":1,"112":1,"114":1,"118":1}}],["the",{"0":{"88":1,"91":1,"124":1,"134":1,"135":1},"1":{"92":1},"2":{"2":2,"5":2,"6":2,"9":2,"10":3,"12":5,"13":2,"14":1,"16":1,"17":2,"20":3,"21":6,"22":3,"23":1,"24":3,"25":5,"26":4,"27":2,"29":3,"30":1,"31":2,"32":1,"37":2,"39":2,"40":2,"41":1,"42":1,"45":1,"46":1,"50":2,"51":1,"53":2,"54":1,"55":1,"57":2,"58":1,"59":1,"60":2,"61":1,"63":2,"64":1,"66":2,"67":1,"68":1,"70":1,"71":4,"73":2,"75":1,"76":3,"77":1,"79":1,"81":4,"83":1,"84":4,"86":6,"87":4,"88":3,"89":5,"90":8,"91":4,"92":5,"93":2,"94":5,"95":6,"96":6,"97":4,"98":1,"99":14,"100":2,"101":6,"102":5,"103":16,"104":4,"105":1,"106":7,"107":12,"109":21,"110":16,"111":13,"112":13,"113":1,"114":4,"115":1,"116":9,"117":11,"118":17,"119":9,"120":14,"121":12,"122":2,"124":1,"125":4,"126":6,"127":2,"128":5,"130":5,"131":18,"132":7,"133":5,"134":8,"135":3,"136":1,"137":7}}],["topsenders",{"2":{"38":1}}],["top",{"2":{"37":1,"109":1,"117":1}}],["tokens",{"2":{"40":1,"126":1,"133":2}}],["token",{"0":{"22":1},"2":{"14":1,"18":1,"22":2,"23":1,"24":1,"25":2,"26":1}}],["totalpages",{"2":{"72":1}}],["totalstorageused",{"2":{"30":1}}],["totalemailsarchived",{"2":{"30":1}}],["total",{"2":{"7":1,"29":2,"72":1}}],["to",{"0":{"91":1,"98":1,"101":1,"102":1,"104":1,"114":1},"1":{"92":1,"99":1,"100":1,"101":1,"102":1,"103":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1},"2":{"1":3,"5":1,"12":1,"13":1,"16":1,"20":3,"21":1,"22":2,"23":2,"24":1,"25":1,"26":3,"39":1,"40":2,"42":1,"71":1,"76":1,"79":1,"80":1,"81":5,"82":1,"83":7,"84":3,"86":4,"87":1,"89":1,"90":3,"91":1,"92":3,"94":1,"95":1,"96":1,"97":1,"98":1,"99":6,"100":5,"101":2,"102":4,"103":4,"104":2,"105":1,"107":6,"109":11,"110":5,"111":4,"112":4,"113":4,"114":3,"116":1,"117":3,"118":2,"119":4,"120":4,"121":6,"124":1,"125":2,"126":1,"127":2,"128":5,"131":1,"132":1,"135":1,"136":5,"137":2}}],["global",{"2":{"115":1}}],["go",{"2":{"99":1,"101":1,"102":1,"107":1,"109":1,"110":2,"111":1,"117":1,"120":2}}],["googleapis",{"2":{"110":2}}],["google",{"0":{"104":1,"107":1},"1":{"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"1":1,"34":2,"45":1,"54":1,"80":1,"81":1,"83":1,"88":1,"101":2,"104":2,"105":2,"106":2,"107":2,"109":2,"110":5,"111":3,"112":1,"113":1,"136":1}}],["guarantees",{"2":{"86":1}}],["guide",{"0":{"99":1,"122":1},"1":{"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1},"2":{"40":1,"79":1,"82":2,"98":1,"104":1,"114":1,"122":1}}],["guides",{"0":{"1":1},"2":{"83":1,"113":1}}],["git",{"2":{"123":1,"124":1,"137":1}}],["github",{"2":{"84":1,"124":1}}],["give",{"2":{"99":1,"101":1,"107":1,"111":1,"117":1,"120":1}}],["given",{"2":{"12":1}}],["green",{"2":{"118":1}}],["graph",{"2":{"114":1,"118":1,"121":2}}],["granting",{"2":{"116":1}}],["grant",{"0":{"110":1,"118":1},"2":{"107":1,"118":3}}],["grants",{"2":{"100":1,"104":1,"114":1}}],["granular",{"2":{"81":1}}],["grouped",{"2":{"31":1}}],["gmail",{"0":{"101":1},"2":{"80":1,"99":1,"100":1,"107":1,"110":1}}],["g",{"2":{"71":1,"86":1,"88":1,"94":1,"107":2,"111":2,"120":1}}],["gt",{"0":{"12":1,"13":1,"20":1,"21":1,"22":1},"2":{"94":1,"95":1,"96":1,"97":1,"107":3,"109":2,"110":2,"117":2}}],["generated",{"2":{"102":1,"106":1,"111":1,"116":1}}],["generate",{"2":{"100":1,"101":1,"107":1,"109":1,"126":1}}],["generates",{"2":{"21":1}}],["generic",{"0":{"98":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1},"2":{"1":1,"45":1,"54":1,"80":1,"83":1,"99":1,"113":1,"136":1}}],["getarchivedemailbyid",{"0":{"13":1}}],["getarchivedemails",{"0":{"12":1}}],["get",{"0":{"4":1,"8":1,"29":1,"31":1,"33":1,"35":1,"37":1,"47":1,"49":1,"70":1,"75":1,"79":1,"95":1},"1":{"5":1,"6":1,"7":1,"9":1,"10":1,"30":1,"32":1,"34":1,"36":1,"38":1,"48":1,"50":1,"51":1,"71":1,"72":1,"76":1,"77":1,"80":1,"81":1,"82":1,"83":1,"84":1},"2":{"1":1,"5":1,"79":1,"82":1,"110":1,"112":1,"113":1,"121":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/VPLocalSearchBox.Y-ILlF1P.js b/assets/chunks/VPLocalSearchBox.rcTa730P.js similarity index 99% rename from assets/chunks/VPLocalSearchBox.Y-ILlF1P.js rename to assets/chunks/VPLocalSearchBox.rcTa730P.js index ccac7b4..a6be69c 100644 --- a/assets/chunks/VPLocalSearchBox.Y-ILlF1P.js +++ b/assets/chunks/VPLocalSearchBox.rcTa730P.js @@ -1,4 +1,4 @@ -var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,D as le,h as ge,ah as et,ai as Rt,aj as Ct,ak as At,q as $e,al as Mt,d as Lt,am as tt,p as he,an as Dt,ao as Pt,s as zt,ap as Vt,v as Ae,P as fe,O as _e,aq as $t,ar as jt,W as Bt,R as Wt,$ as Kt,b as Jt,o as H,j as _,a0 as qt,as as Ut,k as L,at as Gt,au as Ht,c as Z,e as Se,n as st,B as nt,F as it,a as pe,t as ve,av as Qt,aw as rt,ax as Yt,a5 as Zt,aa as Xt,ay as es,_ as ts}from"./framework.S-Qvb3wi.js";import{u as ss,c as ns}from"./theme.DqLBVYrY.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.D-yRo1rV.js"),[])};/*! +var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,D as le,h as ge,ah as et,ai as Rt,aj as Ct,ak as At,q as $e,al as Mt,d as Lt,am as tt,p as he,an as Dt,ao as Pt,s as zt,ap as Vt,v as Ae,P as fe,O as _e,aq as $t,ar as jt,W as Bt,R as Wt,$ as Kt,b as Jt,o as H,j as _,a0 as qt,as as Ut,k as L,at as Gt,au as Ht,c as Z,e as Se,n as st,B as nt,F as it,a as pe,t as ve,av as Qt,aw as rt,ax as Yt,a5 as Zt,aa as Xt,ay as es,_ as ts}from"./framework.S-Qvb3wi.js";import{u as ss,c as ns}from"./theme.oA6RcKas.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.38RbxeUs.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],ke=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},rs=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Fe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(ke));return t&&re.call(e,ke)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=re.call(i,ke);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var m=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),f=!Fe(m,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(m&&f){var b=a(m===!0?i.children:m.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rs(e))&&!yt(e)?0:e.tabIndex},as=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},os=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},ls=function(e){return wt(e)&&e.type==="hidden"},cs=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},us=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Ne(e);if(l&&!l.shadowRoot&&n(l)===!0)return at(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(ps(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return at(e);return!1},ms=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},bs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=as(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(os).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:je.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:gs}):s=gt(e,t.includeContainer,je.bind(null,t)),bs(s)},ws=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Oe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Oe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ke)===!1?!1:je(t,e)},xs=vt.concat("iframe").join(","),Me=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,xs)===!1?!1:Oe(t,e)};/*! diff --git a/assets/chunks/theme.DqLBVYrY.js b/assets/chunks/theme.oA6RcKas.js similarity index 99% rename from assets/chunks/theme.DqLBVYrY.js rename to assets/chunks/theme.oA6RcKas.js index e39b2a5..97c4360 100644 --- a/assets/chunks/theme.DqLBVYrY.js +++ b/assets/chunks/theme.oA6RcKas.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Y-ILlF1P.js","assets/chunks/framework.S-Qvb3wi.js"])))=>i.map(i=>d[i]); -import{d as m,c as u,r as c,n as M,o as a,a as z,t as I,b as k,w as f,T as ue,e as h,_ as g,u as He,i as Be,f as Ee,g as de,h as y,j as d,k as r,l as W,m as ae,p as T,q as D,s as Y,v as j,x as ve,y as pe,z as Fe,A as De,F as w,B as H,C as K,D as $e,E as Q,G as _,H as E,I as ye,J as Z,K as U,L as x,M as Oe,N as Pe,O as re,P as Le,Q as Ve,R as ee,S as Ge,U as Ue,V as je,W as Se,X as Te,Y as ze,Z as We,$ as Ke,a0 as qe,a1 as Re}from"./framework.S-Qvb3wi.js";const Je=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:M(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(I(e.text),1)])],2))}}),Xe={key:0,class:"VPBackdrop"},Ye=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ue,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",Xe)):h("",!0)]),_:1}))}}),Qe=g(Ye,[["__scopeId","data-v-7e214886"]]),L=He;function Ze(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ie(s){return s.startsWith("/")?s:`/${s}`}function fe(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(Be(s)||s.startsWith("#")||!n.startsWith("http")||!Ee(e))return s;const{site:i}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return de(l)}function R({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=L(),l=y(()=>{var p,$;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:(($=e.value.locales[t.value])==null?void 0:$.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,$])=>l.value.label===$.label?[]:{text:$.label,link:xe($.link||(p==="root"?"/":`/${p}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function xe(s,e,t,o){return e?s.replace(/\/$/,"")+ie(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const et={class:"NotFound"},tt={class:"code"},nt={class:"title"},ot={class:"quote"},st={class:"action"},at=["href","aria-label"],rt=m({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=R();return(o,n)=>{var i,l,v,p,$;return a(),u("div",et,[d("p",tt,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),d("h1",nt,I(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=d("div",{class:"divider"},null,-1)),d("blockquote",ot,I(((v=r(e).notFound)==null?void 0:v.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",st,[d("a",{class:"link",href:r(de)(r(t).link),"aria-label":((p=r(e).notFound)==null?void 0:p.linkLabel)??"go to home"},I((($=r(e).notFound)==null?void 0:$.linkText)??"Take me home"),9,at)])])}}}),it=g(rt,[["__scopeId","data-v-5a673029"]]);function Ne(s,e){if(Array.isArray(s))return J(s);if(s==null)return[];e=ie(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ie(n))),o=t?s[t]:[];return Array.isArray(o)?J(o):J(o.items,o.base)}function lt(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function ct(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):W(s,e.link)?!0:e.items?le(s,e.items):!1}function J(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=J(o.items,n)),o})}function O(){const{frontmatter:s,page:e,theme:t}=L(),o=ae("(min-width: 960px)"),n=T(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Ne(C,S):[]}),l=T(i.value);D(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(l.value=i.value)});const v=y(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),p=y(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=y(()=>v.value&&o.value),b=y(()=>v.value?lt(l.value):[]);function P(){n.value=!0}function N(){n.value=!1}function A(){n.value?N():P()}return{isOpen:n,sidebar:l,sidebarGroups:b,hasSidebar:v,hasAside:$,leftAside:p,isSidebarEnabled:V,open:P,close:N,toggle:A}}function ut(s,e){let t;Y(()=>{t=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),ve(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function dt(s){const{page:e,hash:t}=L(),o=T(!1),n=y(()=>s.value.collapsed!=null),i=y(()=>!!s.value.link),l=T(!1),v=()=>{l.value=W(e.value.relativePath,s.value.link)};D([e,s,t],v),j(v);const p=y(()=>l.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),$=y(()=>!!(s.value.items&&s.value.items.length));Y(()=>{o.value=!!(n.value&&s.value.collapsed)}),pe(()=>{(l.value||p.value)&&(o.value=!1)});function V(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:p,hasChildren:$,toggle:V}}function vt(){const{hasSidebar:s}=O(),e=ae("(min-width: 960px)"),t=ae("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const pt=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Me(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function he(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:ft(t),link:"#"+t.id,level:o}});return ht(e,s)}function ft(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(pt.test(t.className))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function ht(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return kt(s,o,n)}function mt(s,e){const{isAsideEnabled:t}=vt(),o=Ze(i,100);let n=null;j(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const v=window.scrollY,p=window.innerHeight,$=document.body.offsetHeight,V=Math.abs(v+p-$)<1,b=ce.map(({element:N,link:A})=>({link:A,top:_t(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,A)=>N.top-A.top);if(!b.length){l(null);return}if(v<1){l(null);return}if(V){l(b[b.length-1].link);return}let P=null;for(const{link:N,top:A}of b){if(A>v+De()+4)break;P=N}l(P)}function l(v){n&&n.classList.remove("active"),v==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function _t(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function kt(s,e,t){ce.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let v=n[n.length-1];for(;v&&v.level>=l.level;)n.pop(),v=n[n.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=K("VPDocOutlineItem",!0);return a(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(w,null,H(t.headers,({children:i,link:l,title:v})=>(a(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:e,title:v},I(v),9,bt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ie=g(gt,[["__scopeId","data-v-0bb3c463"]]),$t={class:"content"},yt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Pt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=$e([]);Q(()=>{o.value=he(e.value.outline??t.value.outline)});const n=T(),i=T();return mt(n,i),(l,v)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[d("div",$t,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",yt,I(r(Me)(r(t))),1),_(Ie,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Lt=g(Pt,[["__scopeId","data-v-fa352379"]]),Vt={class:"VPDocAsideCarbonAds"},St=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",Vt,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Tt={class:"VPDocAside"},Nt=m({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),u("div",Tt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),_(Lt),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(St,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Mt=g(Nt,[["__scopeId","data-v-271fded2"]]);function It(){const{theme:s,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function wt(){const{page:s,theme:e,frontmatter:t}=L();return y(()=>{var $,V,b,P,N,A,C,S;const o=Ne(e.value.sidebar,s.value.relativePath),n=ct(o),i=At(n,B=>B.link.replace(/[?#].*$/,"")),l=i.findIndex(B=>W(s.value.relativePath,B.link)),v=(($=e.value.docFooter)==null?void 0:$.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:v?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=i[l-1])==null?void 0:N.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[l+1])==null?void 0:A.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[l+1])==null?void 0:S.link)}}})}function At(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const F=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&ye.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(E(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ct={class:"VPLastUpdated"},Ht=["datetime"],Bt=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=y(()=>new Date(t.value.lastUpdated)),i=y(()=>n.value.toISOString()),l=T("");return j(()=>{Y(()=>{var v,p,$;l.value=new Intl.DateTimeFormat((p=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&p.forceLocale?o.value:void 0,(($=e.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(v,p)=>{var $;return a(),u("p",Ct,[z(I((($=r(e).lastUpdated)==null?void 0:$.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},I(l.value),9,Ht)])}}}),Et=g(Bt,[["__scopeId","data-v-3abf3e52"]]),Ft={key:0,class:"VPDocFooter"},Dt={key:0,class:"edit-info"},Ot={key:0,class:"edit-link"},Gt={key:1,class:"last-updated"},Ut={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},jt={class:"pager"},zt=["innerHTML"],Wt=["innerHTML"],Kt={class:"pager"},qt=["innerHTML"],Rt=["innerHTML"],Jt=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=It(),i=wt(),l=y(()=>e.value.editLink&&o.value.editLink!==!1),v=y(()=>t.value.lastUpdated),p=y(()=>l.value||v.value||i.value.prev||i.value.next);return($,V)=>{var b,P,N,A;return p.value?(a(),u("footer",Ft,[c($.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(a(),u("div",Dt,[l.value?(a(),u("div",Ot,[_(F,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:f(()=>[V[0]||(V[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+I(r(n).text),1)]),_:1,__:[0]},8,["href"])])):h("",!0),v.value?(a(),u("div",Gt,[_(Et)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",Ut,[V[1]||(V[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",jt,[(N=r(i).prev)!=null&&N.link?(a(),k(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,zt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Wt)]}),_:1},8,["href"])):h("",!0)]),d("div",Kt,[(A=r(i).next)!=null&&A.link?(a(),k(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Rt)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Xt=g(Jt,[["__scopeId","data-v-28097769"]]),Yt={class:"container"},Qt={class:"aside-container"},Zt={class:"aside-content"},xt={class:"content"},en={class:"content-container"},tn={class:"main"},nn=m({__name:"VPDoc",setup(s){const{theme:e}=L(),t=Z(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,p)=>{const $=K("Content");return a(),u("div",{class:M(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(v.$slots,"doc-top",{},void 0,!0),d("div",Yt,[r(n)?(a(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[p[0]||(p[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",Qt,[d("div",Zt,[_(Mt,null,{"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",xt,[d("div",en,[c(v.$slots,"doc-before",{},void 0,!0),d("main",tn,[_($,{class:M(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Xt,null,{"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),on=g(nn,[["__scopeId","data-v-ef58e7af"]]),sn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.href&&ye.test(e.href)),o=y(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(E(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[z(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=g(sn,[["__scopeId","data-v-f0748002"]]),rn=["src","alt"],ln=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=K("VPImage",!0);return e.image?(a(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,rn)):(a(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),X=g(ln,[["__scopeId","data-v-085b6aad"]]),cn={class:"container"},un={class:"main"},dn={class:"heading"},vn=["innerHTML"],pn=["innerHTML"],fn=["innerHTML"],hn={key:0,class:"actions"},mn={key:0,class:"image"},_n={class:"image-container"},kn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=x("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[d("div",cn,[d("div",un,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[d("h1",dn,[t.name?(a(),u("span",{key:0,innerHTML:t.name,class:"name clip"},null,8,vn)):h("",!0),t.text?(a(),u("span",{key:1,innerHTML:t.text,class:"text"},null,8,pn)):h("",!0)]),t.tagline?(a(),u("p",{key:0,innerHTML:t.tagline,class:"tagline"},null,8,fn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",hn,[(a(!0),u(w,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[_(an,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",mn,[d("div",_n,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),bn=g(kn,[["__scopeId","data-v-b6380c6a"]]),gn=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).hero?(a(),k(bn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),$n={class:"box"},yn={key:0,class:"icon"},Pn=["innerHTML"],Ln=["innerHTML"],Vn=["innerHTML"],Sn={key:4,class:"link-text"},Tn={class:"link-text-value"},Nn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[d("article",$n,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",yn,[_(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Pn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Ln),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Vn)):h("",!0),e.linkText?(a(),u("div",Sn,[d("p",Tn,[z(I(e.linkText)+" ",1),t[0]||(t[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Mn=g(Nn,[["__scopeId","data-v-7c7a8824"]]),In={key:0,class:"VPFeatures"},wn={class:"container"},An={class:"items"},Cn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",In,[d("div",wn,[d("div",An,[(a(!0),u(w,null,H(o.features,i=>(a(),u("div",{key:i.title,class:M(["item",[t.value]])},[_(Mn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Hn=g(Cn,[["__scopeId","data-v-04629de0"]]),Bn=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).features?(a(),k(Hn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),En=m({__name:"VPHomeContent",setup(s){const{width:e}=Oe({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:Pe(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Fn=g(En,[["__scopeId","data-v-0300b5ce"]]),Dn=m({__name:"VPHome",setup(s){const{frontmatter:e,theme:t}=L();return(o,n)=>{const i=K("Content");return a(),u("div",{class:M(["VPHome",{"external-link-icon-enabled":r(t).externalLinkIcon}])},[c(o.$slots,"home-hero-before",{},void 0,!0),_(gn,null,{"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(o.$slots,"home-hero-after",{},void 0,!0),c(o.$slots,"home-features-before",{},void 0,!0),_(Bn),c(o.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Fn,{key:0},{default:f(()=>[_(i)]),_:1})):(a(),k(i,{key:1}))],2)}}}),On=g(Dn,[["__scopeId","data-v-2c057618"]]),Gn={},Un={class:"VPPage"};function jn(s,e){const t=K("Content");return a(),u("div",Un,[c(s.$slots,"page-top"),_(t),c(s.$slots,"page-bottom")])}const zn=g(Gn,[["render",jn]]),Wn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:M(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[_(it)],!0):r(t).layout==="page"?(a(),k(zn,{key:1},{"page-top":f(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(On,{key:2},{"home-hero-before":f(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(E(r(t).layout),{key:3})):(a(),k(on,{key:4},{"doc-top":f(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Kn=g(Wn,[["__scopeId","data-v-da66bf6a"]]),qn={class:"container"},Rn=["innerHTML"],Jn=["innerHTML"],Xn=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(o)}])},[d("div",qn,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Rn)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Jn)):h("",!0)])],2)):h("",!0)}}),Yn=g(Xn,[["__scopeId","data-v-15fdbac5"]]);function Qn(){const{theme:s,frontmatter:e}=L(),t=$e([]),o=y(()=>t.value.length>0);return Q(()=>{t.value=he(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const Zn={class:"menu-text"},xn={class:"header"},eo={class:"outline"},to=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),i=T(),l=T();function v(b){var P;(P=i.value)!=null&&P.contains(b.target)||(o.value=!1)}D(o,b=>{if(b){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),re("Escape",()=>{o.value=!1}),Q(()=>{o.value=!1});function p(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function $(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Le(()=>{o.value=!1}))}function V(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Pe({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:p,class:M({open:o.value})},[d("span",Zn,I(r(Me)(r(t))),1),P[0]||(P[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:f(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:$},[d("div",xn,[d("a",{class:"top-link",href:"#",onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)]),d("div",eo,[_(Ie,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),no=g(to,[["__scopeId","data-v-3b0d77ac"]]),oo={class:"container"},so=["aria-expanded"],ao={class:"menu-text"},ro=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O(),{headers:n}=Qn(),{y:i}=Ve(),l=T(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{n.value=he(t.value.outline??e.value.outline)});const v=y(()=>n.value.length===0),p=y(()=>v.value&&!o.value),$=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:p.value}));return(V,b)=>r(t).layout!=="home"&&(!p.value||r(i)>=l.value)?(a(),u("div",{key:0,class:M($.value)},[d("div",oo,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",ao,I(r(e).sidebarMenuLabel||"Menu"),1)],8,so)):h("",!0),_(no,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),io=g(ro,[["__scopeId","data-v-25ab87d9"]]);function lo(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=Z();return D(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const co={},uo={class:"VPSwitch",type:"button",role:"switch"},vo={class:"check"},po={key:0,class:"icon"};function fo(s,e){return a(),u("button",uo,[d("span",vo,[s.$slots.default?(a(),u("span",po,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ho=g(co,[["render",fo],["__scopeId","data-v-a6d5da05"]]),mo=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=x("toggle-appearance",()=>{e.value=!e.value}),n=T("");return pe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(ho,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:f(()=>l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])),_:1,__:[0]},8,["title","aria-checked","onClick"]))}}),me=g(mo,[["__scopeId","data-v-299b7b5e"]]),_o={key:0,class:"VPNavBarAppearance"},ko=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",_o,[_(me)])):h("",!0)}}),bo=g(ko,[["__scopeId","data-v-5cc3ce0d"]]),_e=T();let we=!1,se=0;function go(s){const e=T(!1);if(ee){!we&&$o(),se++;const t=D(_e,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});ve(()=>{t(),se--,se||yo()})}return Ge(e)}function $o(){document.addEventListener("focusin",Ae),we=!0,_e.value=document.activeElement}function yo(){document.removeEventListener("focusin",Ae)}function Ae(){_e.value=document.activeElement}const Po={class:"VPMenuLink"},Lo=["innerHTML"],Vo=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),u("div",Po,[_(F,{class:M({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,Lo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=g(Vo,[["__scopeId","data-v-04cb418f"]]),So={class:"VPMenuGroup"},To={key:0,class:"title"},No=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",So,[e.text?(a(),u("p",To,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),u(w,null,["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Mo=g(No,[["__scopeId","data-v-7ddc3687"]]),Io={class:"VPMenu"},wo={key:0,class:"items"},Ao=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Io,[e.items?(a(),u("div",wo,[(a(!0),u(w,null,H(e.items,o=>(a(),u(w,{key:JSON.stringify(o)},["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(E(o.component),U({key:1,ref_for:!0},o.props),null,16)):(a(),k(Mo,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Co=g(Ao,[["__scopeId","data-v-21da92f6"]]),Ho=["aria-expanded","aria-label"],Bo={key:0,class:"text"},Eo=["innerHTML"],Fo={key:1,class:"vpi-more-horizontal icon"},Do={class:"menu"},Oo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();go({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Bo,[n.icon?(a(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Eo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Fo))],8,Ho),d("div",Do,[_(Co,{items:n.items},{default:f(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=g(Oo,[["__scopeId","data-v-f22c51c1"]]),Go=["href","aria-label","innerHTML"],Uo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();j(async()=>{var i;await Le();const n=(i=t.value)==null?void 0:i.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,i)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,Go))}}),jo=g(Uo,[["__scopeId","data-v-a02566e7"]]),zo={class:"VPSocialLinks"},Wo=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",zo,[(a(!0),u(w,null,H(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(jo,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=g(Wo,[["__scopeId","data-v-04c9c6b2"]]),Ko={key:0,class:"group translations"},qo={class:"trans-title"},Ro={key:1,class:"group"},Jo={class:"item appearance"},Xo={class:"label"},Yo={class:"appearance-action"},Qo={key:2,class:"group"},Zo={class:"item social-links"},xo=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=R({correspondingLink:!0}),i=y(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,v)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(n).label?(a(),u("div",Ko,[d("p",qo,I(r(n).label),1),(a(!0),u(w,null,H(r(o),p=>(a(),k(te,{key:p.link,item:p},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Ro,[d("div",Jo,[d("p",Xo,I(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Yo,[_(me)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Qo,[d("div",Zo,[_(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),es=g(xo,[["__scopeId","data-v-cf3d1140"]]),ts=["aria-expanded"],ns=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)]),10,ts))}}),os=g(ns,[["__scopeId","data-v-bc4091a7"]]),ss=["innerHTML"],as=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),k(F,{class:M({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,ss)]),_:1},8,["class","href","target","rel","no-icon"]))}}),rs=g(as,[["__scopeId","data-v-a32d3490"]]),is=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=y(()=>o(e.item));return(i,l)=>(a(),k(ke,{class:M({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ls={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},cs=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",ls,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(rs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props),null,16)):(a(),k(is,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),us=g(cs,[["__scopeId","data-v-e1b4cdce"]]);function ds(s){const{localeIndex:e,theme:t}=L();function o(n){var A,C,S;const i=n.split("."),l=(A=t.value.search)==null?void 0:A.options,v=l&&typeof l=="object",p=v&&((S=(C=l.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,$=v&&l.translations||null;let V=p,b=$,P=s;const N=i.pop();for(const B of i){let G=null;const q=P==null?void 0:P[B];q&&(G=P=q);const ne=b==null?void 0:b[B];ne&&(G=b=ne);const oe=V==null?void 0:V[B];oe&&(G=V=oe),q||(P=G),ne||(b=G),oe||(V=G)}return(V==null?void 0:V[N])??(b==null?void 0:b[N])??(P==null?void 0:P[N])??""}return o}const vs=["aria-label"],ps={class:"DocSearch-Button-Container"},fs={class:"DocSearch-Button-Placeholder"},ge=m({__name:"VPNavBarSearchButton",setup(s){const t=ds({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",ps,[n[0]||(n[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",fs,I(r(t)("button.buttonText")),1)]),n[1]||(n[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,vs))}}),hs={class:"VPNavBarSearch"},ms={id:"local-search"},_s={key:1,id:"docsearch"},ks=m({__name:"VPNavBarSearch",setup(s){const e=Ue(()=>je(()=>import("./VPLocalSearchBox.Y-ILlF1P.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),i=T(!1);j(()=>{});function l(){n.value||(n.value=!0,setTimeout(v,16))}function v(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function p(b){const P=b.target,N=P.tagName;return P.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const $=T(!1);re("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),$.value=!0)}),re("/",b=>{p(b)||(b.preventDefault(),$.value=!0)});const V="local";return(b,P)=>{var N;return a(),u("div",hs,[r(V)==="local"?(a(),u(w,{key:0},[$.value?(a(),k(r(e),{key:0,onClose:P[0]||(P[0]=A=>$.value=!1)})):h("",!0),d("div",ms,[_(ge,{onClick:P[1]||(P[1]=A=>$.value=!0)})])],64)):r(V)==="algolia"?(a(),u(w,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((N=r(o).search)==null?void 0:N.options)??r(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",_s,[_(ge,{onClick:l})]))],64)):h("",!0)])}}}),bs=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),gs=g(bs,[["__scopeId","data-v-10f4fbb2"]]),$s=["href","rel","target"],ys=["innerHTML"],Ps={key:2},Ls=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=O(),{currentLang:n}=R(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),l=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),v=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,$)=>(a(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(fe)(r(n).link),rel:l.value,target:v.value},[c(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",{key:1,innerHTML:r(t).siteTitle},null,8,ys)):r(t).siteTitle===void 0?(a(),u("span",Ps,I(r(e).title),1)):h("",!0),c(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,$s)],2))}}),Vs=g(Ls,[["__scopeId","data-v-dcc486d8"]]),Ss={class:"items"},Ts={class:"title"},Ns=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=R({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[d("div",Ss,[d("p",Ts,I(r(o).label),1),(a(!0),u(w,null,H(r(t),l=>(a(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ms=g(Ns,[["__scopeId","data-v-8b1f1298"]]),Is={class:"wrapper"},ws={class:"container"},As={class:"title"},Cs={class:"content"},Hs={class:"content-body"},Bs=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Ve(),{hasSidebar:o}=O(),{frontmatter:n}=L(),i=T({});return pe(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,v)=>(a(),u("div",{class:M(["VPNavBar",i.value])},[d("div",Is,[d("div",ws,[d("div",As,[_(Vs,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Cs,[d("div",Hs,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ks,{class:"search"}),_(us,{class:"menu"}),_(Ms,{class:"translations"}),_(bo,{class:"appearance"}),_(gs,{class:"social-links"}),_(es,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(os,{class:"hamburger",active:l.isScreenOpen,onClick:v[0]||(v[0]=p=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Es=g(Bs,[["__scopeId","data-v-632f34fa"]]),Fs={key:0,class:"VPNavScreenAppearance"},Ds={class:"text"},Os=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Fs,[d("p",Ds,I(r(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):h("",!0)}}),Gs=g(Os,[["__scopeId","data-v-542e543f"]]),Us=["innerHTML"],js=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,Us)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),zs=g(js,[["__scopeId","data-v-e84fcf39"]]),Ws=["innerHTML"],Ks=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,Ws)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ce=g(Ks,[["__scopeId","data-v-a32983f4"]]),qs={class:"VPNavScreenMenuGroupSection"},Rs={key:0,class:"title"},Js=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",qs,[e.text?(a(),u("p",Rs,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),k(Ce,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Xs=g(Js,[["__scopeId","data-v-79ef7fca"]]),Ys=["aria-controls","aria-expanded"],Qs=["innerHTML"],Zs=["id"],xs={key:0,class:"item"},ea={key:1,class:"item"},ta={key:2,class:"group"},na=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,Qs),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,Ys),d("div",{id:o.value,class:"items"},[(a(!0),u(w,null,H(i.items,v=>(a(),u(w,{key:JSON.stringify(v)},["link"in v?(a(),u("div",xs,[_(Ce,{item:v},null,8,["item"])])):"component"in v?(a(),u("div",ea,[(a(),k(E(v.component),U({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(a(),u("div",ta,[_(Xs,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,Zs)],2))}}),oa=g(na,[["__scopeId","data-v-b607952e"]]),sa={key:0,class:"VPNavScreenMenu"},aa=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",sa,[(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(zs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(oa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ra=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ia={class:"list"},la=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=R({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:n},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+I(r(t).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ia,[(a(!0),u(w,null,H(r(e),v=>(a(),u("li",{key:v.link,class:"item"},[_(F,{class:"link",href:v.link},{default:f(()=>[z(I(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ca=g(la,[["__scopeId","data-v-66b1ed4f"]]),ua={class:"container"},da=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Se(ee?document.body:null);return(o,n)=>(a(),k(ue,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:f(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",ua,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(aa,{class:"menu"}),_(ca,{class:"translations"}),_(Gs,{class:"appearance"}),_(ra,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),va=g(da,[["__scopeId","data-v-736d0f3a"]]),pa={key:0,class:"VPNav"},fa=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=lo(),{frontmatter:n}=L(),i=y(()=>n.value.navbar!==!1);return Te("close-screen",t),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(a(),u("header",pa,[_(Es,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(va,{open:r(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ha=g(fa,[["__scopeId","data-v-196296ba"]]),ma=["role","tabindex"],_a={key:1,class:"items"},ka=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:p}=dt(y(()=>e.item)),$=y(()=>v.value?"section":"div"),V=y(()=>n.value?"a":"div"),b=y(()=>v.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),N=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(S,B)=>{const G=K("VPSidebarItem",!0);return a(),k(E($.value),{class:M(["VPSidebarItem",N.value])},{default:f(()=>[S.item.text?(a(),u("div",U({key:0,class:"item",role:P.value},ze(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[B[1]||(B[1]=d("div",{class:"indicator"},null,-1)),S.item.link?(a(),k(F,{key:0,tag:V.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:f(()=>[(a(),k(E(b.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(E(b.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:We(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,ma)):h("",!0),S.item.items&&S.item.items.length?(a(),u("div",_a,[S.depth<5?(a(!0),u(w,{key:0},H(S.item.items,q=>(a(),k(G,{key:q.text,item:q,depth:S.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),ba=g(ka,[["__scopeId","data-v-b566cf41"]]),ga=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Ke(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(w,null,H(o.items,i=>(a(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[_(ba,{item:i,depth:0},null,8,["item"])],2))),128))}}),$a=g(ga,[["__scopeId","data-v-3272fbfa"]]),ya={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Pa=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=O(),o=s,n=T(null),i=Se(ee?document.body:null);D([o,n],()=>{var v;o.open?(i.value=!0,(v=n.value)==null||v.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(v,p)=>r(t)?(a(),u("aside",{key:0,class:M(["VPSidebar",{open:v.open}]),ref_key:"navEl",ref:n,onClick:p[0]||(p[0]=qe(()=>{},["stop"]))},[p[2]||(p[2]=d("div",{class:"curtain"},null,-1)),d("nav",ya,[p[1]||(p[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(v.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k($a,{items:r(e),key:l.value},null,8,["items"])),c(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),La=g(Pa,[["__scopeId","data-v-f58b6c37"]]),Va=m({__name:"VPSkipLink",setup(s){const{theme:e}=L(),t=Z(),o=T();D(()=>t.path,()=>o.value.focus());function n({target:i}){const l=document.getElementById(decodeURIComponent(i.hash).slice(1));if(l){const v=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",v)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",v),l.focus(),window.scrollTo(0,0)}}return(i,l)=>(a(),u(w,null,[d("span",{ref_key:"backToTop",ref:o,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n},I(r(e).skipToContentLabel||"Skip to content"),1)],64))}}),Sa=g(Va,[["__scopeId","data-v-f1a6591b"]]),Ta=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=O(),n=Z();D(()=>n.path,o),ut(e,o);const{frontmatter:i}=L(),l=Re(),v=y(()=>!!l["home-hero-image"]);return Te("hero-image-slot-exists",v),(p,$)=>{const V=K("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[c(p.$slots,"layout-top",{},void 0,!0),_(Sa),_(Qe,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),_(ha,null,{"nav-bar-title-before":f(()=>[c(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(io,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(La,{open:r(e)},{"sidebar-nav-before":f(()=>[c(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Kn,null,{"page-top":f(()=>[c(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Yn),c(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(V,{key:1}))}}}),Na=g(Ta,[["__scopeId","data-v-b4de4928"]]),Ia={Layout:Na,enhanceApp:({app:s})=>{s.component("Badge",Je)}};export{ds as c,Ia as t,L as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.rcTa730P.js","assets/chunks/framework.S-Qvb3wi.js"])))=>i.map(i=>d[i]); +import{d as m,c as u,r as c,n as M,o as a,a as z,t as I,b as k,w as f,T as ue,e as h,_ as g,u as He,i as Be,f as Ee,g as de,h as y,j as d,k as r,l as W,m as ae,p as T,q as D,s as Y,v as j,x as ve,y as pe,z as Fe,A as De,F as w,B as H,C as K,D as $e,E as Q,G as _,H as E,I as ye,J as Z,K as U,L as x,M as Oe,N as Pe,O as re,P as Le,Q as Ve,R as ee,S as Ge,U as Ue,V as je,W as Se,X as Te,Y as ze,Z as We,$ as Ke,a0 as qe,a1 as Re}from"./framework.S-Qvb3wi.js";const Je=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:M(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(I(e.text),1)])],2))}}),Xe={key:0,class:"VPBackdrop"},Ye=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ue,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",Xe)):h("",!0)]),_:1}))}}),Qe=g(Ye,[["__scopeId","data-v-7e214886"]]),L=He;function Ze(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ie(s){return s.startsWith("/")?s:`/${s}`}function fe(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(Be(s)||s.startsWith("#")||!n.startsWith("http")||!Ee(e))return s;const{site:i}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return de(l)}function R({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=L(),l=y(()=>{var p,$;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:(($=e.value.locales[t.value])==null?void 0:$.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,$])=>l.value.label===$.label?[]:{text:$.label,link:xe($.link||(p==="root"?"/":`/${p}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function xe(s,e,t,o){return e?s.replace(/\/$/,"")+ie(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const et={class:"NotFound"},tt={class:"code"},nt={class:"title"},ot={class:"quote"},st={class:"action"},at=["href","aria-label"],rt=m({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=R();return(o,n)=>{var i,l,v,p,$;return a(),u("div",et,[d("p",tt,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),d("h1",nt,I(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=d("div",{class:"divider"},null,-1)),d("blockquote",ot,I(((v=r(e).notFound)==null?void 0:v.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",st,[d("a",{class:"link",href:r(de)(r(t).link),"aria-label":((p=r(e).notFound)==null?void 0:p.linkLabel)??"go to home"},I((($=r(e).notFound)==null?void 0:$.linkText)??"Take me home"),9,at)])])}}}),it=g(rt,[["__scopeId","data-v-5a673029"]]);function Ne(s,e){if(Array.isArray(s))return J(s);if(s==null)return[];e=ie(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ie(n))),o=t?s[t]:[];return Array.isArray(o)?J(o):J(o.items,o.base)}function lt(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function ct(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):W(s,e.link)?!0:e.items?le(s,e.items):!1}function J(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=J(o.items,n)),o})}function O(){const{frontmatter:s,page:e,theme:t}=L(),o=ae("(min-width: 960px)"),n=T(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Ne(C,S):[]}),l=T(i.value);D(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(l.value=i.value)});const v=y(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),p=y(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=y(()=>v.value&&o.value),b=y(()=>v.value?lt(l.value):[]);function P(){n.value=!0}function N(){n.value=!1}function A(){n.value?N():P()}return{isOpen:n,sidebar:l,sidebarGroups:b,hasSidebar:v,hasAside:$,leftAside:p,isSidebarEnabled:V,open:P,close:N,toggle:A}}function ut(s,e){let t;Y(()=>{t=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),ve(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function dt(s){const{page:e,hash:t}=L(),o=T(!1),n=y(()=>s.value.collapsed!=null),i=y(()=>!!s.value.link),l=T(!1),v=()=>{l.value=W(e.value.relativePath,s.value.link)};D([e,s,t],v),j(v);const p=y(()=>l.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),$=y(()=>!!(s.value.items&&s.value.items.length));Y(()=>{o.value=!!(n.value&&s.value.collapsed)}),pe(()=>{(l.value||p.value)&&(o.value=!1)});function V(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:p,hasChildren:$,toggle:V}}function vt(){const{hasSidebar:s}=O(),e=ae("(min-width: 960px)"),t=ae("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const pt=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,ce=[];function Me(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function he(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:ft(t),link:"#"+t.id,level:o}});return ht(e,s)}function ft(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(pt.test(t.className))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function ht(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return kt(s,o,n)}function mt(s,e){const{isAsideEnabled:t}=vt(),o=Ze(i,100);let n=null;j(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const v=window.scrollY,p=window.innerHeight,$=document.body.offsetHeight,V=Math.abs(v+p-$)<1,b=ce.map(({element:N,link:A})=>({link:A,top:_t(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,A)=>N.top-A.top);if(!b.length){l(null);return}if(v<1){l(null);return}if(V){l(b[b.length-1].link);return}let P=null;for(const{link:N,top:A}of b){if(A>v+De()+4)break;P=N}l(P)}function l(v){n&&n.classList.remove("active"),v==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function _t(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function kt(s,e,t){ce.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let v=n[n.length-1];for(;v&&v.level>=l.level;)n.pop(),v=n[n.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=K("VPDocOutlineItem",!0);return a(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(w,null,H(t.headers,({children:i,link:l,title:v})=>(a(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:e,title:v},I(v),9,bt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ie=g(gt,[["__scopeId","data-v-0bb3c463"]]),$t={class:"content"},yt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Pt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=$e([]);Q(()=>{o.value=he(e.value.outline??t.value.outline)});const n=T(),i=T();return mt(n,i),(l,v)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[d("div",$t,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",yt,I(r(Me)(r(t))),1),_(Ie,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Lt=g(Pt,[["__scopeId","data-v-fa352379"]]),Vt={class:"VPDocAsideCarbonAds"},St=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",Vt,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Tt={class:"VPDocAside"},Nt=m({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),u("div",Tt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),_(Lt),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(St,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Mt=g(Nt,[["__scopeId","data-v-271fded2"]]);function It(){const{theme:s,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function wt(){const{page:s,theme:e,frontmatter:t}=L();return y(()=>{var $,V,b,P,N,A,C,S;const o=Ne(e.value.sidebar,s.value.relativePath),n=ct(o),i=At(n,B=>B.link.replace(/[?#].*$/,"")),l=i.findIndex(B=>W(s.value.relativePath,B.link)),v=(($=e.value.docFooter)==null?void 0:$.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:v?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=i[l-1])==null?void 0:N.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[l+1])==null?void 0:A.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[l+1])==null?void 0:S.link)}}})}function At(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const F=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&ye.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(E(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ct={class:"VPLastUpdated"},Ht=["datetime"],Bt=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=y(()=>new Date(t.value.lastUpdated)),i=y(()=>n.value.toISOString()),l=T("");return j(()=>{Y(()=>{var v,p,$;l.value=new Intl.DateTimeFormat((p=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&p.forceLocale?o.value:void 0,(($=e.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(v,p)=>{var $;return a(),u("p",Ct,[z(I((($=r(e).lastUpdated)==null?void 0:$.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},I(l.value),9,Ht)])}}}),Et=g(Bt,[["__scopeId","data-v-3abf3e52"]]),Ft={key:0,class:"VPDocFooter"},Dt={key:0,class:"edit-info"},Ot={key:0,class:"edit-link"},Gt={key:1,class:"last-updated"},Ut={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},jt={class:"pager"},zt=["innerHTML"],Wt=["innerHTML"],Kt={class:"pager"},qt=["innerHTML"],Rt=["innerHTML"],Jt=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=It(),i=wt(),l=y(()=>e.value.editLink&&o.value.editLink!==!1),v=y(()=>t.value.lastUpdated),p=y(()=>l.value||v.value||i.value.prev||i.value.next);return($,V)=>{var b,P,N,A;return p.value?(a(),u("footer",Ft,[c($.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(a(),u("div",Dt,[l.value?(a(),u("div",Ot,[_(F,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:f(()=>[V[0]||(V[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+I(r(n).text),1)]),_:1,__:[0]},8,["href"])])):h("",!0),v.value?(a(),u("div",Gt,[_(Et)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",Ut,[V[1]||(V[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",jt,[(N=r(i).prev)!=null&&N.link?(a(),k(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,zt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Wt)]}),_:1},8,["href"])):h("",!0)]),d("div",Kt,[(A=r(i).next)!=null&&A.link?(a(),k(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Rt)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Xt=g(Jt,[["__scopeId","data-v-28097769"]]),Yt={class:"container"},Qt={class:"aside-container"},Zt={class:"aside-content"},xt={class:"content"},en={class:"content-container"},tn={class:"main"},nn=m({__name:"VPDoc",setup(s){const{theme:e}=L(),t=Z(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,p)=>{const $=K("Content");return a(),u("div",{class:M(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(v.$slots,"doc-top",{},void 0,!0),d("div",Yt,[r(n)?(a(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[p[0]||(p[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",Qt,[d("div",Zt,[_(Mt,null,{"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",xt,[d("div",en,[c(v.$slots,"doc-before",{},void 0,!0),d("main",tn,[_($,{class:M(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Xt,null,{"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(v.$slots,"doc-after",{},void 0,!0)])])]),c(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),on=g(nn,[["__scopeId","data-v-ef58e7af"]]),sn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.href&&ye.test(e.href)),o=y(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(E(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[z(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=g(sn,[["__scopeId","data-v-f0748002"]]),rn=["src","alt"],ln=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=K("VPImage",!0);return e.image?(a(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,rn)):(a(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),X=g(ln,[["__scopeId","data-v-085b6aad"]]),cn={class:"container"},un={class:"main"},dn={class:"heading"},vn=["innerHTML"],pn=["innerHTML"],fn=["innerHTML"],hn={key:0,class:"actions"},mn={key:0,class:"image"},_n={class:"image-container"},kn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=x("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[d("div",cn,[d("div",un,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[d("h1",dn,[t.name?(a(),u("span",{key:0,innerHTML:t.name,class:"name clip"},null,8,vn)):h("",!0),t.text?(a(),u("span",{key:1,innerHTML:t.text,class:"text"},null,8,pn)):h("",!0)]),t.tagline?(a(),u("p",{key:0,innerHTML:t.tagline,class:"tagline"},null,8,fn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",hn,[(a(!0),u(w,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[_(an,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",mn,[d("div",_n,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),bn=g(kn,[["__scopeId","data-v-b6380c6a"]]),gn=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).hero?(a(),k(bn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),$n={class:"box"},yn={key:0,class:"icon"},Pn=["innerHTML"],Ln=["innerHTML"],Vn=["innerHTML"],Sn={key:4,class:"link-text"},Tn={class:"link-text-value"},Nn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[d("article",$n,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",yn,[_(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Pn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Ln),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Vn)):h("",!0),e.linkText?(a(),u("div",Sn,[d("p",Tn,[z(I(e.linkText)+" ",1),t[0]||(t[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Mn=g(Nn,[["__scopeId","data-v-7c7a8824"]]),In={key:0,class:"VPFeatures"},wn={class:"container"},An={class:"items"},Cn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",In,[d("div",wn,[d("div",An,[(a(!0),u(w,null,H(o.features,i=>(a(),u("div",{key:i.title,class:M(["item",[t.value]])},[_(Mn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Hn=g(Cn,[["__scopeId","data-v-04629de0"]]),Bn=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).features?(a(),k(Hn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),En=m({__name:"VPHomeContent",setup(s){const{width:e}=Oe({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:Pe(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Fn=g(En,[["__scopeId","data-v-0300b5ce"]]),Dn=m({__name:"VPHome",setup(s){const{frontmatter:e,theme:t}=L();return(o,n)=>{const i=K("Content");return a(),u("div",{class:M(["VPHome",{"external-link-icon-enabled":r(t).externalLinkIcon}])},[c(o.$slots,"home-hero-before",{},void 0,!0),_(gn,null,{"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(o.$slots,"home-hero-after",{},void 0,!0),c(o.$slots,"home-features-before",{},void 0,!0),_(Bn),c(o.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Fn,{key:0},{default:f(()=>[_(i)]),_:1})):(a(),k(i,{key:1}))],2)}}}),On=g(Dn,[["__scopeId","data-v-2c057618"]]),Gn={},Un={class:"VPPage"};function jn(s,e){const t=K("Content");return a(),u("div",Un,[c(s.$slots,"page-top"),_(t),c(s.$slots,"page-bottom")])}const zn=g(Gn,[["render",jn]]),Wn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:M(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[_(it)],!0):r(t).layout==="page"?(a(),k(zn,{key:1},{"page-top":f(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(On,{key:2},{"home-hero-before":f(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(E(r(t).layout),{key:3})):(a(),k(on,{key:4},{"doc-top":f(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Kn=g(Wn,[["__scopeId","data-v-da66bf6a"]]),qn={class:"container"},Rn=["innerHTML"],Jn=["innerHTML"],Xn=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(o)}])},[d("div",qn,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Rn)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Jn)):h("",!0)])],2)):h("",!0)}}),Yn=g(Xn,[["__scopeId","data-v-15fdbac5"]]);function Qn(){const{theme:s,frontmatter:e}=L(),t=$e([]),o=y(()=>t.value.length>0);return Q(()=>{t.value=he(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const Zn={class:"menu-text"},xn={class:"header"},eo={class:"outline"},to=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),i=T(),l=T();function v(b){var P;(P=i.value)!=null&&P.contains(b.target)||(o.value=!1)}D(o,b=>{if(b){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),re("Escape",()=>{o.value=!1}),Q(()=>{o.value=!1});function p(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function $(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Le(()=>{o.value=!1}))}function V(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Pe({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:p,class:M({open:o.value})},[d("span",Zn,I(r(Me)(r(t))),1),P[0]||(P[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:f(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:$},[d("div",xn,[d("a",{class:"top-link",href:"#",onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)]),d("div",eo,[_(Ie,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),no=g(to,[["__scopeId","data-v-3b0d77ac"]]),oo={class:"container"},so=["aria-expanded"],ao={class:"menu-text"},ro=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O(),{headers:n}=Qn(),{y:i}=Ve(),l=T(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{n.value=he(t.value.outline??e.value.outline)});const v=y(()=>n.value.length===0),p=y(()=>v.value&&!o.value),$=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:p.value}));return(V,b)=>r(t).layout!=="home"&&(!p.value||r(i)>=l.value)?(a(),u("div",{key:0,class:M($.value)},[d("div",oo,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",ao,I(r(e).sidebarMenuLabel||"Menu"),1)],8,so)):h("",!0),_(no,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),io=g(ro,[["__scopeId","data-v-25ab87d9"]]);function lo(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=Z();return D(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const co={},uo={class:"VPSwitch",type:"button",role:"switch"},vo={class:"check"},po={key:0,class:"icon"};function fo(s,e){return a(),u("button",uo,[d("span",vo,[s.$slots.default?(a(),u("span",po,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ho=g(co,[["render",fo],["__scopeId","data-v-a6d5da05"]]),mo=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=x("toggle-appearance",()=>{e.value=!e.value}),n=T("");return pe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(ho,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:f(()=>l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])),_:1,__:[0]},8,["title","aria-checked","onClick"]))}}),me=g(mo,[["__scopeId","data-v-299b7b5e"]]),_o={key:0,class:"VPNavBarAppearance"},ko=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",_o,[_(me)])):h("",!0)}}),bo=g(ko,[["__scopeId","data-v-5cc3ce0d"]]),_e=T();let we=!1,se=0;function go(s){const e=T(!1);if(ee){!we&&$o(),se++;const t=D(_e,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});ve(()=>{t(),se--,se||yo()})}return Ge(e)}function $o(){document.addEventListener("focusin",Ae),we=!0,_e.value=document.activeElement}function yo(){document.removeEventListener("focusin",Ae)}function Ae(){_e.value=document.activeElement}const Po={class:"VPMenuLink"},Lo=["innerHTML"],Vo=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),u("div",Po,[_(F,{class:M({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,Lo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=g(Vo,[["__scopeId","data-v-04cb418f"]]),So={class:"VPMenuGroup"},To={key:0,class:"title"},No=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",So,[e.text?(a(),u("p",To,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),u(w,null,["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Mo=g(No,[["__scopeId","data-v-7ddc3687"]]),Io={class:"VPMenu"},wo={key:0,class:"items"},Ao=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Io,[e.items?(a(),u("div",wo,[(a(!0),u(w,null,H(e.items,o=>(a(),u(w,{key:JSON.stringify(o)},["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(E(o.component),U({key:1,ref_for:!0},o.props),null,16)):(a(),k(Mo,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Co=g(Ao,[["__scopeId","data-v-21da92f6"]]),Ho=["aria-expanded","aria-label"],Bo={key:0,class:"text"},Eo=["innerHTML"],Fo={key:1,class:"vpi-more-horizontal icon"},Do={class:"menu"},Oo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();go({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Bo,[n.icon?(a(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Eo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Fo))],8,Ho),d("div",Do,[_(Co,{items:n.items},{default:f(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=g(Oo,[["__scopeId","data-v-f22c51c1"]]),Go=["href","aria-label","innerHTML"],Uo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();j(async()=>{var i;await Le();const n=(i=t.value)==null?void 0:i.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,i)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,Go))}}),jo=g(Uo,[["__scopeId","data-v-a02566e7"]]),zo={class:"VPSocialLinks"},Wo=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",zo,[(a(!0),u(w,null,H(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(jo,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=g(Wo,[["__scopeId","data-v-04c9c6b2"]]),Ko={key:0,class:"group translations"},qo={class:"trans-title"},Ro={key:1,class:"group"},Jo={class:"item appearance"},Xo={class:"label"},Yo={class:"appearance-action"},Qo={key:2,class:"group"},Zo={class:"item social-links"},xo=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=R({correspondingLink:!0}),i=y(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,v)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(n).label?(a(),u("div",Ko,[d("p",qo,I(r(n).label),1),(a(!0),u(w,null,H(r(o),p=>(a(),k(te,{key:p.link,item:p},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Ro,[d("div",Jo,[d("p",Xo,I(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Yo,[_(me)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Qo,[d("div",Zo,[_(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),es=g(xo,[["__scopeId","data-v-cf3d1140"]]),ts=["aria-expanded"],ns=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)]),10,ts))}}),os=g(ns,[["__scopeId","data-v-bc4091a7"]]),ss=["innerHTML"],as=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),k(F,{class:M({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,ss)]),_:1},8,["class","href","target","rel","no-icon"]))}}),rs=g(as,[["__scopeId","data-v-a32d3490"]]),is=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=y(()=>o(e.item));return(i,l)=>(a(),k(ke,{class:M({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ls={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},cs=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",ls,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(rs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props),null,16)):(a(),k(is,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),us=g(cs,[["__scopeId","data-v-e1b4cdce"]]);function ds(s){const{localeIndex:e,theme:t}=L();function o(n){var A,C,S;const i=n.split("."),l=(A=t.value.search)==null?void 0:A.options,v=l&&typeof l=="object",p=v&&((S=(C=l.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,$=v&&l.translations||null;let V=p,b=$,P=s;const N=i.pop();for(const B of i){let G=null;const q=P==null?void 0:P[B];q&&(G=P=q);const ne=b==null?void 0:b[B];ne&&(G=b=ne);const oe=V==null?void 0:V[B];oe&&(G=V=oe),q||(P=G),ne||(b=G),oe||(V=G)}return(V==null?void 0:V[N])??(b==null?void 0:b[N])??(P==null?void 0:P[N])??""}return o}const vs=["aria-label"],ps={class:"DocSearch-Button-Container"},fs={class:"DocSearch-Button-Placeholder"},ge=m({__name:"VPNavBarSearchButton",setup(s){const t=ds({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",ps,[n[0]||(n[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",fs,I(r(t)("button.buttonText")),1)]),n[1]||(n[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,vs))}}),hs={class:"VPNavBarSearch"},ms={id:"local-search"},_s={key:1,id:"docsearch"},ks=m({__name:"VPNavBarSearch",setup(s){const e=Ue(()=>je(()=>import("./VPLocalSearchBox.rcTa730P.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),i=T(!1);j(()=>{});function l(){n.value||(n.value=!0,setTimeout(v,16))}function v(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function p(b){const P=b.target,N=P.tagName;return P.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const $=T(!1);re("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),$.value=!0)}),re("/",b=>{p(b)||(b.preventDefault(),$.value=!0)});const V="local";return(b,P)=>{var N;return a(),u("div",hs,[r(V)==="local"?(a(),u(w,{key:0},[$.value?(a(),k(r(e),{key:0,onClose:P[0]||(P[0]=A=>$.value=!1)})):h("",!0),d("div",ms,[_(ge,{onClick:P[1]||(P[1]=A=>$.value=!0)})])],64)):r(V)==="algolia"?(a(),u(w,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((N=r(o).search)==null?void 0:N.options)??r(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",_s,[_(ge,{onClick:l})]))],64)):h("",!0)])}}}),bs=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),gs=g(bs,[["__scopeId","data-v-10f4fbb2"]]),$s=["href","rel","target"],ys=["innerHTML"],Ps={key:2},Ls=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=O(),{currentLang:n}=R(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),l=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),v=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,$)=>(a(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(fe)(r(n).link),rel:l.value,target:v.value},[c(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",{key:1,innerHTML:r(t).siteTitle},null,8,ys)):r(t).siteTitle===void 0?(a(),u("span",Ps,I(r(e).title),1)):h("",!0),c(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,$s)],2))}}),Vs=g(Ls,[["__scopeId","data-v-dcc486d8"]]),Ss={class:"items"},Ts={class:"title"},Ns=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=R({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[d("div",Ss,[d("p",Ts,I(r(o).label),1),(a(!0),u(w,null,H(r(t),l=>(a(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ms=g(Ns,[["__scopeId","data-v-8b1f1298"]]),Is={class:"wrapper"},ws={class:"container"},As={class:"title"},Cs={class:"content"},Hs={class:"content-body"},Bs=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Ve(),{hasSidebar:o}=O(),{frontmatter:n}=L(),i=T({});return pe(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,v)=>(a(),u("div",{class:M(["VPNavBar",i.value])},[d("div",Is,[d("div",ws,[d("div",As,[_(Vs,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Cs,[d("div",Hs,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ks,{class:"search"}),_(us,{class:"menu"}),_(Ms,{class:"translations"}),_(bo,{class:"appearance"}),_(gs,{class:"social-links"}),_(es,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(os,{class:"hamburger",active:l.isScreenOpen,onClick:v[0]||(v[0]=p=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Es=g(Bs,[["__scopeId","data-v-632f34fa"]]),Fs={key:0,class:"VPNavScreenAppearance"},Ds={class:"text"},Os=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Fs,[d("p",Ds,I(r(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):h("",!0)}}),Gs=g(Os,[["__scopeId","data-v-542e543f"]]),Us=["innerHTML"],js=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,Us)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),zs=g(js,[["__scopeId","data-v-e84fcf39"]]),Ws=["innerHTML"],Ks=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:f(()=>[d("span",{innerHTML:t.item.text},null,8,Ws)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ce=g(Ks,[["__scopeId","data-v-a32983f4"]]),qs={class:"VPNavScreenMenuGroupSection"},Rs={key:0,class:"title"},Js=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",qs,[e.text?(a(),u("p",Rs,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),k(Ce,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Xs=g(Js,[["__scopeId","data-v-79ef7fca"]]),Ys=["aria-controls","aria-expanded"],Qs=["innerHTML"],Zs=["id"],xs={key:0,class:"item"},ea={key:1,class:"item"},ta={key:2,class:"group"},na=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,Qs),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,Ys),d("div",{id:o.value,class:"items"},[(a(!0),u(w,null,H(i.items,v=>(a(),u(w,{key:JSON.stringify(v)},["link"in v?(a(),u("div",xs,[_(Ce,{item:v},null,8,["item"])])):"component"in v?(a(),u("div",ea,[(a(),k(E(v.component),U({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(a(),u("div",ta,[_(Xs,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,Zs)],2))}}),oa=g(na,[["__scopeId","data-v-b607952e"]]),sa={key:0,class:"VPNavScreenMenu"},aa=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",sa,[(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(zs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(oa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ra=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ia={class:"list"},la=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=R({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:n},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+I(r(t).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ia,[(a(!0),u(w,null,H(r(e),v=>(a(),u("li",{key:v.link,class:"item"},[_(F,{class:"link",href:v.link},{default:f(()=>[z(I(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ca=g(la,[["__scopeId","data-v-66b1ed4f"]]),ua={class:"container"},da=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Se(ee?document.body:null);return(o,n)=>(a(),k(ue,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:f(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",ua,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(aa,{class:"menu"}),_(ca,{class:"translations"}),_(Gs,{class:"appearance"}),_(ra,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),va=g(da,[["__scopeId","data-v-736d0f3a"]]),pa={key:0,class:"VPNav"},fa=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=lo(),{frontmatter:n}=L(),i=y(()=>n.value.navbar!==!1);return Te("close-screen",t),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(a(),u("header",pa,[_(Es,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(va,{open:r(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ha=g(fa,[["__scopeId","data-v-196296ba"]]),ma=["role","tabindex"],_a={key:1,class:"items"},ka=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:p}=dt(y(()=>e.item)),$=y(()=>v.value?"section":"div"),V=y(()=>n.value?"a":"div"),b=y(()=>v.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),N=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(S,B)=>{const G=K("VPSidebarItem",!0);return a(),k(E($.value),{class:M(["VPSidebarItem",N.value])},{default:f(()=>[S.item.text?(a(),u("div",U({key:0,class:"item",role:P.value},ze(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[B[1]||(B[1]=d("div",{class:"indicator"},null,-1)),S.item.link?(a(),k(F,{key:0,tag:V.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:f(()=>[(a(),k(E(b.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(E(b.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:We(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,ma)):h("",!0),S.item.items&&S.item.items.length?(a(),u("div",_a,[S.depth<5?(a(!0),u(w,{key:0},H(S.item.items,q=>(a(),k(G,{key:q.text,item:q,depth:S.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),ba=g(ka,[["__scopeId","data-v-b566cf41"]]),ga=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Ke(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(w,null,H(o.items,i=>(a(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[_(ba,{item:i,depth:0},null,8,["item"])],2))),128))}}),$a=g(ga,[["__scopeId","data-v-3272fbfa"]]),ya={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Pa=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=O(),o=s,n=T(null),i=Se(ee?document.body:null);D([o,n],()=>{var v;o.open?(i.value=!0,(v=n.value)==null||v.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(v,p)=>r(t)?(a(),u("aside",{key:0,class:M(["VPSidebar",{open:v.open}]),ref_key:"navEl",ref:n,onClick:p[0]||(p[0]=qe(()=>{},["stop"]))},[p[2]||(p[2]=d("div",{class:"curtain"},null,-1)),d("nav",ya,[p[1]||(p[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(v.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k($a,{items:r(e),key:l.value},null,8,["items"])),c(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),La=g(Pa,[["__scopeId","data-v-f58b6c37"]]),Va=m({__name:"VPSkipLink",setup(s){const{theme:e}=L(),t=Z(),o=T();D(()=>t.path,()=>o.value.focus());function n({target:i}){const l=document.getElementById(decodeURIComponent(i.hash).slice(1));if(l){const v=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",v)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",v),l.focus(),window.scrollTo(0,0)}}return(i,l)=>(a(),u(w,null,[d("span",{ref_key:"backToTop",ref:o,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n},I(r(e).skipToContentLabel||"Skip to content"),1)],64))}}),Sa=g(Va,[["__scopeId","data-v-f1a6591b"]]),Ta=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=O(),n=Z();D(()=>n.path,o),ut(e,o);const{frontmatter:i}=L(),l=Re(),v=y(()=>!!l["home-hero-image"]);return Te("hero-image-slot-exists",v),(p,$)=>{const V=K("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[c(p.$slots,"layout-top",{},void 0,!0),_(Sa),_(Qe,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),_(ha,null,{"nav-bar-title-before":f(()=>[c(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(io,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(La,{open:r(e)},{"sidebar-nav-before":f(()=>[c(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Kn,null,{"page-top":f(()=>[c(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Yn),c(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(V,{key:1}))}}}),Na=g(Ta,[["__scopeId","data-v-b4de4928"]]),Ia={Layout:Na,enhanceApp:({app:s})=>{s.component("Badge",Je)}};export{ds as c,Ia as t,L as u}; diff --git a/assets/user-guides_installation.md.Lx-5aly3.js b/assets/user-guides_installation.md.Lx-5aly3.js deleted file mode 100644 index aea7109..0000000 --- a/assets/user-guides_installation.md.Lx-5aly3.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as t,c as a,o as i,ag as o}from"./chunks/framework.S-Qvb3wi.js";const u=JSON.parse('{"title":"Installation Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user-guides/installation.md","filePath":"user-guides/installation.md"}'),s={name:"user-guides/installation.md"};function r(d,e,n,c,l,h){return i(),a("div",null,e[0]||(e[0]=[o(`

    Installation Guide

    This guide will walk you through setting up Open Archiver using Docker Compose. This is the recommended method for deploying the application.

    Prerequisites

    • Docker and Docker Compose installed on your server or local machine.
    • A server or local machine with at least 4GB of RAM (2GB of RAM if you use external Postgres, Redis (Valkey) and Meilisearch instances).
    • Git installed on your server or local machine.

    1. Clone the Repository

    First, clone the Open Archiver repository to your machine:

    bash
    git clone https://github.com/LogicLabs-OU/OpenArchiver.git
    -cd OpenArchiver

    2. Configure Your Environment

    The application is configured using environment variables. You'll need to create a .env file to store your configuration.

    Copy the example environment file for Docker:

    bash
    cp .env.example.docker .env

    Now, open the .env file in a text editor and customize the settings.

    Important Configuration

    You must change the following placeholder values to secure your instance:

    • POSTGRES_PASSWORD: A strong, unique password for the database.
    • REDIS_PASSWORD: A strong, unique password for the Valkey/Redis service.
    • MEILI_MASTER_KEY: A complex key for Meilisearch.
    • JWT_SECRET: A long, random string for signing authentication tokens.
    • ADMIN_PASSWORD: A strong password for the initial admin user.
    • ENCRYPTION_KEY: A 32-byte hex string for encrypting sensitive data in the database. You can generate one with the following command:
      bash
      openssl rand -hex 32

    Storage Configuration

    By default, the Docker Compose setup uses local filesystem storage, which is persisted using a Docker volume named archiver-data. This is suitable for most use cases.

    If you want to use S3-compatible object storage, change the STORAGE_TYPE to s3 and fill in your S3 credentials (STORAGE_S3_* variables).

    Using External Services

    For convenience, the docker-compose.yml file includes services for PostgreSQL, Valkey (Redis), and Meilisearch. However, you can use your own external or managed instances for these services.

    To do so:

    1. Update your .env file: Change the host, port, and credential variables to point to your external service instances. For example, you would update DATABASE_URL, REDIS_HOST, and MEILI_HOST.
    2. Modify docker-compose.yml: Remove or comment out the service definitions for postgres, valkey, and meilisearch from your docker-compose.yml file.

    This will configure the Open Archiver application to connect to your services instead of starting the default ones.

    Environment Variable Reference

    Here is a complete list of environment variables available for configuration:

    Application Settings

    VariableDescriptionDefault Value
    NODE_ENVThe application environment.development
    PORT_BACKENDThe port for the backend service.4000
    PORT_FRONTENDThe port for the frontend service.3000

    Docker Compose Service Configuration

    These variables are used by docker-compose.yml to configure the services.

    VariableDescriptionDefault Value
    POSTGRES_DBThe name of the PostgreSQL database.open_archive
    POSTGRES_USERThe username for the PostgreSQL database.admin
    POSTGRES_PASSWORDThe password for the PostgreSQL database.password
    DATABASE_URLThe connection URL for the PostgreSQL database.postgresql://admin:password@postgres:5432/open_archive
    MEILI_MASTER_KEYThe master key for Meilisearch.aSampleMasterKey
    MEILI_HOSTThe host for the Meilisearch service.http://meilisearch:7700
    REDIS_HOSTThe host for the Valkey (Redis) service.valkey
    REDIS_PORTThe port for the Valkey (Redis) service.6379
    REDIS_PASSWORDThe password for the Valkey (Redis) service.defaultredispassword
    REDIS_TLS_ENABLEDEnable or disable TLS for Redis.false

    Storage Settings

    VariableDescriptionDefault Value
    STORAGE_TYPEThe storage backend to use (local or s3).local
    STORAGE_LOCAL_ROOT_PATHThe root path for local file storage./var/data/open-archiver
    STORAGE_S3_ENDPOINTThe endpoint for S3-compatible storage.
    STORAGE_S3_BUCKETThe bucket name for S3-compatible storage.
    STORAGE_S3_ACCESS_KEY_IDThe access key ID for S3-compatible storage.
    STORAGE_S3_SECRET_ACCESS_KEYThe secret access key for S3-compatible storage.
    STORAGE_S3_REGIONThe region for S3-compatible storage.
    STORAGE_S3_FORCE_PATH_STYLEForce path-style addressing for S3.false

    Security & Authentication

    VariableDescriptionDefault Value
    JWT_SECRETA secret key for signing JWT tokens.a-very-secret-key-that-you-should-change
    JWT_EXPIRES_INThe expiration time for JWT tokens.7d
    ADMIN_EMAILThe email for the initial admin user.admin@local.com
    ADMIN_PASSWORDThe password for the initial admin user.a_strong_password_that_you_should_change
    SUPER_API_KEYAn API key with super admin privileges.
    ENCRYPTION_KEYA 32-byte hex string for encrypting sensitive data.

    3. Run the Application

    Once you have configured your .env file, you can start all the services using Docker Compose:

    bash
    docker compose up -d

    This command will:

    • Pull the required Docker images for the frontend, backend, database, and other services.
    • Create and start the containers in the background (-d flag).
    • Create the persistent volumes for your data.

    You can check the status of the running containers with:

    bash
    docker compose ps

    4. Access the Application

    Once the services are running, you can access the Open Archiver web interface by navigating to http://localhost:3000 in your web browser.

    You can log in with the ADMIN_EMAIL and ADMIN_PASSWORD you configured in your .env file.

    5. Next Steps

    After successfully deploying and logging into Open Archiver, the next step is to configure your ingestion sources to start archiving emails.

    Updating Your Installation

    To update your Open Archiver instance to the latest version, run the following commands:

    bash
    # Pull the latest changes from the repository
    -git pull
    -
    -# Pull the latest Docker images
    -docker compose pull
    -
    -# Restart the services with the new images
    -docker compose up -d
    `,50)]))}const g=t(s,[["render",r]]);export{u as __pageData,g as default}; diff --git a/assets/user-guides_installation.md.Lx-5aly3.lean.js b/assets/user-guides_installation.md.Lx-5aly3.lean.js deleted file mode 100644 index 7e8ef65..0000000 --- a/assets/user-guides_installation.md.Lx-5aly3.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as i,ag as o}from"./chunks/framework.S-Qvb3wi.js";const u=JSON.parse('{"title":"Installation Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user-guides/installation.md","filePath":"user-guides/installation.md"}'),s={name:"user-guides/installation.md"};function r(d,e,n,c,l,h){return i(),a("div",null,e[0]||(e[0]=[o("",50)]))}const g=t(s,[["render",r]]);export{u as __pageData,g as default}; diff --git a/assets/user-guides_installation.md.xXTSUcq4.js b/assets/user-guides_installation.md.xXTSUcq4.js new file mode 100644 index 0000000..20a83a1 --- /dev/null +++ b/assets/user-guides_installation.md.xXTSUcq4.js @@ -0,0 +1,9 @@ +import{_ as t,c as a,o,ag as i}from"./chunks/framework.S-Qvb3wi.js";const u=JSON.parse('{"title":"Installation Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user-guides/installation.md","filePath":"user-guides/installation.md"}'),s={name:"user-guides/installation.md"};function d(r,e,n,c,l,h){return o(),a("div",null,e[0]||(e[0]=[i(`

    Installation Guide

    This guide will walk you through setting up Open Archiver using Docker Compose. This is the recommended method for deploying the application.

    Prerequisites

    • Docker and Docker Compose installed on your server or local machine.
    • A server or local machine with at least 4GB of RAM (2GB of RAM if you use external Postgres, Redis (Valkey) and Meilisearch instances).
    • Git installed on your server or local machine.

    1. Clone the Repository

    First, clone the Open Archiver repository to your machine:

    bash
    git clone https://github.com/LogicLabs-OU/OpenArchiver.git
    +cd OpenArchiver

    2. Configure Your Environment

    The application is configured using environment variables. You'll need to create a .env file to store your configuration.

    Copy the example environment file for Docker:

    bash
    cp .env.example.docker .env

    Now, open the .env file in a text editor and customize the settings.

    Important Configuration

    You must change the following placeholder values to secure your instance:

    • POSTGRES_PASSWORD: A strong, unique password for the database.
    • REDIS_PASSWORD: A strong, unique password for the Valkey/Redis service.
    • MEILI_MASTER_KEY: A complex key for Meilisearch.
    • JWT_SECRET: A long, random string for signing authentication tokens.
    • ADMIN_PASSWORD: A strong password for the initial admin user.
    • ENCRYPTION_KEY: A 32-byte hex string for encrypting sensitive data in the database. You can generate one with the following command:
      bash
      openssl rand -hex 32

    Storage Configuration

    By default, the Docker Compose setup uses local filesystem storage, which is persisted using a Docker volume named archiver-data. This is suitable for most use cases.

    If you want to use S3-compatible object storage, change the STORAGE_TYPE to s3 and fill in your S3 credentials (STORAGE_S3_* variables). When STORAGE_TYPE is set to local, the S3-related variables are not required.

    Using External Services

    For convenience, the docker-compose.yml file includes services for PostgreSQL, Valkey (Redis), and Meilisearch. However, you can use your own external or managed instances for these services.

    To do so:

    1. Update your .env file: Change the host, port, and credential variables to point to your external service instances. For example, you would update DATABASE_URL, REDIS_HOST, and MEILI_HOST.
    2. Modify docker-compose.yml: Remove or comment out the service definitions for postgres, valkey, and meilisearch from your docker-compose.yml file.

    This will configure the Open Archiver application to connect to your services instead of starting the default ones.

    Environment Variable Reference

    Here is a complete list of environment variables available for configuration:

    Application Settings

    VariableDescriptionDefault Value
    NODE_ENVThe application environment.development
    PORT_BACKENDThe port for the backend service.4000
    PORT_FRONTENDThe port for the frontend service.3000

    Docker Compose Service Configuration

    These variables are used by docker-compose.yml to configure the services.

    VariableDescriptionDefault Value
    POSTGRES_DBThe name of the PostgreSQL database.open_archive
    POSTGRES_USERThe username for the PostgreSQL database.admin
    POSTGRES_PASSWORDThe password for the PostgreSQL database.password
    DATABASE_URLThe connection URL for the PostgreSQL database.postgresql://admin:password@postgres:5432/open_archive
    MEILI_MASTER_KEYThe master key for Meilisearch.aSampleMasterKey
    MEILI_HOSTThe host for the Meilisearch service.http://meilisearch:7700
    REDIS_HOSTThe host for the Valkey (Redis) service.valkey
    REDIS_PORTThe port for the Valkey (Redis) service.6379
    REDIS_PASSWORDThe password for the Valkey (Redis) service.defaultredispassword
    REDIS_TLS_ENABLEDEnable or disable TLS for Redis.false

    Storage Settings

    VariableDescriptionDefault Value
    STORAGE_TYPEThe storage backend to use (local or s3).local
    STORAGE_LOCAL_ROOT_PATHThe root path for local file storage./var/data/open-archiver
    STORAGE_S3_ENDPOINTThe endpoint for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_BUCKETThe bucket name for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_ACCESS_KEY_IDThe access key ID for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_SECRET_ACCESS_KEYThe secret access key for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_REGIONThe region for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_FORCE_PATH_STYLEForce path-style addressing for S3 (optional).false

    Security & Authentication

    VariableDescriptionDefault Value
    JWT_SECRETA secret key for signing JWT tokens.a-very-secret-key-that-you-should-change
    JWT_EXPIRES_INThe expiration time for JWT tokens.7d
    ADMIN_EMAILThe email for the initial admin user.admin@local.com
    ADMIN_PASSWORDThe password for the initial admin user.a_strong_password_that_you_should_change
    SUPER_API_KEYAn API key with super admin privileges.
    ENCRYPTION_KEYA 32-byte hex string for encrypting sensitive data.

    3. Run the Application

    Once you have configured your .env file, you can start all the services using Docker Compose:

    bash
    docker compose up -d

    This command will:

    • Pull the required Docker images for the frontend, backend, database, and other services.
    • Create and start the containers in the background (-d flag).
    • Create the persistent volumes for your data.

    You can check the status of the running containers with:

    bash
    docker compose ps

    4. Access the Application

    Once the services are running, you can access the Open Archiver web interface by navigating to http://localhost:3000 in your web browser.

    You can log in with the ADMIN_EMAIL and ADMIN_PASSWORD you configured in your .env file.

    5. Next Steps

    After successfully deploying and logging into Open Archiver, the next step is to configure your ingestion sources to start archiving emails.

    Updating Your Installation

    To update your Open Archiver instance to the latest version, run the following commands:

    bash
    # Pull the latest changes from the repository
    +git pull
    +
    +# Pull the latest Docker images
    +docker compose pull
    +
    +# Restart the services with the new images
    +docker compose up -d
    `,50)]))}const g=t(s,[["render",d]]);export{u as __pageData,g as default}; diff --git a/assets/user-guides_installation.md.xXTSUcq4.lean.js b/assets/user-guides_installation.md.xXTSUcq4.lean.js new file mode 100644 index 0000000..4071b22 --- /dev/null +++ b/assets/user-guides_installation.md.xXTSUcq4.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o,ag as i}from"./chunks/framework.S-Qvb3wi.js";const u=JSON.parse('{"title":"Installation Guide","description":"","frontmatter":{},"headers":[],"relativePath":"user-guides/installation.md","filePath":"user-guides/installation.md"}'),s={name:"user-guides/installation.md"};function d(r,e,n,c,l,h){return o(),a("div",null,e[0]||(e[0]=[i("",50)]))}const g=t(s,[["render",d]]);export{u as __pageData,g as default}; diff --git a/hashmap.json b/hashmap.json index d526d20..4e5f546 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"api_archived-email.md":"Di9i_OKb","api_auth.md":"Kt3iNEMn","api_authentication.md":"DDCP-z1j","api_dashboard.md":"CqvOiGVx","api_index.md":"DFnFK07E","api_ingestion.md":"DOeFHoQv","api_search.md":"BRCIJTXq","api_storage.md":"DKUKvFrO","index.md":"9PKJf5H1","services_index.md":"BLn224J3","services_storage-service.md":"Dqpyxk77","summary.md":"5seSND4L","user-guides_email-providers_google-workspace.md":"BWo_12De","user-guides_email-providers_imap.md":"Cdk3vG_S","user-guides_email-providers_index.md":"DPaSFiTO","user-guides_email-providers_microsoft-365.md":"QHHVfYxW","user-guides_installation.md":"Lx-5aly3"} +{"api_archived-email.md":"Di9i_OKb","api_auth.md":"Kt3iNEMn","api_authentication.md":"DDCP-z1j","api_dashboard.md":"CqvOiGVx","api_index.md":"DFnFK07E","api_ingestion.md":"DOeFHoQv","api_search.md":"BRCIJTXq","api_storage.md":"DKUKvFrO","index.md":"9PKJf5H1","services_index.md":"BLn224J3","services_storage-service.md":"Dqpyxk77","summary.md":"5seSND4L","user-guides_email-providers_google-workspace.md":"BWo_12De","user-guides_email-providers_imap.md":"Cdk3vG_S","user-guides_email-providers_index.md":"DPaSFiTO","user-guides_email-providers_microsoft-365.md":"QHHVfYxW","user-guides_installation.md":"xXTSUcq4"} diff --git a/index.html b/index.html index b0bab5b..709493a 100644 --- a/index.html +++ b/index.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    Get Started 👋

    Welcome to Open Archiver! This guide will help you get started with setting up and using the platform.

    What is Open Archiver? 🛡️

    A secure, sovereign, and affordable open-source platform for email archiving and eDiscovery.

    Open Archiver provides a robust, self-hosted solution for archiving, storing, indexing, and searching emails from major platforms, including Google Workspace (Gmail), Microsoft 365, as well as generic IMAP-enabled email inboxes. Use Open Archiver to keep a permanent, tamper-proof record of your communication history, free from vendor lock-in.

    Key Features ✨

    • Universal Ingestion: Connect to Google Workspace, Microsoft 365, and standard IMAP servers to perform initial bulk imports and maintain continuous, real-time synchronization.
    • Secure & Efficient Storage: Emails are stored in the standard .eml format. The system uses deduplication and compression to minimize storage costs. All data is encrypted at rest.
    • Pluggable Storage Backends: Support both local filesystem storage and S3-compatible object storage (like AWS S3 or MinIO).
    • Powerful Search & eDiscovery: A high-performance search engine indexes the full text of emails and attachments (PDF, DOCX, etc.).
    • Compliance & Retention: Define granular retention policies to automatically manage the lifecycle of your data. Place legal holds on communications to prevent deletion during litigation (TBD).
    • Comprehensive Auditing: An immutable audit trail logs all system activities, ensuring you have a clear record of who accessed what and when (TBD).

    Installation 🚀

    To get your own instance of Open Archiver running, follow our detailed installation guide:

    Data Source Configuration 🔌

    After deploying the application, you will need to configure one or more ingestion sources to begin archiving emails. Follow our detailed guides to connect to your email provider:

    Contributing ❤️

    We welcome contributions from the community!

    • Reporting Bugs: If you find a bug, please open an issue on our GitHub repository.
    • Suggesting Enhancements: Have an idea for a new feature? We'd love to hear it. Open an issue to start the discussion.
    • Code Contributions: If you'd like to contribute code, please fork the repository and submit a pull request.

    Please read our CONTRIBUTING.md file for more details on our code of conduct and the process for submitting pull requests.

    - + \ No newline at end of file diff --git a/services/index.html b/services/index.html index 1551c72..77001df 100644 --- a/services/index.html +++ b/services/index.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/services/storage-service.html b/services/storage-service.html index 972aef9..0048008 100644 --- a/services/storage-service.html +++ b/services/storage-service.html @@ -9,9 +9,9 @@ - + - + @@ -56,7 +56,7 @@ } } }

    API Reference

    The StorageService implements the IStorageProvider interface. All methods are asynchronous and return a Promise.


    put(path, content)

    Stores a file at the specified path. If a file already exists at that path, it will be overwritten.

    • path: string: A unique identifier for the file, including its directory structure (e.g., "user-123/emails/message-abc.eml").
    • content: Buffer | NodeJS.ReadableStream: The content of the file. It can be a Buffer for small files or a ReadableStream for large files to ensure memory efficiency.
    • Returns: Promise<void> - A promise that resolves when the file has been successfully stored.

    get(path)

    Retrieves a file from the specified path as a readable stream.

    • path: string: The unique identifier of the file to retrieve.
    • Returns: Promise<NodeJS.ReadableStream> - A promise that resolves with a readable stream of the file's content.
    • Throws: An Error if the file is not found at the specified path.

    delete(path)

    Deletes a file from the storage backend.

    • path: string: The unique identifier of the file to delete.
    • Returns: Promise<void> - A promise that resolves when the file is deleted. If the file does not exist, the promise will still resolve successfully without throwing an error.

    exists(path)

    Checks for the existence of a file.

    • path: string: The unique identifier of the file to check.
    • Returns: Promise<boolean> - A promise that resolves with true if the file exists, and false otherwise.
    - + \ No newline at end of file diff --git a/user-guides/email-providers/google-workspace.html b/user-guides/email-providers/google-workspace.html index e6cefc3..7917b84 100644 --- a/user-guides/email-providers/google-workspace.html +++ b/user-guides/email-providers/google-workspace.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    Connecting to Google Workspace

    This guide provides instructions for Google Workspace administrators to set up a connection that allows the archiving of all user mailboxes within their organization.

    The connection uses a Google Cloud Service Account with Domain-Wide Delegation. This is a secure method that grants the archiving service permission to access user data on behalf of the administrator, without requiring individual user passwords or consent.

    Prerequisites

    • You must have Super Administrator privileges in your Google Workspace account.
    • You must have access to the Google Cloud Console associated with your organization.

    Setup Overview

    The setup process involves three main parts:

    1. Configuring the necessary permissions in the Google Cloud Console.
    2. Authorizing the service account in the Google Workspace Admin Console.
    3. Entering the generated credentials into the OpenArchiver application.

    Part 1: Google Cloud Console Setup

    In this part, you will create a service account and enable the APIs it needs to function.

    1. Create a Google Cloud Project:

      • Go to the Google Cloud Console.
      • If you don't already have one, create a new project for the archiving service (e.g., "Email Archiver").
    2. Enable Required APIs:

      • In your selected project, navigate to the "APIs & Services" > "Library" section.
      • Search for and enable the following two APIs:
        • Gmail API
        • Admin SDK API
    3. Create a Service Account:

      • Navigate to "IAM & Admin" > "Service Accounts".
      • Click "Create Service Account".
      • Give the service account a name (e.g., email-archiver-service) and a description.
      • Click "Create and Continue". You do not need to grant this service account any roles on the project. Click "Done".
    4. Generate a JSON Key:

      • Find the service account you just created in the list.
      • Click the three-dot menu under "Actions" and select "Manage keys".
      • Click "Add Key" > "Create new key".
      • Select JSON as the key type and click "Create".
      • A JSON file will be downloaded to your computer. Keep this file secure, as it contains private credentials. You will need the contents of this file in Part 3.

    Troubleshooting

    Error: "iam.disableServiceAccountKeyCreation"

    If you receive an error message stating The organization policy constraint 'iam.disableServiceAccountKeyCreation' is enforced when trying to create a JSON key, it means your Google Cloud organization has a policy preventing the creation of new service account keys.

    To resolve this, you must have Organization Administrator permissions.

    1. Navigate to your Organization: In the Google Cloud Console, use the project selector at the top of the page to select your organization node (it usually has a building icon).
    2. Go to IAM: From the navigation menu, select "IAM & Admin" > "IAM".
    3. Edit Your Permissions: Find your user account in the list and click the pencil icon to edit roles. Add the following two roles:
      • Organization Policy Administrator
      • Organization AdministratorNote: These roles are only available at the organization level, not the project level.
    4. Modify the Policy:
      • Navigate to "IAM & Admin" > "Organization Policies".
      • In the filter box, search for the policy "iam.disableServiceAccountKeyCreation".
      • Click on the policy to edit it.
      • You can either disable the policy entirely (if your security rules permit) or add a rule to exclude the specific project you are using for the archiver from this policy.
    5. Retry Key Creation: Once the policy is updated, return to your project and you should be able to generate the JSON key as described in Part 1.

    Part 2: Grant Domain-Wide Delegation

    Now, you will authorize the service account you created to access data from your Google Workspace.

    1. Get the Service Account's Client ID:

      • Go back to the list of service accounts in the Google Cloud Console.
      • Click on the service account you created.
      • Under the "Details" tab, find and copy the Unique ID (this is the Client ID).
    2. Authorize the Client in Google Workspace:

      • Go to your Google Workspace Admin Console at admin.google.com.
      • Navigate to Security > Access and data control > API controls.
      • Under the "Domain-wide Delegation" section, click "Manage Domain-wide Delegation".
      • Click "Add new".
    3. Enter Client Details and Scopes:

      • In the Client ID field, paste the Unique ID you copied from the service account.
      • In the OAuth scopes field, paste the following two scopes exactly as they appear, separated by a comma:
        https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/gmail.readonly
      • Click "Authorize".

    The service account is now permitted to list users and read their email data across your domain.


    Part 3: Connecting in OpenArchiver

    Finally, you will provide the generated credentials to the application.

    1. Navigate to Ingestion Sources: From the main dashboard, go to the Ingestion Sources page.

    2. Create a New Source: Click the "Create New" button.

    3. Fill in the Configuration Details:

      • Name: Give the source a name (e.g., "Google Workspace Archive").
      • Provider: Select "Google Workspace" from the dropdown.
      • Service Account Key (JSON): Open the JSON file you downloaded in Part 1. Copy the entire content of the file and paste it into this text area.
      • Impersonated Admin Email: Enter the email address of a Super Administrator in your Google Workspace (e.g., admin@your-domain.com). The service will use this user's authority to discover all other users.
    4. Save Changes: Click "Save changes".

    What Happens Next?

    Once the connection is saved and verified, the system will begin the archiving process:

    1. User Discovery: The service will first connect to the Admin SDK to get a list of all active users in your Google Workspace.
    2. Initial Import: The system will then start a background job to import the mailboxes of all discovered users. The status will show as "Importing". This can take a significant amount of time depending on the number of users and the size of their mailboxes.
    3. Continuous Sync: After the initial import is complete, the status will change to "Active". The system will then periodically check each user's mailbox for new emails and archive them automatically.
    - + \ No newline at end of file diff --git a/user-guides/email-providers/imap.html b/user-guides/email-providers/imap.html index 350cb22..53fd2b1 100644 --- a/user-guides/email-providers/imap.html +++ b/user-guides/email-providers/imap.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    Connecting to a Generic IMAP Server

    This guide will walk you through connecting a standard IMAP email account as an ingestion source. This allows you to archive emails from any provider that supports the IMAP protocol, which is common for many self-hosted or traditional email services.

    Step-by-Step Guide

    1. Navigate to Ingestion Sources: From the main dashboard, go to the Ingestions page.

    2. Create a New Source: Click the "Create New" button to open the ingestion source configuration dialog.

    3. Fill in the Configuration Details: You will see a form with several fields. Here is how to fill them out for an IMAP connection:

      • Name: Give your ingestion source a descriptive name that you will easily recognize, such as "Work Email (IMAP)" or "Personal Gmail".

      • Provider: From the dropdown menu, select "Generic IMAP". This will reveal the specific fields required for an IMAP connection.

      • Host: Enter the server address for your email provider's IMAP service. This often looks like imap.your-provider.com or mail.your-domain.com.

      • Port: Enter the port number for the IMAP server. For a secure connection (which is strongly recommended), this is typically 993.

      • Username: Enter the full email address or username you use to log in to your email account.

      • Password: Enter the password for your email account.

    4. Save Changes: Once you have filled in all the details, click the "Save changes" button.

    Security Recommendation: Use an App Password

    For enhanced security, we strongly recommend using an "app password" (sometimes called an "app-specific password") instead of your main account password.

    Many email providers (like Gmail, Outlook, and Fastmail) allow you to generate a unique password that grants access only to a specific application (in this case, the archiving service). If you ever need to revoke access, you can simply delete the app password without affecting your main account login.

    Please consult your email provider's documentation to see if they support app passwords and how to create one.

    How to Obtain an App Password for Gmail

    1. Enable 2-Step Verification: You must have 2-Step Verification turned on for your Google Account.
    2. Go to App Passwords: Visit myaccount.google.com/apppasswords. You may be asked to sign in again.
    3. Create the Password:
      • At the bottom, click "Select app" and choose "Other (Custom name)".
      • Give it a name you'll recognize, like "OpenArchiver".
      • Click "Generate".
    4. Use the Password: A 16-digit password will be displayed. Copy this password (without the spaces) and paste it into the Password field in the OpenArchiver ingestion source form.

    How to Obtain an App Password for Outlook/Microsoft Accounts

    1. Enable Two-Step Verification: You must have two-step verification enabled for your Microsoft account.
    2. Go to Security Options: Sign in to your Microsoft account and navigate to the Advanced security options.
    3. Create a New App Password:
      • Scroll down to the "App passwords" section.
      • Click "Create a new app password".
    4. Use the Password: A new password will be generated. Use this password in the Password field in the OpenArchiver ingestion source form.

    What Happens Next?

    After you save the connection, the system will attempt to connect to the IMAP server. The status of the ingestion source will update to reflect its current state:

    • Importing: The system is performing the initial, one-time import of all emails from your INBOX. This may take a while depending on the size of your mailbox.
    • Active: The initial import is complete, and the system will now periodically check for and archive new emails.
    • Paused: The connection is valid, but the system will not check for new emails until you resume it.
    • Error: The system was unable to connect using the provided credentials. Please double-check your Host, Port, Username, and Password and try again.

    You can view, edit, pause, or manually sync any of your ingestion sources from the main table on the Ingestions page.

    - + \ No newline at end of file diff --git a/user-guides/email-providers/index.html b/user-guides/email-providers/index.html index 64b9aa5..777dc15 100644 --- a/user-guides/email-providers/index.html +++ b/user-guides/email-providers/index.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    Connecting Email Providers

    Open Archiver can connect to a variety of email sources to ingest and archive your emails. This section provides guides for connecting to popular email providers.

    Choose your provider from the list below to get started:

    - + \ No newline at end of file diff --git a/user-guides/email-providers/microsoft-365.html b/user-guides/email-providers/microsoft-365.html index 298b918..1f02440 100644 --- a/user-guides/email-providers/microsoft-365.html +++ b/user-guides/email-providers/microsoft-365.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
    Skip to content

    Connecting to Microsoft 365

    This guide provides instructions for Microsoft 365 administrators to set up a connection that allows the archiving of all user mailboxes within their organization.

    The connection uses the Microsoft Graph API and an App Registration in Microsoft Entra ID. This is a secure, standard method that grants the archiving service permission to read email data on your behalf without ever needing to handle user passwords.

    Prerequisites

    • You must have one of the following administrator roles in your Microsoft 365 tenant: Global Administrator, Application Administrator, or Cloud Application Administrator.

    Setup Overview

    The setup process involves four main parts, all performed within the Microsoft Entra admin center and the OpenArchiver application:

    1. Registering a new application identity for the archiver in Entra ID.
    2. Granting the application the specific permissions it needs to read mail.
    3. Creating a secure password (a client secret) for the application.
    4. Entering the generated credentials into the OpenArchiver application.

    Part 1: Register a New Application in Microsoft Entra ID

    First, you will create an "App registration," which acts as an identity for the archiving service within your Microsoft 365 ecosystem.

    1. Sign in to the Microsoft Entra admin center.
    2. In the left-hand navigation pane, go to Identity > Applications > App registrations.
    3. Click the + New registration button at the top of the page.
    4. On the "Register an application" screen:
      • Name: Give the application a descriptive name you will recognize, such as OpenArchiver Service.
      • Supported account types: Select "Accounts in this organizational directory only (Default Directory only - Single tenant)". This is the most secure option.
      • Redirect URI (optional): You can leave this blank.
    5. Click the Register button. You will be taken to the application's main "Overview" page.

    Part 2: Grant API Permissions

    Next, you must grant the application the specific permissions required to read user profiles and their mailboxes.

    1. From your new application's page, select API permissions from the left-hand menu.
    2. Click the + Add a permission button.
    3. In the "Request API permissions" pane, select Microsoft Graph.
    4. Select Application permissions. This is critical as it allows the service to run in the background without a user being signed in.
    5. In the "Select permissions" search box, find and check the boxes for the following two permissions:
      • Mail.Read
      • User.Read.All
    6. Click the Add permissions button at the bottom.
    7. Crucial Final Step: You will now see the permissions in your list with a warning status. You must grant consent on behalf of your organization. Click the "Grant admin consent for [Your Organization's Name]" button located above the permissions table. Click Yes in the confirmation dialog. The status for both permissions should now show a green checkmark.

    Part 3: Create a Client Secret

    The client secret is a password that the archiving service will use to authenticate. Treat this with the same level of security as an administrator's password.

    1. In your application's menu, navigate to Certificates & secrets.
    2. Select the Client secrets tab and click + New client secret.
    3. In the pane that appears:
      • Description: Enter a clear description, such as OpenArchiver Key.
      • Expires: Select an expiry duration. We recommend 12 or 24 months. Set a calendar reminder to renew it before it expires to prevent service interruption.
    4. Click Add.
    5. IMMEDIATELY COPY THE SECRET: The secret is now visible in the "Value" column. This is the only time it will be fully displayed. Copy this value now and store it in a secure password manager before navigating away. If you lose it, you must create a new one.

    Part 4: Connecting in OpenArchiver

    You now have the three pieces of information required to configure the connection.

    1. Navigate to Ingestion Sources: In the OpenArchiver application, go to the Ingestion Sources page.

    2. Create a New Source: Click the "Create New" button.

    3. Fill in the Configuration Details:

      • Name: Give the source a name (e.g., "Microsoft 365 Archive").
      • Provider: Select "Microsoft 365" from the dropdown.
      • Application (Client) ID: Go to the Overview page of your app registration in the Entra admin center and copy this value.
      • Directory (Tenant) ID: This value is also on the Overview page.
      • Client Secret Value: Paste the secret Value (not the Secret ID) that you copied and saved in the previous step.
    4. Save Changes: Click "Save changes".

    What Happens Next?

    Once the connection is saved, the system will begin the archiving process:

    1. User Discovery: The service will connect to the Microsoft Graph API to get a list of all users in your organization.
    2. Initial Import: The system will begin a background job to import the mailboxes of all discovered users, folder by folder. The status will show as "Importing". This can take a significant amount of time.
    3. Continuous Sync: After the initial import, the status will change to "Active". The system will use Microsoft Graph's delta query feature to efficiently fetch only new or changed emails, ensuring the archive stays up-to-date.
    - + \ No newline at end of file diff --git a/user-guides/installation.html b/user-guides/installation.html index 3ed6f14..e923017 100644 --- a/user-guides/installation.html +++ b/user-guides/installation.html @@ -9,17 +9,17 @@ - + - + - +
    Skip to content

    Installation Guide

    This guide will walk you through setting up Open Archiver using Docker Compose. This is the recommended method for deploying the application.

    Prerequisites

    • Docker and Docker Compose installed on your server or local machine.
    • A server or local machine with at least 4GB of RAM (2GB of RAM if you use external Postgres, Redis (Valkey) and Meilisearch instances).
    • Git installed on your server or local machine.

    1. Clone the Repository

    First, clone the Open Archiver repository to your machine:

    bash
    git clone https://github.com/LogicLabs-OU/OpenArchiver.git
    -cd OpenArchiver

    2. Configure Your Environment

    The application is configured using environment variables. You'll need to create a .env file to store your configuration.

    Copy the example environment file for Docker:

    bash
    cp .env.example.docker .env

    Now, open the .env file in a text editor and customize the settings.

    Important Configuration

    You must change the following placeholder values to secure your instance:

    • POSTGRES_PASSWORD: A strong, unique password for the database.
    • REDIS_PASSWORD: A strong, unique password for the Valkey/Redis service.
    • MEILI_MASTER_KEY: A complex key for Meilisearch.
    • JWT_SECRET: A long, random string for signing authentication tokens.
    • ADMIN_PASSWORD: A strong password for the initial admin user.
    • ENCRYPTION_KEY: A 32-byte hex string for encrypting sensitive data in the database. You can generate one with the following command:
      bash
      openssl rand -hex 32

    Storage Configuration

    By default, the Docker Compose setup uses local filesystem storage, which is persisted using a Docker volume named archiver-data. This is suitable for most use cases.

    If you want to use S3-compatible object storage, change the STORAGE_TYPE to s3 and fill in your S3 credentials (STORAGE_S3_* variables).

    Using External Services

    For convenience, the docker-compose.yml file includes services for PostgreSQL, Valkey (Redis), and Meilisearch. However, you can use your own external or managed instances for these services.

    To do so:

    1. Update your .env file: Change the host, port, and credential variables to point to your external service instances. For example, you would update DATABASE_URL, REDIS_HOST, and MEILI_HOST.
    2. Modify docker-compose.yml: Remove or comment out the service definitions for postgres, valkey, and meilisearch from your docker-compose.yml file.

    This will configure the Open Archiver application to connect to your services instead of starting the default ones.

    Environment Variable Reference

    Here is a complete list of environment variables available for configuration:

    Application Settings

    VariableDescriptionDefault Value
    NODE_ENVThe application environment.development
    PORT_BACKENDThe port for the backend service.4000
    PORT_FRONTENDThe port for the frontend service.3000

    Docker Compose Service Configuration

    These variables are used by docker-compose.yml to configure the services.

    VariableDescriptionDefault Value
    POSTGRES_DBThe name of the PostgreSQL database.open_archive
    POSTGRES_USERThe username for the PostgreSQL database.admin
    POSTGRES_PASSWORDThe password for the PostgreSQL database.password
    DATABASE_URLThe connection URL for the PostgreSQL database.postgresql://admin:password@postgres:5432/open_archive
    MEILI_MASTER_KEYThe master key for Meilisearch.aSampleMasterKey
    MEILI_HOSTThe host for the Meilisearch service.http://meilisearch:7700
    REDIS_HOSTThe host for the Valkey (Redis) service.valkey
    REDIS_PORTThe port for the Valkey (Redis) service.6379
    REDIS_PASSWORDThe password for the Valkey (Redis) service.defaultredispassword
    REDIS_TLS_ENABLEDEnable or disable TLS for Redis.false

    Storage Settings

    VariableDescriptionDefault Value
    STORAGE_TYPEThe storage backend to use (local or s3).local
    STORAGE_LOCAL_ROOT_PATHThe root path for local file storage./var/data/open-archiver
    STORAGE_S3_ENDPOINTThe endpoint for S3-compatible storage.
    STORAGE_S3_BUCKETThe bucket name for S3-compatible storage.
    STORAGE_S3_ACCESS_KEY_IDThe access key ID for S3-compatible storage.
    STORAGE_S3_SECRET_ACCESS_KEYThe secret access key for S3-compatible storage.
    STORAGE_S3_REGIONThe region for S3-compatible storage.
    STORAGE_S3_FORCE_PATH_STYLEForce path-style addressing for S3.false

    Security & Authentication

    VariableDescriptionDefault Value
    JWT_SECRETA secret key for signing JWT tokens.a-very-secret-key-that-you-should-change
    JWT_EXPIRES_INThe expiration time for JWT tokens.7d
    ADMIN_EMAILThe email for the initial admin user.admin@local.com
    ADMIN_PASSWORDThe password for the initial admin user.a_strong_password_that_you_should_change
    SUPER_API_KEYAn API key with super admin privileges.
    ENCRYPTION_KEYA 32-byte hex string for encrypting sensitive data.

    3. Run the Application

    Once you have configured your .env file, you can start all the services using Docker Compose:

    bash
    docker compose up -d

    This command will:

    • Pull the required Docker images for the frontend, backend, database, and other services.
    • Create and start the containers in the background (-d flag).
    • Create the persistent volumes for your data.

    You can check the status of the running containers with:

    bash
    docker compose ps

    4. Access the Application

    Once the services are running, you can access the Open Archiver web interface by navigating to http://localhost:3000 in your web browser.

    You can log in with the ADMIN_EMAIL and ADMIN_PASSWORD you configured in your .env file.

    5. Next Steps

    After successfully deploying and logging into Open Archiver, the next step is to configure your ingestion sources to start archiving emails.

    Updating Your Installation

    To update your Open Archiver instance to the latest version, run the following commands:

    bash
    # Pull the latest changes from the repository
    +cd OpenArchiver

    2. Configure Your Environment

    The application is configured using environment variables. You'll need to create a .env file to store your configuration.

    Copy the example environment file for Docker:

    bash
    cp .env.example.docker .env

    Now, open the .env file in a text editor and customize the settings.

    Important Configuration

    You must change the following placeholder values to secure your instance:

    • POSTGRES_PASSWORD: A strong, unique password for the database.
    • REDIS_PASSWORD: A strong, unique password for the Valkey/Redis service.
    • MEILI_MASTER_KEY: A complex key for Meilisearch.
    • JWT_SECRET: A long, random string for signing authentication tokens.
    • ADMIN_PASSWORD: A strong password for the initial admin user.
    • ENCRYPTION_KEY: A 32-byte hex string for encrypting sensitive data in the database. You can generate one with the following command:
      bash
      openssl rand -hex 32

    Storage Configuration

    By default, the Docker Compose setup uses local filesystem storage, which is persisted using a Docker volume named archiver-data. This is suitable for most use cases.

    If you want to use S3-compatible object storage, change the STORAGE_TYPE to s3 and fill in your S3 credentials (STORAGE_S3_* variables). When STORAGE_TYPE is set to local, the S3-related variables are not required.

    Using External Services

    For convenience, the docker-compose.yml file includes services for PostgreSQL, Valkey (Redis), and Meilisearch. However, you can use your own external or managed instances for these services.

    To do so:

    1. Update your .env file: Change the host, port, and credential variables to point to your external service instances. For example, you would update DATABASE_URL, REDIS_HOST, and MEILI_HOST.
    2. Modify docker-compose.yml: Remove or comment out the service definitions for postgres, valkey, and meilisearch from your docker-compose.yml file.

    This will configure the Open Archiver application to connect to your services instead of starting the default ones.

    Environment Variable Reference

    Here is a complete list of environment variables available for configuration:

    Application Settings

    VariableDescriptionDefault Value
    NODE_ENVThe application environment.development
    PORT_BACKENDThe port for the backend service.4000
    PORT_FRONTENDThe port for the frontend service.3000

    Docker Compose Service Configuration

    These variables are used by docker-compose.yml to configure the services.

    VariableDescriptionDefault Value
    POSTGRES_DBThe name of the PostgreSQL database.open_archive
    POSTGRES_USERThe username for the PostgreSQL database.admin
    POSTGRES_PASSWORDThe password for the PostgreSQL database.password
    DATABASE_URLThe connection URL for the PostgreSQL database.postgresql://admin:password@postgres:5432/open_archive
    MEILI_MASTER_KEYThe master key for Meilisearch.aSampleMasterKey
    MEILI_HOSTThe host for the Meilisearch service.http://meilisearch:7700
    REDIS_HOSTThe host for the Valkey (Redis) service.valkey
    REDIS_PORTThe port for the Valkey (Redis) service.6379
    REDIS_PASSWORDThe password for the Valkey (Redis) service.defaultredispassword
    REDIS_TLS_ENABLEDEnable or disable TLS for Redis.false

    Storage Settings

    VariableDescriptionDefault Value
    STORAGE_TYPEThe storage backend to use (local or s3).local
    STORAGE_LOCAL_ROOT_PATHThe root path for local file storage./var/data/open-archiver
    STORAGE_S3_ENDPOINTThe endpoint for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_BUCKETThe bucket name for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_ACCESS_KEY_IDThe access key ID for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_SECRET_ACCESS_KEYThe secret access key for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_REGIONThe region for S3-compatible storage (required if STORAGE_TYPE is s3).
    STORAGE_S3_FORCE_PATH_STYLEForce path-style addressing for S3 (optional).false

    Security & Authentication

    VariableDescriptionDefault Value
    JWT_SECRETA secret key for signing JWT tokens.a-very-secret-key-that-you-should-change
    JWT_EXPIRES_INThe expiration time for JWT tokens.7d
    ADMIN_EMAILThe email for the initial admin user.admin@local.com
    ADMIN_PASSWORDThe password for the initial admin user.a_strong_password_that_you_should_change
    SUPER_API_KEYAn API key with super admin privileges.
    ENCRYPTION_KEYA 32-byte hex string for encrypting sensitive data.

    3. Run the Application

    Once you have configured your .env file, you can start all the services using Docker Compose:

    bash
    docker compose up -d

    This command will:

    • Pull the required Docker images for the frontend, backend, database, and other services.
    • Create and start the containers in the background (-d flag).
    • Create the persistent volumes for your data.

    You can check the status of the running containers with:

    bash
    docker compose ps

    4. Access the Application

    Once the services are running, you can access the Open Archiver web interface by navigating to http://localhost:3000 in your web browser.

    You can log in with the ADMIN_EMAIL and ADMIN_PASSWORD you configured in your .env file.

    5. Next Steps

    After successfully deploying and logging into Open Archiver, the next step is to configure your ingestion sources to start archiving emails.

    Updating Your Installation

    To update your Open Archiver instance to the latest version, run the following commands:

    bash
    # Pull the latest changes from the repository
     git pull
     
     # Pull the latest Docker images
    @@ -27,7 +27,7 @@
     
     # Restart the services with the new images
     docker compose up -d
    - + \ No newline at end of file