From db9f4f6ffe140de9c9549343b9a26501e41c2646 Mon Sep 17 00:00:00 2001 From: danthelion Date: Tue, 3 Sep 2024 22:05:23 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20estuary/?= =?UTF-8?q?flow@08a92135b81334b72c41a03d5ec4ee5a167bb7db=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 +- assets/js/08b3569b.3e639464.js | 1 + assets/js/08b3569b.6e8483ae.js | 1 - assets/js/21c431cc.eb1ea4c7.js | 1 + assets/js/22dd74f7.2f85abd6.js | 1 + assets/js/22dd74f7.9ce2d5d8.js | 1 - assets/js/68a929a9.1f5e731e.js | 1 + assets/js/68a929a9.209c1beb.js | 1 - assets/js/fb65bbae.91189550.js | 1 + assets/js/fb65bbae.fb6a4063.js | 1 - assets/js/main.11f4ed83.js | 2 - assets/js/main.fd2781b5.js | 2 + ...CENSE.txt => main.fd2781b5.js.LICENSE.txt} | 0 assets/js/runtime~main.0f017108.js | 1 - assets/js/runtime~main.b8129a7d.js | 1 + concepts/advanced/evolutions/index.html | 4 +- concepts/advanced/journals/index.html | 4 +- concepts/advanced/logs-stats/index.html | 4 +- concepts/advanced/projections/index.html | 4 +- concepts/advanced/shards/index.html | 4 +- concepts/captures/index.html | 4 +- concepts/catalogs/index.html | 4 +- concepts/collections/index.html | 4 +- concepts/connectors/index.html | 4 +- concepts/derivations/index.html | 4 +- concepts/flowctl/index.html | 4 +- concepts/import/index.html | 4 +- concepts/index.html | 4 +- concepts/materialization/index.html | 4 +- concepts/schemas/index.html | 4 +- concepts/storage-mappings/index.html | 4 +- concepts/tests/index.html | 4 +- concepts/web-app/index.html | 4 +- example-markdown/index.html | 4 +- example/index.html | 4 +- getting-started/installation/index.html | 4 +- .../continuous-materialized-view/index.html | 4 +- .../dataflow-s3-snowflake/index.html | 4 +- .../tutorials/derivations_acmebank/index.html | 4 +- getting-started/tutorials/index.html | 4 +- .../postgresql_cdc_to_snowflake/index.html | 4 +- .../real_time_cdc_with_mongodb/index.html | 4 +- guides/connect-network/index.html | 4 +- guides/create-dataflow/index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- guides/derivation_tutorial_sql/index.html | 4 +- guides/edit-data-flows/index.html | 4 +- guides/flowctl/create-derivation/index.html | 4 +- .../flowctl/edit-draft-from-webapp/index.html | 4 +- .../edit-specification-locally/index.html | 4 +- guides/flowctl/index.html | 4 +- guides/flowctl/troubleshoot-task/index.html | 4 +- .../index.html | 4 +- guides/index.html | 4 +- guides/schema-evolution/index.html | 4 +- .../firestore-to-dwh/index.html | 4 +- guides/system-specific-dataflows/index.html | 4 +- .../s3-to-snowflake/index.html | 4 +- .../index.html | 4 +- index.html | 4 +- lunr-index-1725399041702.json | 1 - lunr-index-1725401028192.json | 1 + lunr-index.json | 2 +- overview/comparisons/index.html | 4 +- overview/who-should-use-flow/index.html | 4 +- reference/Configuring-task-shards/index.html | 4 +- .../MariaDB/amazon-rds-mariadb/index.html | 4 +- .../capture-connectors/MariaDB/index.html | 4 +- .../MySQL/amazon-rds-mysql/index.html | 4 +- .../MySQL/google-cloud-sql-mysql/index.html | 4 +- .../capture-connectors/MySQL/index.html | 4 +- .../MySQL/mysql-batch/index.html | 4 +- .../OracleDB/flashback/index.html | 4 +- .../capture-connectors/OracleDB/index.html | 4 +- .../PostgreSQL/Supabase/index.html | 4 +- .../PostgreSQL/amazon-rds-postgres/index.html | 4 +- .../google-cloud-sql-postgres/index.html | 4 +- .../capture-connectors/PostgreSQL/index.html | 4 +- .../PostgreSQL/neon-postgres/index.html | 4 +- .../PostgreSQL/postgres-batch/index.html | 4 +- .../SQLServer/amazon-rds-sqlserver/index.html | 4 +- .../google-cloud-sql-sqlserver/index.html | 4 +- .../capture-connectors/SQLServer/index.html | 4 +- .../capture-connectors/Salesforce/index.html | 4 +- .../salesforce-historical-data/index.html | 4 +- .../salesforce-real-time/index.html | 4 +- .../capture-connectors/aircall/index.html | 4 +- .../capture-connectors/airtable/index.html | 4 +- .../capture-connectors/alloydb/index.html | 4 +- .../capture-connectors/alpaca/index.html | 4 +- .../capture-connectors/amazon-ads/index.html | 4 +- .../amazon-dynamodb/index.html | 4 +- .../amazon-kinesis/index.html | 4 +- .../amazon-redshift/index.html | 4 +- .../capture-connectors/amazon-s3/index.html | 4 +- .../capture-connectors/amazon-sqs/index.html | 4 +- .../capture-connectors/amplitude/index.html | 4 +- .../apache-kafka/index.html | 4 +- .../azure-blob-storage/index.html | 4 +- .../bigquery-batch/index.html | 4 +- .../capture-connectors/bing-ads/index.html | 4 +- .../capture-connectors/braintree/index.html | 4 +- .../capture-connectors/braze/index.html | 4 +- .../capture-connectors/chargebee/index.html | 4 +- .../capture-connectors/confluence/index.html | 4 +- .../datadog-ingest/index.html | 4 +- .../capture-connectors/dropbox/index.html | 4 +- .../exchange-rates/index.html | 4 +- .../facebook-marketing/index.html | 4 +- .../capture-connectors/freshdesk/index.html | 4 +- .../capture-connectors/gcs/index.html | 4 +- .../capture-connectors/github/index.html | 4 +- .../capture-connectors/gitlab/index.html | 4 +- .../capture-connectors/gladly/index.html | 4 +- .../capture-connectors/google-ads/index.html | 4 +- .../google-analytics-4/index.html | 4 +- .../google-analytics/index.html | 4 +- .../google-drive/index.html | 4 +- .../google-firestore/index.html | 4 +- .../google-pubsub/index.html | 4 +- .../google-search-console/index.html | 4 +- .../google-sheets/index.html | 4 +- .../capture-connectors/greenhouse/index.html | 4 +- .../capture-connectors/harvest/index.html | 4 +- .../capture-connectors/http-file/index.html | 4 +- .../capture-connectors/http-ingest/index.html | 4 +- .../hubspot-real-time/index.html | 4 +- .../capture-connectors/hubspot/index.html | 4 +- .../Connectors/capture-connectors/index.html | 4 +- .../capture-connectors/instagram/index.html | 4 +- .../intercom-ingest/index.html | 4 +- .../capture-connectors/intercom/index.html | 4 +- .../capture-connectors/iterable/index.html | 4 +- .../capture-connectors/jira-ingest/index.html | 4 +- .../capture-connectors/jira/index.html | 4 +- .../capture-connectors/klaviyo/index.html | 4 +- .../linkedin-ads/index.html | 4 +- .../linkedin-pages/index.html | 4 +- .../capture-connectors/mailchimp/index.html | 4 +- .../capture-connectors/marketo/index.html | 4 +- .../capture-connectors/mixpanel/index.html | 4 +- .../capture-connectors/mongodb/index.html | 4 +- .../netsuite-suiteanalytics/index.html | 4 +- .../netsuite-suitetalk/index.html | 4 +- .../capture-connectors/notion/index.html | 4 +- .../paypal-transaction/index.html | 4 +- .../capture-connectors/pendo/index.html | 4 +- .../capture-connectors/pinterest/index.html | 4 +- .../capture-connectors/recharge/index.html | 4 +- .../capture-connectors/sendgrid/index.html | 4 +- .../capture-connectors/sentry/index.html | 4 +- .../capture-connectors/sftp/index.html | 4 +- .../capture-connectors/slack/index.html | 4 +- .../capture-connectors/snapchat/index.html | 4 +- .../capture-connectors/snowflake/index.html | 4 +- .../capture-connectors/stripe/index.html | 4 +- .../survey-monkey/index.html | 4 +- .../capture-connectors/tiktok/index.html | 4 +- .../capture-connectors/twilio/index.html | 4 +- .../capture-connectors/woocommerce/index.html | 4 +- .../youtube-analytics/index.html | 4 +- .../zendesk-chat/index.html | 4 +- .../zendesk-support/index.html | 4 +- .../dekaf/dekaf-materialize/index.html | 56 +++++++++++++++++++ .../dekaf/dekaf-startree/index.html | 8 +-- .../dekaf/dekaf-tinybird/index.html | 8 +-- reference/Connectors/dekaf/index.html | 9 +-- reference/Connectors/index.html | 4 +- .../BigQuery/index.html | 4 +- .../Elasticsearch/index.html | 4 +- .../Firebolt/index.html | 4 +- .../Google-sheets/index.html | 4 +- .../MySQL/amazon-rds-mysql/index.html | 4 +- .../MySQL/google-cloud-sql-mysql/index.html | 4 +- .../MySQL/index.html | 4 +- .../PostgreSQL/amazon-rds-postgres/index.html | 4 +- .../google-cloud-sql-postgres/index.html | 4 +- .../PostgreSQL/index.html | 4 +- .../Rockset/index.html | 4 +- .../SQLServer/amazon-rds-sqlserver/index.html | 4 +- .../google-cloud-sql-sqlserver/index.html | 4 +- .../SQLServer/index.html | 4 +- .../SQLite/index.html | 4 +- .../Snowflake/index.html | 4 +- .../alloydb/index.html | 4 +- .../amazon-dynamodb/index.html | 4 +- .../amazon-redshift/index.html | 4 +- .../amazon-s3-csv/index.html | 4 +- .../amazon-s3-iceberg/index.html | 4 +- .../amazon-s3-parquet/index.html | 4 +- .../databricks/index.html | 4 +- .../google-gcs-csv/index.html | 4 +- .../google-gcs-parquet/index.html | 4 +- .../google-pubsub/index.html | 4 +- .../http-webhook/index.html | 4 +- .../materialization-connectors/index.html | 4 +- .../mongodb/index.html | 4 +- .../motherduck/index.html | 4 +- .../mysql-heatwave/index.html | 4 +- .../pinecone/index.html | 4 +- .../slack/index.html | 4 +- .../starburst/index.html | 4 +- .../timescaledb/index.html | 4 +- .../materialization-protocol/index.html | 4 +- reference/allow-ip-addresses/index.html | 4 +- reference/authentication/index.html | 4 +- reference/editing/index.html | 4 +- .../materialization-sync-schedule/index.html | 4 +- reference/notifications/index.html | 4 +- reference/organizing-catalogs/index.html | 4 +- .../reduction-strategies/append/index.html | 4 +- .../composing-with-conditionals/index.html | 4 +- .../index.html | 4 +- reference/reduction-strategies/index.html | 4 +- .../reduction-strategies/merge/index.html | 4 +- .../minimize-and-maximize/index.html | 4 +- reference/reduction-strategies/set/index.html | 4 +- reference/reduction-strategies/sum/index.html | 4 +- reference/time-travel/index.html | 4 +- reference/working-logs-stats/index.html | 4 +- search-doc-1725399041702.json | 1 - search-doc-1725401028192.json | 1 + search-doc.json | 2 +- sitemap.xml | 2 +- 225 files changed, 482 insertions(+), 424 deletions(-) create mode 100644 assets/js/08b3569b.3e639464.js delete mode 100644 assets/js/08b3569b.6e8483ae.js create mode 100644 assets/js/21c431cc.eb1ea4c7.js create mode 100644 assets/js/22dd74f7.2f85abd6.js delete mode 100644 assets/js/22dd74f7.9ce2d5d8.js create mode 100644 assets/js/68a929a9.1f5e731e.js delete mode 100644 assets/js/68a929a9.209c1beb.js create mode 100644 assets/js/fb65bbae.91189550.js delete mode 100644 assets/js/fb65bbae.fb6a4063.js delete mode 100644 assets/js/main.11f4ed83.js create mode 100644 assets/js/main.fd2781b5.js rename assets/js/{main.11f4ed83.js.LICENSE.txt => main.fd2781b5.js.LICENSE.txt} (100%) delete mode 100644 assets/js/runtime~main.0f017108.js create mode 100644 assets/js/runtime~main.b8129a7d.js delete mode 100644 lunr-index-1725399041702.json create mode 100644 lunr-index-1725401028192.json create mode 100644 reference/Connectors/dekaf/dekaf-materialize/index.html delete mode 100644 search-doc-1725399041702.json create mode 100644 search-doc-1725401028192.json diff --git a/404.html b/404.html index 516ca40a64..41f7036df6 100644 --- a/404.html +++ b/404.html @@ -6,8 +6,8 @@ Estuary Flow Documentation - - + + diff --git a/assets/js/08b3569b.3e639464.js b/assets/js/08b3569b.3e639464.js new file mode 100644 index 0000000000..15a0dd6919 --- /dev/null +++ b/assets/js/08b3569b.3e639464.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[7746],{60961:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var r=t(74848),s=t(28453);const i={},o="Tinybird",a={id:"reference/Connectors/dekaf/dekaf-tinybird",title:"Tinybird",description:"In this guide, you'll learn how to use Estuary Flow to push data streams to Tinybird.",source:"@site/docs/reference/Connectors/dekaf/dekaf-tinybird.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/dekaf-tinybird",permalink:"/reference/Connectors/dekaf/dekaf-tinybird",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/dekaf-tinybird.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"StarTree",permalink:"/reference/Connectors/dekaf/dekaf-startree"},next:{title:"Materialization connectors",permalink:"/reference/Connectors/materialization-connectors/"}},c={},d=[{value:"Prerequisites",id:"prerequisites",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"tinybird",children:"Tinybird"}),"\n",(0,r.jsx)(n.p,{children:"In this guide, you'll learn how to use Estuary Flow to push data streams to Tinybird."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://www.tinybird.co/",children:"Tinybird"})," is a data platform for user-facing analytics."]}),"\n",(0,r.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"An Estuary Flow account & collection"}),"\n",(0,r.jsx)(n.li,{children:"A Tinybird account & Workspace"}),"\n"]}),"\n",(0,r.jsx)(n.h1,{id:"connecting-estuary-flow-to-tinybird",children:"Connecting Estuary Flow to Tinybird"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Create a new access token to use for the Tinybird connection. You can do this from the Estuary Admin Dashboard.\n",(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Group_22_95a85083d4/Group_22_95a85083d4.png",alt:"Export Dekaf Access Token"})]}),"\n",(0,r.jsxs)(n.li,{children:["In your Tinybird Workspace, create a new Data Source and use the Kafka Connector.\n",(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Screenshot_2024_08_23_at_15_16_39_35b06dad77/Screenshot_2024_08_23_at_15_16_39_35b06dad77.png",alt:"Configure Estuary Flow Data Source"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"To configure the connection details, use the following settings."}),"\n",(0,r.jsxs)(n.p,{children:["Bootstrap servers: ",(0,r.jsx)(n.code,{children:"dekaf.estuary.dev"}),"\nSASL Mechanism: ",(0,r.jsx)(n.code,{children:"PLAIN"}),"\nSASL Username: ",(0,r.jsx)(n.code,{children:"{}"}),"\nSASL Password: ",(0,r.jsx)(n.code,{children:"Estuary Refresh Token"})," (Generate your token in the Estuary Admin Dashboard)"]}),"\n",(0,r.jsx)(n.p,{children:"Tick the Decode Avro messages with Schema Register box, and use the following settings:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["URL: ",(0,r.jsx)(n.code,{children:"https://dekaf.estuary.dev"})]}),"\n",(0,r.jsxs)(n.li,{children:["Username: ",(0,r.jsx)(n.code,{children:"{}"})]}),"\n",(0,r.jsxs)(n.li,{children:["Password: ",(0,r.jsx)(n.code,{children:"The same Estuary Refresh Token as above"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Screenshot_2024_08_23_at_15_16_46_374f7f8a12/Screenshot_2024_08_23_at_15_16_46_374f7f8a12.png",alt:"Configure Estuary Flow Schema Registry"})}),"\n",(0,r.jsx)(n.p,{children:"Click Next and you will see a list of topics. These topics are the collections you have in Estuary.\nSelect the collection you want to ingest into Tinybird, and click Next."}),"\n",(0,r.jsx)(n.p,{children:"Configure your consumer group as needed."}),"\n",(0,r.jsx)(n.p,{children:"Finally, you will see a preview of the Data Source schema. Feel free to make any modifications as required, then click\nCreate Data Source."}),"\n",(0,r.jsx)(n.p,{children:"This will complete the connection with Tinybird, and new data from the Estuary Flow collection will arrive in your\nTinybird Data Source in real-time."})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var r=t(96540);const s={},i=r.createContext(s);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/08b3569b.6e8483ae.js b/assets/js/08b3569b.6e8483ae.js deleted file mode 100644 index e1264ff601..0000000000 --- a/assets/js/08b3569b.6e8483ae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[7746],{60961:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var r=t(74848),s=t(28453);const i={},o="Tinybird",a={id:"reference/Connectors/dekaf/dekaf-tinybird",title:"Tinybird",description:"In this guide, you'll learn how to use Estuary Flow to push data streams to Tinybird.",source:"@site/docs/reference/Connectors/dekaf/dekaf-tinybird.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/dekaf-tinybird",permalink:"/reference/Connectors/dekaf/dekaf-tinybird",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/dekaf-tinybird.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"StarTree",permalink:"/reference/Connectors/dekaf/dekaf-startree"},next:{title:"Materialization connectors",permalink:"/reference/Connectors/materialization-connectors/"}},c={},d=[{value:"Prerequisites",id:"prerequisites",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"tinybird",children:"Tinybird"}),"\n",(0,r.jsx)(n.p,{children:"In this guide, you'll learn how to use Estuary Flow to push data streams to Tinybird."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://www.tinybird.co/",children:"Tinybird"})," is a data platform for user-facing analytics."]}),"\n",(0,r.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"An Estuary account & collection"}),"\n",(0,r.jsx)(n.li,{children:"A Tinybird account & Workspace"}),"\n"]}),"\n",(0,r.jsx)(n.h1,{id:"connecting-estuary-flow-to-tinybird",children:"Connecting Estuary Flow to Tinybird"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Create a new access token to use for the Tinybird connection. You can do this from the Estuary Admin Dashboard.\n",(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Group_22_95a85083d4/Group_22_95a85083d4.png",alt:"Export Dekaf Access Token"})]}),"\n",(0,r.jsxs)(n.li,{children:["In your Tinybird Workspace, create a new Data Source and use the Kafka Connector.\n",(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Screenshot_2024_08_23_at_15_16_39_35b06dad77/Screenshot_2024_08_23_at_15_16_39_35b06dad77.png",alt:"Configure Estuary Flow Data Source"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"To configure the connection details, use the following settings."}),"\n",(0,r.jsxs)(n.p,{children:["Bootstrap servers: ",(0,r.jsx)(n.code,{children:"dekaf.estuary.dev"}),"\nSASL Mechanism: ",(0,r.jsx)(n.code,{children:"PLAIN"}),"\nSASL Username: ",(0,r.jsx)(n.code,{children:"{}"}),"\nSASL Password: ",(0,r.jsx)(n.code,{children:"Estuary Refresh Token"})," (Generate your token in the Estuary Admin Dashboard)"]}),"\n",(0,r.jsx)(n.p,{children:"Tick the Decode Avro messages with Schema Register box, and use the following settings:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["URL: ",(0,r.jsx)(n.code,{children:"https://dekaf.estuary.dev"})]}),"\n",(0,r.jsxs)(n.li,{children:["Username: ",(0,r.jsx)(n.code,{children:"{}"})]}),"\n",(0,r.jsxs)(n.li,{children:["Password: ",(0,r.jsx)(n.code,{children:"The same Estuary Refresh Token as above"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Screenshot_2024_08_23_at_15_16_46_374f7f8a12/Screenshot_2024_08_23_at_15_16_46_374f7f8a12.png",alt:"Configure Estuary Flow Schema Registry"})}),"\n",(0,r.jsx)(n.p,{children:"Click Next and you will see a list of topics. These topics are the collections you have in Estuary.\nSelect the collection you want to ingest into Tinybird, and click Next."}),"\n",(0,r.jsx)(n.p,{children:"Configure your consumer group as needed."}),"\n",(0,r.jsx)(n.p,{children:"Finally, you will see a preview of the Data Source schema. Feel free to make any modifications as required, then click\nCreate Data Source."}),"\n",(0,r.jsx)(n.p,{children:"This will complete the connection with Tinybird, and new data from the Estuary Flow collection will arrive in your\nTinybird Data Source in real-time."})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var r=t(96540);const s={},i=r.createContext(s);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/21c431cc.eb1ea4c7.js b/assets/js/21c431cc.eb1ea4c7.js new file mode 100644 index 0000000000..186987ea57 --- /dev/null +++ b/assets/js/21c431cc.eb1ea4c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[3011],{57607:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=t(74848),a=t(28453);const i={},o="Materialize",s={id:"reference/Connectors/dekaf/dekaf-materialize",title:"Materialize",description:"In this guide, you'll learn how to use Materialize to ingest data from Estuary Flow.",source:"@site/docs/reference/Connectors/dekaf/dekaf-materialize.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/dekaf-materialize",permalink:"/reference/Connectors/dekaf/dekaf-materialize",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/dekaf-materialize.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Dekaf integrations",permalink:"/reference/Connectors/dekaf/"},next:{title:"StarTree",permalink:"/reference/Connectors/dekaf/dekaf-startree"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Connecting Estuary Flow to Materialize",id:"connecting-estuary-flow-to-materialize",level:2},{value:"Creating Real-Time Views",id:"creating-real-time-views",level:2},{value:"Final Steps",id:"final-steps",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"materialize",children:"Materialize"}),"\n",(0,r.jsx)(n.p,{children:"In this guide, you'll learn how to use Materialize to ingest data from Estuary Flow."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://materialize.com/",children:"Materialize"})," is an operational data warehouse for real-time analytics that uses standard SQL\nfor defining transformations and queries."]}),"\n",(0,r.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["An ",(0,r.jsx)(n.a,{href:"https://dashboard.estuary.dev/register",children:"Estuary Flow"})," account & collection"]}),"\n",(0,r.jsx)(n.li,{children:"A Materialize account"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"connecting-estuary-flow-to-materialize",children:"Connecting Estuary Flow to Materialize"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Create a new access token"})," to use for the Materialize connection. You can generate this token from the Estuary\nAdmin Dashboard."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Group_22_95a85083d4/Group_22_95a85083d4.png",alt:"Export Dekaf Access Token"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"In your Materialize dashboard, use the SQL shell to create a new secret and connection using the Kafka source\nconnector. Use the following SQL commands to configure the connection to Estuary Flow:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sql",children:"CREATE\nSECRET estuary_refresh_token AS\n 'your_generated_token_here';\n\nCREATE\nCONNECTION estuary_connection TO KAFKA (\n BROKER 'dekaf.estuary.dev',\n SECURITY PROTOCOL = 'SASL_SSL',\n SASL MECHANISMS = 'PLAIN',\n SASL USERNAME = '{}',\n SASL PASSWORD = SECRET estuary_refresh_token\n);\n\nCREATE\nCONNECTION csr_estuary_connection TO CONFLUENT SCHEMA REGISTRY (\n URL 'https://dekaf.estuary.dev',\n USERNAME = '{}',\n PASSWORD = SECRET estuary_refresh_token\n);\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Create a source in Materialize"})," to read from the Kafka topic. Use the following SQL command,\nreplacing ",(0,r.jsx)(n.code,{children:""})," with the name of your collection in Estuary Flow:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sql",children:"CREATE SOURCE materialize_source\nFROM KAFKA CONNECTION estuary_connection (TOPIC '')\nFORMAT AVRO USING CONFLUENT SCHEMA REGISTRY CONNECTION csr_estuary_connection\nENVELOPE UPSERT;\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"creating-real-time-views",children:"Creating Real-Time Views"}),"\n",(0,r.jsx)(n.p,{children:"To begin analyzing the data, create a real-time view using SQL in Materialize. Here is an example query to create a\nmaterialized view that tracks data changes:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sql",children:"CREATE MATERIALIZED VIEW my_view AS\nSELECT *\nFROM materialize_source;\n"})}),"\n",(0,r.jsx)(n.h2,{id:"final-steps",children:"Final Steps"}),"\n",(0,r.jsx)(n.p,{children:"After configuring your source and creating the necessary views, the connection with Materialize is complete. New data\nfrom your Estuary Flow collection will now arrive in your Materialize source in real-time, enabling you to perform\nreal-time analytics on live data streams."}),"\n",(0,r.jsxs)(n.p,{children:["For more detailed information on creating materialized views and other advanced configurations, refer to\nthe ",(0,r.jsx)(n.a,{href:"https://materialize.com/docs/",children:"Materialize documentation"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"By following these steps, you can leverage the full potential of Estuary Flow and Materialize for real-time data\nprocessing and analytics."})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>s});var r=t(96540);const a={},i=r.createContext(a);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.2f85abd6.js b/assets/js/22dd74f7.2f85abd6.js new file mode 100644 index 0000000000..46f564b5b2 --- /dev/null +++ b/assets/js/22dd74f7.2f85abd6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Overview","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Who should use Flow?","href":"/overview/who-should-use-flow","docId":"overview/who-should-use-flow","unlisted":false},{"type":"link","label":"Comparisons","href":"/overview/comparisons","docId":"overview/comparisons","unlisted":false}],"href":"/"},{"type":"category","label":"Get started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Registration and setup","href":"/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"PostgreSQL CDC streaming to Snowflake","href":"/getting-started/tutorials/postgresql_cdc_to_snowflake","docId":"getting-started/tutorials/postgresql_cdc_to_snowflake","unlisted":false},{"type":"link","label":"Real-time CDC with MongoDB","href":"/getting-started/tutorials/real_time_cdc_with_mongodb","docId":"getting-started/tutorials/real_time_cdc_with_mongodb","unlisted":false},{"type":"link","label":"Create your first dataflow with Amazon S3 and Snowflake","href":"/getting-started/tutorials/dataflow-s3-snowflake","docId":"getting-started/tutorials/dataflow-s3-snowflake","unlisted":false},{"type":"link","label":"Create a real-time materialized view in PostgreSQL","href":"/getting-started/tutorials/continuous-materialized-view","docId":"getting-started/tutorials/continuous-materialized-view","unlisted":false},{"type":"link","label":"Implementing Derivations for AcmeBank","href":"/getting-started/tutorials/derivations_acmebank","docId":"getting-started/tutorials/derivations_acmebank","unlisted":false}],"href":"/getting-started/tutorials/"}]},{"type":"category","label":"User guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a basic Data Flow","href":"/guides/create-dataflow","docId":"guides/create-dataflow","unlisted":false},{"type":"category","label":"Create a Data Flow for specific systems","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Google Cloud Firestore to Snowflake","href":"/guides/system-specific-dataflows/firestore-to-dwh","docId":"guides/system-specific-dataflows/firestore-to-dwh","unlisted":false},{"type":"link","label":"Amazon S3 to Snowflake","href":"/guides/system-specific-dataflows/s3-to-snowflake","docId":"guides/system-specific-dataflows/s3-to-snowflake","unlisted":false}],"href":"/guides/system-specific-dataflows/"},{"type":"link","label":"Edit Data Flows in the web app","href":"/guides/edit-data-flows","docId":"guides/edit-data-flows","unlisted":false},{"type":"category","label":"Use flowctl","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Edit a Flow specification locally","href":"/guides/flowctl/edit-specification-locally","docId":"guides/flowctl/edit-specification-locally","unlisted":false},{"type":"link","label":"Edit a draft created in the web app","href":"/guides/flowctl/edit-draft-from-webapp","docId":"guides/flowctl/edit-draft-from-webapp","unlisted":false},{"type":"link","label":"Create a derivation with flowctl","href":"/guides/flowctl/create-derivation","docId":"guides/flowctl/create-derivation","unlisted":false},{"type":"link","label":"Troubleshoot a task with flowctl","href":"/guides/flowctl/troubleshoot-task","docId":"guides/flowctl/troubleshoot-task","unlisted":false}],"href":"/guides/flowctl/"},{"type":"link","label":"Configure connections with SSH tunneling","href":"/guides/connect-network","docId":"guides/connect-network","unlisted":false},{"type":"link","label":"Customize materialized fields","href":"/guides/customize-materialization-fields","docId":"guides/customize-materialization-fields","unlisted":false},{"type":"link","label":"Connecting to Estuary Flow from Kafka using Dekaf","href":"/guides/dekaf_reading_collections_from_kafka","docId":"guides/dekaf_reading_collections_from_kafka","unlisted":false},{"type":"link","label":"How to transform data using SQL","href":"/guides/derivation_tutorial_sql","docId":"guides/derivation_tutorial_sql","unlisted":false},{"type":"link","label":"How to join two collections (TypeScript)","href":"/guides/howto_join_two_collections_typescript","docId":"guides/howto_join_two_collections_typescript","unlisted":false},{"type":"link","label":"Schema evolution","href":"/guides/schema-evolution","docId":"guides/schema-evolution","unlisted":false},{"type":"link","label":"How to transform data using TypeScript","href":"/guides/transform_data_using_typescript","docId":"guides/transform_data_using_typescript","unlisted":false}],"href":"/guides/"},{"type":"category","label":"Concepts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Catalog","href":"/concepts/catalogs","docId":"concepts/catalogs","unlisted":false},{"type":"link","label":"Captures","href":"/concepts/captures","docId":"concepts/captures","unlisted":false},{"type":"link","label":"Collections","href":"/concepts/collections","docId":"concepts/collections","unlisted":false},{"type":"link","label":"Materializations","href":"/concepts/materialization","docId":"concepts/materialization","unlisted":false},{"type":"link","label":"Connectors","href":"/concepts/connectors","docId":"concepts/connectors","unlisted":false},{"type":"link","label":"Derivations","href":"/concepts/derivations","docId":"concepts/derivations","unlisted":false},{"type":"link","label":"Web application","href":"/concepts/web-app","docId":"concepts/web-app","unlisted":false},{"type":"link","label":"flowctl","href":"/concepts/flowctl","docId":"concepts/flowctl","unlisted":false},{"type":"link","label":"Imports","href":"/concepts/import","docId":"concepts/import","unlisted":false},{"type":"link","label":"Schemas","href":"/concepts/schemas","docId":"concepts/schemas","unlisted":false},{"type":"link","label":"Storage mappings","href":"/concepts/storage-mappings","docId":"concepts/storage-mappings","unlisted":false},{"type":"link","label":"Tests","href":"/concepts/tests","docId":"concepts/tests","unlisted":false},{"type":"category","label":"Advanced concepts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Schema evolution","href":"/concepts/advanced/evolutions","docId":"concepts/advanced/evolutions","unlisted":false},{"type":"link","label":"Journals","href":"/concepts/advanced/journals","docId":"concepts/advanced/journals","unlisted":false},{"type":"link","label":"Logs and statistics","href":"/concepts/advanced/logs-stats","docId":"concepts/advanced/logs-stats","unlisted":false},{"type":"link","label":"Projections","href":"/concepts/advanced/projections","docId":"concepts/advanced/projections","unlisted":false},{"type":"link","label":"Task shards","href":"/concepts/advanced/shards","docId":"concepts/advanced/shards","unlisted":false}]}],"href":"/concepts/"},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Connectors","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Capture connectors","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Aircall","href":"/reference/Connectors/capture-connectors/aircall","docId":"reference/Connectors/capture-connectors/aircall","unlisted":false},{"type":"link","label":"Airtable","href":"/reference/Connectors/capture-connectors/airtable","docId":"reference/Connectors/capture-connectors/airtable","unlisted":false},{"type":"link","label":"AlloyDB","href":"/reference/Connectors/capture-connectors/alloydb","docId":"reference/Connectors/capture-connectors/alloydb","unlisted":false},{"type":"link","label":"Alpaca","href":"/reference/Connectors/capture-connectors/alpaca","docId":"reference/Connectors/capture-connectors/alpaca","unlisted":false},{"type":"link","label":"Amazon Ads","href":"/reference/Connectors/capture-connectors/amazon-ads","docId":"reference/Connectors/capture-connectors/amazon-ads","unlisted":false},{"type":"link","label":"Amazon DynamoDB","href":"/reference/Connectors/capture-connectors/amazon-dynamodb","docId":"reference/Connectors/capture-connectors/amazon-dynamodb","unlisted":false},{"type":"link","label":"Amazon Kinesis","href":"/reference/Connectors/capture-connectors/amazon-kinesis","docId":"reference/Connectors/capture-connectors/amazon-kinesis","unlisted":false},{"type":"link","label":"Amazon Redshift","href":"/reference/Connectors/capture-connectors/amazon-redshift","docId":"reference/Connectors/capture-connectors/amazon-redshift","unlisted":false},{"type":"link","label":"Amazon S3","href":"/reference/Connectors/capture-connectors/amazon-s3","docId":"reference/Connectors/capture-connectors/amazon-s3","unlisted":false},{"type":"link","label":"Amazon SQS","href":"/reference/Connectors/capture-connectors/amazon-sqs","docId":"reference/Connectors/capture-connectors/amazon-sqs","unlisted":false},{"type":"link","label":"Amplitude","href":"/reference/Connectors/capture-connectors/amplitude","docId":"reference/Connectors/capture-connectors/amplitude","unlisted":false},{"type":"link","label":"Apache Kafka","href":"/reference/Connectors/capture-connectors/apache-kafka","docId":"reference/Connectors/capture-connectors/apache-kafka","unlisted":false},{"type":"link","label":"Azure Blob Storage","href":"/reference/Connectors/capture-connectors/azure-blob-storage","docId":"reference/Connectors/capture-connectors/azure-blob-storage","unlisted":false},{"type":"link","label":"BigQuery Batch Query Connector","href":"/reference/Connectors/capture-connectors/bigquery-batch","docId":"reference/Connectors/capture-connectors/bigquery-batch","unlisted":false},{"type":"link","label":"Bing Ads","href":"/reference/Connectors/capture-connectors/bing-ads","docId":"reference/Connectors/capture-connectors/bing-ads","unlisted":false},{"type":"link","label":"Braintree","href":"/reference/Connectors/capture-connectors/braintree","docId":"reference/Connectors/capture-connectors/braintree","unlisted":false},{"type":"link","label":"Braze","href":"/reference/Connectors/capture-connectors/braze","docId":"reference/Connectors/capture-connectors/braze","unlisted":false},{"type":"link","label":"Chargebee","href":"/reference/Connectors/capture-connectors/chargebee","docId":"reference/Connectors/capture-connectors/chargebee","unlisted":false},{"type":"link","label":"Confluence","href":"/reference/Connectors/capture-connectors/confluence","docId":"reference/Connectors/capture-connectors/confluence","unlisted":false},{"type":"link","label":"Datadog HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/datadog-ingest","docId":"reference/Connectors/capture-connectors/datadog-ingest","unlisted":false},{"type":"link","label":"Dropbox","href":"/reference/Connectors/capture-connectors/dropbox","docId":"reference/Connectors/capture-connectors/dropbox","unlisted":false},{"type":"link","label":"Exchange Rates API","href":"/reference/Connectors/capture-connectors/exchange-rates","docId":"reference/Connectors/capture-connectors/exchange-rates","unlisted":false},{"type":"link","label":"Facebook Marketing","href":"/reference/Connectors/capture-connectors/facebook-marketing","docId":"reference/Connectors/capture-connectors/facebook-marketing","unlisted":false},{"type":"link","label":"Freshdesk","href":"/reference/Connectors/capture-connectors/freshdesk","docId":"reference/Connectors/capture-connectors/freshdesk","unlisted":false},{"type":"link","label":"Google Cloud Storage","href":"/reference/Connectors/capture-connectors/gcs","docId":"reference/Connectors/capture-connectors/gcs","unlisted":false},{"type":"link","label":"GitHub","href":"/reference/Connectors/capture-connectors/github","docId":"reference/Connectors/capture-connectors/github","unlisted":false},{"type":"link","label":"GitLab","href":"/reference/Connectors/capture-connectors/gitlab","docId":"reference/Connectors/capture-connectors/gitlab","unlisted":false},{"type":"link","label":"Gladly","href":"/reference/Connectors/capture-connectors/gladly","docId":"reference/Connectors/capture-connectors/gladly","unlisted":false},{"type":"link","label":"Google Ads","href":"/reference/Connectors/capture-connectors/google-ads","docId":"reference/Connectors/capture-connectors/google-ads","unlisted":false},{"type":"link","label":"Google Analytics UA","href":"/reference/Connectors/capture-connectors/google-analytics","docId":"reference/Connectors/capture-connectors/google-analytics","unlisted":false},{"type":"link","label":"Google Analytics 4","href":"/reference/Connectors/capture-connectors/google-analytics-4","docId":"reference/Connectors/capture-connectors/google-analytics-4","unlisted":false},{"type":"link","label":"Google Drive","href":"/reference/Connectors/capture-connectors/google-drive","docId":"reference/Connectors/capture-connectors/google-drive","unlisted":false},{"type":"link","label":"Google Firestore","href":"/reference/Connectors/capture-connectors/google-firestore","docId":"reference/Connectors/capture-connectors/google-firestore","unlisted":false},{"type":"link","label":"Google Cloud Pub/Sub","href":"/reference/Connectors/capture-connectors/google-pubsub","docId":"reference/Connectors/capture-connectors/google-pubsub","unlisted":false},{"type":"link","label":"Google Search Console","href":"/reference/Connectors/capture-connectors/google-search-console","docId":"reference/Connectors/capture-connectors/google-search-console","unlisted":false},{"type":"link","label":"Google Sheets","href":"/reference/Connectors/capture-connectors/google-sheets","docId":"reference/Connectors/capture-connectors/google-sheets","unlisted":false},{"type":"link","label":"Greenhouse","href":"/reference/Connectors/capture-connectors/greenhouse","docId":"reference/Connectors/capture-connectors/greenhouse","unlisted":false},{"type":"link","label":"Harvest","href":"/reference/Connectors/capture-connectors/harvest","docId":"reference/Connectors/capture-connectors/harvest","unlisted":false},{"type":"link","label":"HTTP File","href":"/reference/Connectors/capture-connectors/http-file","docId":"reference/Connectors/capture-connectors/http-file","unlisted":false},{"type":"link","label":"HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/http-ingest","docId":"reference/Connectors/capture-connectors/http-ingest","unlisted":false},{"type":"link","label":"Hubspot","href":"/reference/Connectors/capture-connectors/hubspot","docId":"reference/Connectors/capture-connectors/hubspot","unlisted":false},{"type":"link","label":"HubSpot ( Real-Time )","href":"/reference/Connectors/capture-connectors/hubspot-real-time","docId":"reference/Connectors/capture-connectors/hubspot-real-time","unlisted":false},{"type":"link","label":"Instagram","href":"/reference/Connectors/capture-connectors/instagram","docId":"reference/Connectors/capture-connectors/instagram","unlisted":false},{"type":"link","label":"Intercom","href":"/reference/Connectors/capture-connectors/intercom","docId":"reference/Connectors/capture-connectors/intercom","unlisted":false},{"type":"link","label":"Intercom HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/intercom-ingest","docId":"reference/Connectors/capture-connectors/intercom-ingest","unlisted":false},{"type":"link","label":"Iterable","href":"/reference/Connectors/capture-connectors/iterable","docId":"reference/Connectors/capture-connectors/iterable","unlisted":false},{"type":"link","label":"Jira","href":"/reference/Connectors/capture-connectors/jira","docId":"reference/Connectors/capture-connectors/jira","unlisted":false},{"type":"link","label":"Jira HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/jira-ingest","docId":"reference/Connectors/capture-connectors/jira-ingest","unlisted":false},{"type":"link","label":"Klaviyo","href":"/reference/Connectors/capture-connectors/klaviyo","docId":"reference/Connectors/capture-connectors/klaviyo","unlisted":false},{"type":"link","label":"LinkedIn Ads","href":"/reference/Connectors/capture-connectors/linkedin-ads","docId":"reference/Connectors/capture-connectors/linkedin-ads","unlisted":false},{"type":"link","label":"LinkedIn Pages","href":"/reference/Connectors/capture-connectors/linkedin-pages","docId":"reference/Connectors/capture-connectors/linkedin-pages","unlisted":false},{"type":"link","label":"Mailchimp","href":"/reference/Connectors/capture-connectors/mailchimp","docId":"reference/Connectors/capture-connectors/mailchimp","unlisted":false},{"type":"category","label":"MariaDB","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for MariaDB","href":"/reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","docId":"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","unlisted":false}],"href":"/reference/Connectors/capture-connectors/MariaDB/"},{"type":"link","label":"Marketo","href":"/reference/Connectors/capture-connectors/marketo","docId":"reference/Connectors/capture-connectors/marketo","unlisted":false},{"type":"category","label":"Microsoft SQL Server","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for SQL Server","href":"/reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","docId":"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","unlisted":false},{"type":"link","label":"Google Cloud SQL for SQL Server","href":"/reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","docId":"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","unlisted":false}],"href":"/reference/Connectors/capture-connectors/SQLServer/"},{"type":"link","label":"MixPanel","href":"/reference/Connectors/capture-connectors/mixpanel","docId":"reference/Connectors/capture-connectors/mixpanel","unlisted":false},{"type":"link","label":"MongoDB","href":"/reference/Connectors/capture-connectors/mongodb","docId":"reference/Connectors/capture-connectors/mongodb","unlisted":false},{"type":"category","label":"MySQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for MySQL","href":"/reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","docId":"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","unlisted":false},{"type":"link","label":"Google Cloud SQL for MySQL","href":"/reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","docId":"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","unlisted":false},{"type":"link","label":"MySQL Batch Query Connector","href":"/reference/Connectors/capture-connectors/MySQL/mysql-batch","docId":"reference/Connectors/capture-connectors/MySQL/mysql-batch","unlisted":false}],"href":"/reference/Connectors/capture-connectors/MySQL/"},{"type":"link","label":"NetSuite SuiteAnalytics Connect","href":"/reference/Connectors/capture-connectors/netsuite-suiteanalytics","docId":"reference/Connectors/capture-connectors/netsuite-suiteanalytics","unlisted":false},{"type":"link","label":"NetSuite SuiteTalk REST","href":"/reference/Connectors/capture-connectors/netsuite-suitetalk","docId":"reference/Connectors/capture-connectors/netsuite-suitetalk","unlisted":false},{"type":"link","label":"Notion","href":"/reference/Connectors/capture-connectors/notion","docId":"reference/Connectors/capture-connectors/notion","unlisted":false},{"type":"category","label":"OracleDB","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"OracleDB (Flashback)","href":"/reference/Connectors/capture-connectors/OracleDB/flashback","docId":"reference/Connectors/capture-connectors/OracleDB/flashback","unlisted":false}],"href":"/reference/Connectors/capture-connectors/OracleDB/"},{"type":"link","label":"Paypal Transaction","href":"/reference/Connectors/capture-connectors/paypal-transaction","docId":"reference/Connectors/capture-connectors/paypal-transaction","unlisted":false},{"type":"link","label":"Pendo","href":"/reference/Connectors/capture-connectors/pendo","docId":"reference/Connectors/capture-connectors/pendo","unlisted":false},{"type":"link","label":"Pinterest","href":"/reference/Connectors/capture-connectors/pinterest","docId":"reference/Connectors/capture-connectors/pinterest","unlisted":false},{"type":"category","label":"PostgreSQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Supabase","href":"/reference/Connectors/capture-connectors/PostgreSQL/Supabase","docId":"reference/Connectors/capture-connectors/PostgreSQL/Supabase","unlisted":false},{"type":"link","label":"Amazon RDS for PostgreSQL","href":"/reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","docId":"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","unlisted":false},{"type":"link","label":"Google Cloud SQL for PostgreSQL","href":"/reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","docId":"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","unlisted":false},{"type":"link","label":"Neon PostgreSQL","href":"/reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","docId":"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","unlisted":false},{"type":"link","label":"PostgreSQL Batch Query Connector","href":"/reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","docId":"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","unlisted":false}],"href":"/reference/Connectors/capture-connectors/PostgreSQL/"},{"type":"link","label":"Recharge","href":"/reference/Connectors/capture-connectors/recharge","docId":"reference/Connectors/capture-connectors/recharge","unlisted":false},{"type":"category","label":"Salesforce","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Salesforce \u2014 Historical data","href":"/reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","docId":"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","unlisted":false},{"type":"link","label":"Salesforce \u2014 Real-time data","href":"/reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","docId":"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","unlisted":false}],"href":"/reference/Connectors/capture-connectors/Salesforce/"},{"type":"link","label":"SendGrid","href":"/reference/Connectors/capture-connectors/sendgrid","docId":"reference/Connectors/capture-connectors/sendgrid","unlisted":false},{"type":"link","label":"Sentry","href":"/reference/Connectors/capture-connectors/sentry","docId":"reference/Connectors/capture-connectors/sentry","unlisted":false},{"type":"link","label":"SFTP","href":"/reference/Connectors/capture-connectors/sftp","docId":"reference/Connectors/capture-connectors/sftp","unlisted":false},{"type":"link","label":"Slack","href":"/reference/Connectors/capture-connectors/slack","docId":"reference/Connectors/capture-connectors/slack","unlisted":false},{"type":"link","label":"Snapchat Marketing","href":"/reference/Connectors/capture-connectors/snapchat","docId":"reference/Connectors/capture-connectors/snapchat","unlisted":false},{"type":"link","label":"Snowflake CDC Connector","href":"/reference/Connectors/capture-connectors/snowflake","docId":"reference/Connectors/capture-connectors/snowflake","unlisted":false},{"type":"link","label":"Stripe","href":"/reference/Connectors/capture-connectors/stripe","docId":"reference/Connectors/capture-connectors/stripe","unlisted":false},{"type":"link","label":"Survey Monkey","href":"/reference/Connectors/capture-connectors/survey-monkey","docId":"reference/Connectors/capture-connectors/survey-monkey","unlisted":false},{"type":"link","label":"TikTok Marketing","href":"/reference/Connectors/capture-connectors/tiktok","docId":"reference/Connectors/capture-connectors/tiktok","unlisted":false},{"type":"link","label":"Twilio","href":"/reference/Connectors/capture-connectors/twilio","docId":"reference/Connectors/capture-connectors/twilio","unlisted":false},{"type":"link","label":"WooCommerce","href":"/reference/Connectors/capture-connectors/woocommerce","docId":"reference/Connectors/capture-connectors/woocommerce","unlisted":false},{"type":"link","label":"YouTube Analytics","href":"/reference/Connectors/capture-connectors/youtube-analytics","docId":"reference/Connectors/capture-connectors/youtube-analytics","unlisted":false},{"type":"link","label":"Zendesk Chat","href":"/reference/Connectors/capture-connectors/zendesk-chat","docId":"reference/Connectors/capture-connectors/zendesk-chat","unlisted":false},{"type":"link","label":"Zendesk Support","href":"/reference/Connectors/capture-connectors/zendesk-support","docId":"reference/Connectors/capture-connectors/zendesk-support","unlisted":false}],"href":"/reference/Connectors/capture-connectors/"},{"type":"category","label":"Dekaf integrations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Materialize","href":"/reference/Connectors/dekaf/dekaf-materialize","docId":"reference/Connectors/dekaf/dekaf-materialize","unlisted":false},{"type":"link","label":"StarTree","href":"/reference/Connectors/dekaf/dekaf-startree","docId":"reference/Connectors/dekaf/dekaf-startree","unlisted":false},{"type":"link","label":"Tinybird","href":"/reference/Connectors/dekaf/dekaf-tinybird","docId":"reference/Connectors/dekaf/dekaf-tinybird","unlisted":false}],"href":"/reference/Connectors/dekaf/"},{"type":"category","label":"Materialization connectors","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AlloyDB","href":"/reference/Connectors/materialization-connectors/alloydb","docId":"reference/Connectors/materialization-connectors/alloydb","unlisted":false},{"type":"link","label":"Amazon DynamoDB","href":"/reference/Connectors/materialization-connectors/amazon-dynamodb","docId":"reference/Connectors/materialization-connectors/amazon-dynamodb","unlisted":false},{"type":"link","label":"Amazon Redshift","href":"/reference/Connectors/materialization-connectors/amazon-redshift","docId":"reference/Connectors/materialization-connectors/amazon-redshift","unlisted":false},{"type":"link","label":"CSV Files in Amazon S3","href":"/reference/Connectors/materialization-connectors/amazon-s3-csv","docId":"reference/Connectors/materialization-connectors/amazon-s3-csv","unlisted":false},{"type":"link","label":"Apache Iceberg Tables in Amazon S3","href":"/reference/Connectors/materialization-connectors/amazon-s3-iceberg","docId":"reference/Connectors/materialization-connectors/amazon-s3-iceberg","unlisted":false},{"type":"link","label":"Apache Parquet Files in Amazon S3","href":"/reference/Connectors/materialization-connectors/amazon-s3-parquet","docId":"reference/Connectors/materialization-connectors/amazon-s3-parquet","unlisted":false},{"type":"link","label":"Google BigQuery","href":"/reference/Connectors/materialization-connectors/BigQuery","docId":"reference/Connectors/materialization-connectors/BigQuery","unlisted":false},{"type":"link","label":"Databricks","href":"/reference/Connectors/materialization-connectors/databricks","docId":"reference/Connectors/materialization-connectors/databricks","unlisted":false},{"type":"link","label":"Elasticsearch","href":"/reference/Connectors/materialization-connectors/Elasticsearch","docId":"reference/Connectors/materialization-connectors/Elasticsearch","unlisted":false},{"type":"link","label":"Firebolt","href":"/reference/Connectors/materialization-connectors/Firebolt","docId":"reference/Connectors/materialization-connectors/Firebolt","unlisted":false},{"type":"link","label":"CSV Files in Google GCS","href":"/reference/Connectors/materialization-connectors/google-gcs-csv","docId":"reference/Connectors/materialization-connectors/google-gcs-csv","unlisted":false},{"type":"link","label":"Apache Parquet Files in Google GCS","href":"/reference/Connectors/materialization-connectors/google-gcs-parquet","docId":"reference/Connectors/materialization-connectors/google-gcs-parquet","unlisted":false},{"type":"link","label":"Google Cloud Pub/Sub","href":"/reference/Connectors/materialization-connectors/google-pubsub","docId":"reference/Connectors/materialization-connectors/google-pubsub","unlisted":false},{"type":"link","label":"Google Sheets","href":"/reference/Connectors/materialization-connectors/Google-sheets","docId":"reference/Connectors/materialization-connectors/Google-sheets","unlisted":false},{"type":"link","label":"HTTP Webhook","href":"/reference/Connectors/materialization-connectors/http-webhook","docId":"reference/Connectors/materialization-connectors/http-webhook","unlisted":false},{"type":"category","label":"Microsoft SQLServer","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for SQL Server","href":"/reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","docId":"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","unlisted":false},{"type":"link","label":"Google Cloud SQL for SQLServer","href":"/reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","docId":"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/SQLServer/"},{"type":"link","label":"MongoDB","href":"/reference/Connectors/materialization-connectors/mongodb","docId":"reference/Connectors/materialization-connectors/mongodb","unlisted":false},{"type":"link","label":"MotherDuck","href":"/reference/Connectors/materialization-connectors/motherduck","docId":"reference/Connectors/materialization-connectors/motherduck","unlisted":false},{"type":"category","label":"MySQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for MySQL","href":"/reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","docId":"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","unlisted":false},{"type":"link","label":"Google Cloud SQL for MySQL","href":"/reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","docId":"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/MySQL/"},{"type":"link","label":"MySQL HeatWave","href":"/reference/Connectors/materialization-connectors/mysql-heatwave","docId":"reference/Connectors/materialization-connectors/mysql-heatwave","unlisted":false},{"type":"link","label":"Pinecone","href":"/reference/Connectors/materialization-connectors/pinecone","docId":"reference/Connectors/materialization-connectors/pinecone","unlisted":false},{"type":"category","label":"PostgreSQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for PostgreSQL","href":"/reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","docId":"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","unlisted":false},{"type":"link","label":"Google Cloud SQL for PostgreSQL","href":"/reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","docId":"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/PostgreSQL/"},{"type":"link","label":"Rockset","href":"/reference/Connectors/materialization-connectors/Rockset","docId":"reference/Connectors/materialization-connectors/Rockset","unlisted":false},{"type":"link","label":"Slack","href":"/reference/Connectors/materialization-connectors/slack","docId":"reference/Connectors/materialization-connectors/slack","unlisted":false},{"type":"link","label":"Snowflake","href":"/reference/Connectors/materialization-connectors/Snowflake","docId":"reference/Connectors/materialization-connectors/Snowflake","unlisted":false},{"type":"link","label":"SQLite","href":"/reference/Connectors/materialization-connectors/SQLite","docId":"reference/Connectors/materialization-connectors/SQLite","unlisted":false},{"type":"link","label":"Starburst","href":"/reference/Connectors/materialization-connectors/starburst","docId":"reference/Connectors/materialization-connectors/starburst","unlisted":false},{"type":"link","label":"TimescaleDB","href":"/reference/Connectors/materialization-connectors/timescaledb","docId":"reference/Connectors/materialization-connectors/timescaledb","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/"},{"type":"link","label":"Materialization Protocol","href":"/reference/Connectors/materialization-protocol","docId":"reference/Connectors/materialization-protocol","unlisted":false}],"href":"/reference/Connectors/"},{"type":"link","label":"Authorizing users and authenticating with Flow","href":"/reference/authentication","docId":"reference/authentication","unlisted":false},{"type":"link","label":"Editing considerations","href":"/reference/editing","docId":"reference/editing","unlisted":false},{"type":"link","label":"Notifications","href":"/reference/notifications","docId":"reference/notifications","unlisted":false},{"type":"link","label":"Time Travel","href":"/reference/time-travel","docId":"reference/time-travel","unlisted":false},{"type":"link","label":"Configuring task shards","href":"/reference/Configuring-task-shards","docId":"reference/Configuring-task-shards","unlisted":false},{"type":"category","label":"Reduction strategies","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"append","href":"/reference/reduction-strategies/append","docId":"reference/reduction-strategies/append","unlisted":false},{"type":"link","label":"firstWriteWins and lastWriteWins","href":"/reference/reduction-strategies/firstwritewins-and-lastwritewins","docId":"reference/reduction-strategies/firstwritewins-and-lastwritewins","unlisted":false},{"type":"link","label":"merge","href":"/reference/reduction-strategies/merge","docId":"reference/reduction-strategies/merge","unlisted":false},{"type":"link","label":"minimize and maximize","href":"/reference/reduction-strategies/minimize-and-maximize","docId":"reference/reduction-strategies/minimize-and-maximize","unlisted":false},{"type":"link","label":"set","href":"/reference/reduction-strategies/set","docId":"reference/reduction-strategies/set","unlisted":false},{"type":"link","label":"sum","href":"/reference/reduction-strategies/sum","docId":"reference/reduction-strategies/sum","unlisted":false},{"type":"link","label":"Composing with conditionals","href":"/reference/reduction-strategies/composing-with-conditionals","docId":"reference/reduction-strategies/composing-with-conditionals","unlisted":false}],"href":"/reference/reduction-strategies/"},{"type":"link","label":"Working with logs and statistics","href":"/reference/working-logs-stats","docId":"reference/working-logs-stats","unlisted":false},{"type":"link","label":"Organizing a Flow catalog","href":"/reference/organizing-catalogs","docId":"reference/organizing-catalogs","unlisted":false},{"type":"link","label":"Allowlisting IP Addresses for Estuary Flow","href":"/reference/allow-ip-addresses","docId":"reference/allow-ip-addresses","unlisted":false},{"type":"link","label":"Materialization sync schedule","href":"/reference/materialization-sync-schedule","docId":"reference/materialization-sync-schedule","unlisted":false}]}]},"docs":{"concepts/advanced/evolutions":{"id":"concepts/advanced/evolutions","title":"Schema evolution","description":"Schema evolutions are a feature you can use to update your whole Data Flow to reflect edits to a collection, preventing your Data Flow from failing due to mismatched components.","sidebar":"tutorialSidebar"},"concepts/advanced/journals":{"id":"concepts/advanced/journals","title":"Journals","description":"Journals are an advanced concept of Flow.","sidebar":"tutorialSidebar"},"concepts/advanced/logs-stats":{"id":"concepts/advanced/logs-stats","title":"Logs and statistics","description":"Flow collects logs and statistics of catalog tasks to aid in debugging and refinement of your workflows.","sidebar":"tutorialSidebar"},"concepts/advanced/projections":{"id":"concepts/advanced/projections","title":"Projections","description":"Projections are an advanced concept of Flow.","sidebar":"tutorialSidebar"},"concepts/advanced/shards":{"id":"concepts/advanced/shards","title":"Task shards","description":"Catalog tasks \u2014 captures, derivations, and materializations \u2014","sidebar":"tutorialSidebar"},"concepts/captures":{"id":"concepts/captures","title":"Captures","description":"A capture is how Flow ingests data from an external source.","sidebar":"tutorialSidebar"},"concepts/catalogs":{"id":"concepts/catalogs","title":"Catalog","description":"The catalog is the set of published entities that comprise all Data Flows: captures, materializations, derivations, collections, schemas, tests, and more.","sidebar":"tutorialSidebar"},"concepts/collections":{"id":"concepts/collections","title":"Collections","description":"The documents of your Data Flows are stored in collections:","sidebar":"tutorialSidebar"},"concepts/connectors":{"id":"concepts/connectors","title":"Connectors","description":"Connectors bridge the gap between Flow and","sidebar":"tutorialSidebar"},"concepts/derivations":{"id":"concepts/derivations","title":"Derivations","description":"At times, the collections generated by a capture may not be suitable for your needs.","sidebar":"tutorialSidebar"},"concepts/flowctl":{"id":"concepts/flowctl","title":"flowctl","description":"There are two ways to work with Flow: through the web app, and using the flowctl command-line interface.","sidebar":"tutorialSidebar"},"concepts/import":{"id":"concepts/import","title":"Imports","description":"When you work on a draft Data Flow using flowctl draft,","sidebar":"tutorialSidebar"},"concepts/materialization":{"id":"concepts/materialization","title":"Materializations","description":"A materialization is how Flow pushes data to an external destination.","sidebar":"tutorialSidebar"},"concepts/README":{"id":"concepts/README","title":"Concepts","description":"Flow helps you define data pipelines, known as Data Flows, that connect multiple data systems, APIs, and storage, and optionally transform data along the way.","sidebar":"tutorialSidebar"},"concepts/schemas":{"id":"concepts/schemas","title":"Schemas","description":"Flow documents and collections always have an associated schema","sidebar":"tutorialSidebar"},"concepts/storage-mappings":{"id":"concepts/storage-mappings","title":"Storage mappings","description":"Flow stores the documents that comprise your collections in a cloud storage bucket.","sidebar":"tutorialSidebar"},"concepts/tests":{"id":"concepts/tests","title":"Tests","description":"The Flow web application automatically performs basic tests to validate the configurations of captures and materializations.","sidebar":"tutorialSidebar"},"concepts/web-app":{"id":"concepts/web-app","title":"Web application","description":"Flow\'s web application is at dashboard.estuary.dev.","sidebar":"tutorialSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Registration and setup","description":"Estuary Flow is a fully managed web application that also offers a robust CLI.","sidebar":"tutorialSidebar"},"getting-started/tutorials/continuous-materialized-view":{"id":"getting-started/tutorials/continuous-materialized-view","title":"Create a real-time materialized view in PostgreSQL","description":"PostgreSQL supports materialized views: database objects that contain the result of a query, usually a focused subset of a large dataset.","sidebar":"tutorialSidebar"},"getting-started/tutorials/dataflow-s3-snowflake":{"id":"getting-started/tutorials/dataflow-s3-snowflake","title":"Create your first dataflow with Amazon S3 and Snowflake","description":"In this tutorial, you\'ll create your first complete Data Flow with Estuary Flow using publicly available data.","sidebar":"tutorialSidebar"},"getting-started/tutorials/derivations_acmebank":{"id":"getting-started/tutorials/derivations_acmebank","title":"Implementing Derivations for AcmeBank","description":"The following tutorial sections use an illustrative example","sidebar":"tutorialSidebar"},"getting-started/tutorials/postgresql_cdc_to_snowflake":{"id":"getting-started/tutorials/postgresql_cdc_to_snowflake","title":"PostgreSQL CDC streaming to Snowflake","description":"Introduction","sidebar":"tutorialSidebar"},"getting-started/tutorials/README":{"id":"getting-started/tutorials/README","title":"Flow tutorials","description":"Flow tutorials are complete learning experiences that help you get to know Flow using sample data.","sidebar":"tutorialSidebar"},"getting-started/tutorials/real_time_cdc_with_mongodb":{"id":"getting-started/tutorials/real_time_cdc_with_mongodb","title":"Real-time CDC with MongoDB","description":"A step-by-step guide to setting up Change Data Capture (CDC) from MongoDB with Estuary Flow.","sidebar":"tutorialSidebar"},"guides/connect-network":{"id":"guides/connect-network","title":"Configure connections with SSH tunneling","description":"Flow connects to certain types of endpoints \u2014 generally databases \u2014 using their IP address and port.","sidebar":"tutorialSidebar"},"guides/create-dataflow":{"id":"guides/create-dataflow","title":"Create a basic Data Flow","description":"This guide walks you through the process of creating an end-to-end Data Flow.","sidebar":"tutorialSidebar"},"guides/customize-materialization-fields":{"id":"guides/customize-materialization-fields","title":"Customize materialized fields","description":"When you first materialize a collection to an endpoint like a database or data warehouse,","sidebar":"tutorialSidebar"},"guides/dekaf_reading_collections_from_kafka":{"id":"guides/dekaf_reading_collections_from_kafka","title":"Connecting to Estuary Flow from Kafka using Dekaf","description":"Reporting is not yet supported for Dekaf, but is coming.","sidebar":"tutorialSidebar"},"guides/derivation_tutorial_sql":{"id":"guides/derivation_tutorial_sql","title":"How to transform data using SQL","description":"This guide will teach you how to write and publish a simple SQL derivation that you can use to transform data from one collection to another.","sidebar":"tutorialSidebar"},"guides/edit-data-flows":{"id":"guides/edit-data-flows","title":"Edit Data Flows in the web app","description":"You can edit existing captures, collection schemas, and materializations in the Flow web app.","sidebar":"tutorialSidebar"},"guides/flowctl/create-derivation":{"id":"guides/flowctl/create-derivation","title":"Create a derivation with flowctl","description":"Once you\'re familiar with creating a basic Data Flow, you can take things a step further","sidebar":"tutorialSidebar"},"guides/flowctl/edit-draft-from-webapp":{"id":"guides/flowctl/edit-draft-from-webapp","title":"Edit a draft created in the web app","description":"When you create or edit tasks in the web app, your work is periodically saved as a draft.","sidebar":"tutorialSidebar"},"guides/flowctl/edit-specification-locally":{"id":"guides/flowctl/edit-specification-locally","title":"Edit a Flow specification locally","description":"The Flow web application is designed to make the most common Flow tasks quick and easy.","sidebar":"tutorialSidebar"},"guides/flowctl/README":{"id":"guides/flowctl/README","title":"flowctl guides","description":"The guides in this section cover common workflows using the Estuary Flow CLI, flowctl.","sidebar":"tutorialSidebar"},"guides/flowctl/troubleshoot-task":{"id":"guides/flowctl/troubleshoot-task","title":"Troubleshoot a task with flowctl","description":"The flowctl logs and stats subcommands have been temporarily disabled while we work on some important changes to our authorization system. We expect to have these working again soon. In the meantime, please reach out to us via Slack or email (support@estuary.dev) if you want any help.","sidebar":"tutorialSidebar"},"guides/howto_join_two_collections_typescript":{"id":"guides/howto_join_two_collections_typescript","title":"How to join two collections (TypeScript)","description":"This guide will teach you how to write and publish a TypeScript derivation, which will join two collections together on a common key.","sidebar":"tutorialSidebar"},"guides/README":{"id":"guides/README","title":"Flow user guides","description":"In this section, you\'ll find step-by-step guides that walk you through common Flow tasks.","sidebar":"tutorialSidebar"},"guides/schema-evolution":{"id":"guides/schema-evolution","title":"Schema evolution","description":"When collection specifications and schemas change, you must make corresponding changes in other parts of your Data Flow to avoid errors. In this guide, you\'ll learn how to respond to different types of collection changes.","sidebar":"tutorialSidebar"},"guides/system-specific-dataflows/firestore-to-dwh":{"id":"guides/system-specific-dataflows/firestore-to-dwh","title":"Google Cloud Firestore to Snowflake","description":"This guide walks you through the process of creating an","sidebar":"tutorialSidebar"},"guides/system-specific-dataflows/README":{"id":"guides/system-specific-dataflows/README","title":"System-specific Data Flows","description":"The guides in this section cover popular Estuary Flow use cases. Each guide walks you through the process of capturing data from a specific source system and materializing it to a specific destination.","sidebar":"tutorialSidebar"},"guides/system-specific-dataflows/s3-to-snowflake":{"id":"guides/system-specific-dataflows/s3-to-snowflake","title":"Amazon S3 to Snowflake","description":"This guide walks you through the process of creating an","sidebar":"tutorialSidebar"},"guides/transform_data_using_typescript":{"id":"guides/transform_data_using_typescript","title":"How to transform data using TypeScript","description":"This guide will teach you how to write and publish a simple TypeScript derivation.","sidebar":"tutorialSidebar"},"overview/comparisons":{"id":"overview/comparisons","title":"Comparisons","description":"High level explanations of Flow in terms of the systems you already know","sidebar":"tutorialSidebar"},"overview/README":{"id":"overview/README","title":"Flow documentation","description":"Get to know Estuary Flow and learn how to get started.","sidebar":"tutorialSidebar"},"overview/who-should-use-flow":{"id":"overview/who-should-use-flow","title":"Who should use Flow?","description":"Common pain points you might have, and how Flow addresses them.","sidebar":"tutorialSidebar"},"reference/allow-ip-addresses":{"id":"reference/allow-ip-addresses","title":"Allowlisting IP Addresses for Estuary Flow","description":"When configuring systems that interact with Estuary Flow, it\'s crucial to ensure that the necessary IP addresses are","sidebar":"tutorialSidebar"},"reference/authentication":{"id":"reference/authentication","title":"Authorizing users and authenticating with Flow","description":"Read, write, and admin capabilities over Flow catalogs and the collections that comprise them","sidebar":"tutorialSidebar"},"reference/Configuring-task-shards":{"id":"reference/Configuring-task-shards","title":"Configuring task shards","description":"For some catalog tasks, it\'s helpful to control the behavior of shards","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/aircall":{"id":"reference/Connectors/capture-connectors/aircall","title":"Aircall","description":"This connector captures data from Aircall into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/airtable":{"id":"reference/Connectors/capture-connectors/airtable","title":"Airtable","description":"This connector captures data from Airtable into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/alloydb":{"id":"reference/Connectors/capture-connectors/alloydb","title":"AlloyDB","description":"This connector uses change data capture (CDC) to continuously capture table updates in an AlloyDB database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/alpaca":{"id":"reference/Connectors/capture-connectors/alpaca","title":"Alpaca","description":"This connector captures stock trade data from the Alpaca Market Data API into a Flow collection.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-ads":{"id":"reference/Connectors/capture-connectors/amazon-ads","title":"Amazon Ads","description":"This connector captures data from Amazon Ads into Flow collections via the Amazon Ads API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-dynamodb":{"id":"reference/Connectors/capture-connectors/amazon-dynamodb","title":"Amazon DynamoDB","description":"This connector uses DynamoDB streams to continuously capture updates from DynamoDB tables into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-kinesis":{"id":"reference/Connectors/capture-connectors/amazon-kinesis","title":"Amazon Kinesis","description":"This connector captures data from Amazon Kinesis streams.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-redshift":{"id":"reference/Connectors/capture-connectors/amazon-redshift","title":"Amazon Redshift","description":"This connector captures data from your Amazon Redshift cluster into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-s3":{"id":"reference/Connectors/capture-connectors/amazon-s3","title":"Amazon S3","description":"This connector captures data from an Amazon S3 bucket.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-sqs":{"id":"reference/Connectors/capture-connectors/amazon-sqs","title":"Amazon SQS","description":"This connector captures data from Amazon Simple Queue Service (SQS) into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amplitude":{"id":"reference/Connectors/capture-connectors/amplitude","title":"Amplitude","description":"This connector captures data from Amplitude into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/apache-kafka":{"id":"reference/Connectors/capture-connectors/apache-kafka","title":"Apache Kafka","description":"This connector captures streaming data from Apache Kafka topics.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/azure-blob-storage":{"id":"reference/Connectors/capture-connectors/azure-blob-storage","title":"Azure Blob Storage","description":"This connector captures data from an Azure Blob Storage Account.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/bigquery-batch":{"id":"reference/Connectors/capture-connectors/bigquery-batch","title":"BigQuery Batch Query Connector","description":"This connector captures data from BigQuery into Flow collections by periodically","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/bing-ads":{"id":"reference/Connectors/capture-connectors/bing-ads","title":"Bing Ads","description":"This connector captures data from Bing Ads into Flow collections via the Bing Ads API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/braintree":{"id":"reference/Connectors/capture-connectors/braintree","title":"Braintree","description":"This connector captures data from Braintree into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/braze":{"id":"reference/Connectors/capture-connectors/braze","title":"Braze","description":"This connector captures data from Braze into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/chargebee":{"id":"reference/Connectors/capture-connectors/chargebee","title":"Chargebee","description":"This connector captures data from Chargebee into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/confluence":{"id":"reference/Connectors/capture-connectors/confluence","title":"Confluence","description":"This connector captures data from Confluence into Flow collections via the Confluence Cloud REST API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/datadog-ingest":{"id":"reference/Connectors/capture-connectors/datadog-ingest","title":"Datadog HTTP Ingest (Webhook)","description":"The Datadog HTTP Ingest connector allows you to capture data from incoming HTTP requests from Datadog.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/dropbox":{"id":"reference/Connectors/capture-connectors/dropbox","title":"Dropbox","description":"This connector captures data from a Dropbox account into a Flow collection.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/exchange-rates":{"id":"reference/Connectors/capture-connectors/exchange-rates","title":"Exchange Rates API","description":"This connector captures data from the Exchange Rates API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/facebook-marketing":{"id":"reference/Connectors/capture-connectors/facebook-marketing","title":"Facebook Marketing","description":"This connector captures data from the Facebook Marketing API into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/freshdesk":{"id":"reference/Connectors/capture-connectors/freshdesk","title":"Freshdesk","description":"This connector captures Freshdesk data into Flow collections via the Freshdesk API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/gcs":{"id":"reference/Connectors/capture-connectors/gcs","title":"Google Cloud Storage","description":"This connector captures data from a Google Cloud Storage (GCS) bucket.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/github":{"id":"reference/Connectors/capture-connectors/github","title":"GitHub","description":"This connector captures data from GitHub repositories and organizations into Flow collections via GitHub\'s REST API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/gitlab":{"id":"reference/Connectors/capture-connectors/gitlab","title":"GitLab","description":"This connector captures data from GitLab repositories and organizations into Flow collections via GitLabs\'s API V4. It can also work with self-hosted GitLab.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/gladly":{"id":"reference/Connectors/capture-connectors/gladly","title":"Gladly","description":"This connector captures data from Gladly into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-ads":{"id":"reference/Connectors/capture-connectors/google-ads","title":"Google Ads","description":"This connector captures data from resources in one or more Google Ads accounts into Flow collections via the Google Ads API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-analytics":{"id":"reference/Connectors/capture-connectors/google-analytics","title":"Google Analytics UA","description":"This connector captures data from a view in Google Universal Analytics.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-analytics-4":{"id":"reference/Connectors/capture-connectors/google-analytics-4","title":"Google Analytics 4","description":"This connector captures data from Google Analytics 4 properties into Flow collections via the","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-drive":{"id":"reference/Connectors/capture-connectors/google-drive","title":"Google Drive","description":"This connector lets you capture data from your Google Drive account into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-firestore":{"id":"reference/Connectors/capture-connectors/google-firestore","title":"Google Firestore","description":"This connector captures data from your Google Firestore collections into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-pubsub":{"id":"reference/Connectors/capture-connectors/google-pubsub","title":"Google Cloud Pub/Sub","description":"This connector captures messages in JSON format into Flow collections from","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-search-console":{"id":"reference/Connectors/capture-connectors/google-search-console","title":"Google Search Console","description":"This connector captures data from Google Search Console into Flow collections via the Google Search Console API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-sheets":{"id":"reference/Connectors/capture-connectors/google-sheets","title":"Google Sheets","description":"This connector captures data from a Google Sheets spreadsheet.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/greenhouse":{"id":"reference/Connectors/capture-connectors/greenhouse","title":"Greenhouse","description":"This connector captures data from Greenhouse into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/harvest":{"id":"reference/Connectors/capture-connectors/harvest","title":"Harvest","description":"This connector captures data from Harvest into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/http-file":{"id":"reference/Connectors/capture-connectors/http-file","title":"HTTP File","description":"This connector captures data from an HTTP endpoint into a Flow collection.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/http-ingest":{"id":"reference/Connectors/capture-connectors/http-ingest","title":"HTTP Ingest (Webhook)","description":"The HTTP Ingest connector allows you to capture data from incoming HTTP requests.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/hubspot":{"id":"reference/Connectors/capture-connectors/hubspot","title":"Hubspot","description":"This connector captures data from a Hubspot account.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/hubspot-real-time":{"id":"reference/Connectors/capture-connectors/hubspot-real-time","title":"HubSpot ( Real-Time )","description":"This connector captures data from HubSpot into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/instagram":{"id":"reference/Connectors/capture-connectors/instagram","title":"Instagram","description":"This connector captures data from Instagram into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/intercom":{"id":"reference/Connectors/capture-connectors/intercom","title":"Intercom","description":"This connector captures data from Intercom into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/intercom-ingest":{"id":"reference/Connectors/capture-connectors/intercom-ingest","title":"Intercom HTTP Ingest (Webhook)","description":"The Intercom HTTP Ingest connector allows you to capture data from incoming HTTP requests from Intercom.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/iterable":{"id":"reference/Connectors/capture-connectors/iterable","title":"Iterable","description":"This connector captures data from Iterable into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/jira":{"id":"reference/Connectors/capture-connectors/jira","title":"Jira","description":"This connector captures data from Jira into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/jira-ingest":{"id":"reference/Connectors/capture-connectors/jira-ingest","title":"Jira HTTP Ingest (Webhook)","description":"The Jira HTTP Ingest connector allows you to capture data from incoming HTTP requests from Jira.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/klaviyo":{"id":"reference/Connectors/capture-connectors/klaviyo","title":"Klaviyo","description":"This connector captures data from Klaviyo into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/linkedin-ads":{"id":"reference/Connectors/capture-connectors/linkedin-ads","title":"LinkedIn Ads","description":"This connector captures data from LinkedIn Ads into Flow collections through the LinkedIn Marketing API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/linkedin-pages":{"id":"reference/Connectors/capture-connectors/linkedin-pages","title":"LinkedIn Pages","description":"This connector captures data from one LinkedIn Page into Flow collections via the LinkedIn Marketing API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/mailchimp":{"id":"reference/Connectors/capture-connectors/mailchimp","title":"Mailchimp","description":"This connector captures data from a Mailchimp account.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb":{"id":"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","title":"Amazon RDS for MariaDB","description":"This is a change data capture (CDC) connector that captures change events from a MariaDB database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MariaDB/MariaDB":{"id":"reference/Connectors/capture-connectors/MariaDB/MariaDB","title":"MariaDB","description":"This is a change data capture (CDC) connector that captures change events from a MariaDB database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/marketo":{"id":"reference/Connectors/capture-connectors/marketo","title":"Marketo","description":"This connector captures data from Marketo into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/mixpanel":{"id":"reference/Connectors/capture-connectors/mixpanel","title":"MixPanel","description":"This connector captures data from MixPanel into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/mongodb":{"id":"reference/Connectors/capture-connectors/mongodb","title":"MongoDB","description":"This connector captures data from your MongoDB collections into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql":{"id":"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","title":"Amazon RDS for MySQL","description":"This is a change data capture (CDC) connector that captures change events from a MySQL database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql":{"id":"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","title":"Google Cloud SQL for MySQL","description":"This is a change data capture (CDC) connector that captures change events from a MySQL database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/MySQL":{"id":"reference/Connectors/capture-connectors/MySQL/MySQL","title":"MySQL","description":"This is a change data capture (CDC) connector that captures change events from a MySQL database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/mysql-batch":{"id":"reference/Connectors/capture-connectors/MySQL/mysql-batch","title":"MySQL Batch Query Connector","description":"This connector captures data from MySQL into Flow collections by periodically","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/netsuite-suiteanalytics":{"id":"reference/Connectors/capture-connectors/netsuite-suiteanalytics","title":"NetSuite SuiteAnalytics Connect","description":"This connector captures data from Oracle NetSuite into Flow collections. It relies on the SuiteAnalytics Connect feature in order to both load large amounts of data quickly, as well as introspect the available tables, their schemas, keys, and cursor fields.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/netsuite-suitetalk":{"id":"reference/Connectors/capture-connectors/netsuite-suitetalk","title":"NetSuite SuiteTalk REST","description":"This connector captures data from Oracle NetSuite into Flow collections. It connects to the NetSuite Analytics Data Warehouse using the SuiteQL REST endpoint and a custom role.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/notion":{"id":"reference/Connectors/capture-connectors/notion","title":"Notion","description":"This connector captures data from Notion into Flow collections via the Notion API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/OracleDB/flashback":{"id":"reference/Connectors/capture-connectors/OracleDB/flashback","title":"OracleDB (Flashback)","description":"This connector captures data from OracleDB into Flow collections using Oracle Flashback.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/OracleDB/OracleDB":{"id":"reference/Connectors/capture-connectors/OracleDB/OracleDB","title":"OracleDB","description":"This connector captures data from OracleDB into Flow collections using Oracle Logminer.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/paypal-transaction":{"id":"reference/Connectors/capture-connectors/paypal-transaction","title":"Paypal Transaction","description":"This connector captures data from Paypal Transaction into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/pendo":{"id":"reference/Connectors/capture-connectors/pendo","title":"Pendo","description":"This connector captures data from Pendo into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/pinterest":{"id":"reference/Connectors/capture-connectors/pinterest","title":"Pinterest","description":"This connector captures data from Pinterest into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres":{"id":"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","title":"Amazon RDS for PostgreSQL","description":"This connector uses change data capture (CDC) to continuously capture updates in a PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres":{"id":"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","title":"Google Cloud SQL for PostgreSQL","description":"This connector uses change data capture (CDC) to continuously capture updates in a PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres":{"id":"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","title":"Neon PostgreSQL","description":"Neon\'s logical replication feature allows you to replicate data from your Neon Postgres database to external destinations.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch":{"id":"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","title":"PostgreSQL Batch Query Connector","description":"This connector captures data from Postgres into Flow collections by periodically","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/PostgreSQL":{"id":"reference/Connectors/capture-connectors/PostgreSQL/PostgreSQL","title":"PostgreSQL","description":"This connector uses change data capture (CDC) to continuously capture updates in a PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/Supabase":{"id":"reference/Connectors/capture-connectors/PostgreSQL/Supabase","title":"Supabase","description":"This connector uses change data capture (CDC) to continuously capture updates in a Supabase PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/README":{"id":"reference/Connectors/capture-connectors/README","title":"Capture connectors","description":"Estuary\'s available capture connectors are listed in this section. Each connector has a unique set of requirements for configuration; these are linked below the connector name.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/recharge":{"id":"reference/Connectors/capture-connectors/recharge","title":"Recharge","description":"This connector captures data from Recharge into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/Salesforce/salesforce":{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce","title":"Salesforce","description":"Overview","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data":{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","title":"Salesforce \u2014 Historical data","description":"This connector captures data from Salesforce objects into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time":{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","title":"Salesforce \u2014 Real-time data","description":"This connector captures data from Salesforce objects into Flow collections in real time via the Salesforce PushTopic API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/sendgrid":{"id":"reference/Connectors/capture-connectors/sendgrid","title":"SendGrid","description":"This connector captures data from SendGrid into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/sentry":{"id":"reference/Connectors/capture-connectors/sentry","title":"Sentry","description":"This connector captures data from Sentry into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/sftp":{"id":"reference/Connectors/capture-connectors/sftp","title":"SFTP","description":"This connector captures data from an SFTP server.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/slack":{"id":"reference/Connectors/capture-connectors/slack","title":"Slack","description":"This connector captures data from Slack into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/snapchat":{"id":"reference/Connectors/capture-connectors/snapchat","title":"Snapchat Marketing","description":"This connector captures data from Snapchat Marketing into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/snowflake":{"id":"reference/Connectors/capture-connectors/snowflake","title":"Snowflake CDC Connector","description":"This connector captures change events from source tables in a Snowflake database.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver":{"id":"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","title":"Amazon RDS for SQL Server","description":"This connector uses change data capture (CDC) to continuously capture updates in a Microsoft SQL Server database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver":{"id":"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","title":"Google Cloud SQL for SQL Server","description":"This connector uses change data capture (CDC) to continuously capture updates in a Microsoft SQL Server database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/SQLServer/sqlserver":{"id":"reference/Connectors/capture-connectors/SQLServer/sqlserver","title":"Microsoft SQL Server","description":"This connector uses change data capture (CDC) to continuously capture updates in a Microsoft SQL Server database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/stripe":{"id":"reference/Connectors/capture-connectors/stripe","title":"Stripe","description":"This connector captures data from Stripe into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/survey-monkey":{"id":"reference/Connectors/capture-connectors/survey-monkey","title":"Survey Monkey","description":"This connector captures data from SurveyMonkey surveys into Flow collections via the SurveyMonkey API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/tiktok":{"id":"reference/Connectors/capture-connectors/tiktok","title":"TikTok Marketing","description":"This connector captures data from TikTok marketing campaigns and ads into Flow collections via the TikTok API for Business. It supports production as well as sandbox accounts.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/twilio":{"id":"reference/Connectors/capture-connectors/twilio","title":"Twilio","description":"This connector captures data from Twilio into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/woocommerce":{"id":"reference/Connectors/capture-connectors/woocommerce","title":"WooCommerce","description":"This connector captures data from WooCommerce into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/youtube-analytics":{"id":"reference/Connectors/capture-connectors/youtube-analytics","title":"YouTube Analytics","description":"This connector captures data from YouTube Analytics into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/zendesk-chat":{"id":"reference/Connectors/capture-connectors/zendesk-chat","title":"Zendesk Chat","description":"This connector captures data from Zendesk into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/zendesk-support":{"id":"reference/Connectors/capture-connectors/zendesk-support","title":"Zendesk Support","description":"This connector captures data from Zendesk into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/dekaf-materialize":{"id":"reference/Connectors/dekaf/dekaf-materialize","title":"Materialize","description":"In this guide, you\'ll learn how to use Materialize to ingest data from Estuary Flow.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/dekaf-startree":{"id":"reference/Connectors/dekaf/dekaf-startree","title":"StarTree","description":"In this guide, you\'ll learn how to use Estuary Flow to push data streams to StarTree using the Kafka data source.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/dekaf-tinybird":{"id":"reference/Connectors/dekaf/dekaf-tinybird","title":"Tinybird","description":"In this guide, you\'ll learn how to use Estuary Flow to push data streams to Tinybird.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/README":{"id":"reference/Connectors/dekaf/README","title":"Dekaf integrations","description":"Dekaf is Estuary Flow\'s Kafka-API compatibility layer.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/alloydb":{"id":"reference/Connectors/materialization-connectors/alloydb","title":"AlloyDB","description":"This connector materializes Flow collections into tables in an AlloyDB database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-dynamodb":{"id":"reference/Connectors/materialization-connectors/amazon-dynamodb","title":"Amazon DynamoDB","description":"This connector materializes Flow collections into tables in an Amazon DynamoDB.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-redshift":{"id":"reference/Connectors/materialization-connectors/amazon-redshift","title":"Amazon Redshift","description":"This connector materializes Flow collections into tables in an Amazon Redshift database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-s3-csv":{"id":"reference/Connectors/materialization-connectors/amazon-s3-csv","title":"CSV Files in Amazon S3","description":"This connector materializes delta updates of Flow collections into files in an S3 bucket per the CSV format described in RFC-4180.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-s3-iceberg":{"id":"reference/Connectors/materialization-connectors/amazon-s3-iceberg","title":"Apache Iceberg Tables in Amazon S3","description":"This connector materializes delta updates of Flow collections into Apache Iceberg tables using Amazon S3 for object storage and AWS Glue as the Iceberg catalog.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-s3-parquet":{"id":"reference/Connectors/materialization-connectors/amazon-s3-parquet","title":"Apache Parquet Files in Amazon S3","description":"This connector materializes delta updates of Flow collections into an S3 bucket in the Apache Parquet format.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/BigQuery":{"id":"reference/Connectors/materialization-connectors/BigQuery","title":"Google BigQuery","description":"This Flow connector materializes Flow collections into tables within a Google BigQuery dataset.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/databricks":{"id":"reference/Connectors/materialization-connectors/databricks","title":"Databricks","description":"This connector materializes Flow collections into tables in a Databricks SQL Warehouse.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Elasticsearch":{"id":"reference/Connectors/materialization-connectors/Elasticsearch","title":"Elasticsearch","description":"This connector materializes Flow collections into indices in an Elasticsearch cluster.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Firebolt":{"id":"reference/Connectors/materialization-connectors/Firebolt","title":"Firebolt","description":"This Flow connector materializes delta updates of Flow collections into Firebolt FACT or DIMENSION tables.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/google-gcs-csv":{"id":"reference/Connectors/materialization-connectors/google-gcs-csv","title":"CSV Files in Google GCS","description":"This connector materializes delta updates of Flow collections into files in a GCS bucket per the CSV format described in RFC-4180","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/google-gcs-parquet":{"id":"reference/Connectors/materialization-connectors/google-gcs-parquet","title":"Apache Parquet Files in Google GCS","description":"This connector materializes delta updates of Flow collections into a GCS bucket in the Apache Parquet format.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/google-pubsub":{"id":"reference/Connectors/materialization-connectors/google-pubsub","title":"Google Cloud Pub/Sub","description":"This connector materializes Flow collections into topics in Google Cloud Pub/Sub.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Google-sheets":{"id":"reference/Connectors/materialization-connectors/Google-sheets","title":"Google Sheets","description":"This connector materializes Flow collections into sheets in a Google Sheets spreadsheet.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/http-webhook":{"id":"reference/Connectors/materialization-connectors/http-webhook","title":"HTTP Webhook","description":"This connector lets you materialize data from Estuary Flow directly to specified HTTP endpoints via webhooks.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/mongodb":{"id":"reference/Connectors/materialization-connectors/mongodb","title":"MongoDB","description":"This connector materializes data from your Flow collections to your MongoDB collections.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/motherduck":{"id":"reference/Connectors/materialization-connectors/motherduck","title":"MotherDuck","description":"This connector materializes Flow collections into tables in a MotherDuck database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/mysql-heatwave":{"id":"reference/Connectors/materialization-connectors/mysql-heatwave","title":"MySQL HeatWave","description":"This connector lets you materialize data from your Flow collections directly into Oracle MySQL HeatWave instances.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql":{"id":"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","title":"Amazon RDS for MySQL","description":"This connector materializes Flow collections into tables in a Amazon RDS for MySQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql":{"id":"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","title":"Google Cloud SQL for MySQL","description":"This connector materializes Flow collections into tables in a Google Cloud SQL for MySQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/MySQL/mysql":{"id":"reference/Connectors/materialization-connectors/MySQL/mysql","title":"MySQL","description":"This connector materializes Flow collections into tables in a MySQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/pinecone":{"id":"reference/Connectors/materialization-connectors/pinecone","title":"Pinecone","description":"This connector materializes Flow collections into namespaces in a Pinecone index.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres":{"id":"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","title":"Amazon RDS for PostgreSQL","description":"This connector materializes Flow collections into tables in a Amazon RDS for PostgreSQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres":{"id":"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","title":"Google Cloud SQL for PostgreSQL","description":"This connector materializes Flow collections into tables in a Google Cloud SQL for PostgreSQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/PostgreSQL/PostgreSQL":{"id":"reference/Connectors/materialization-connectors/PostgreSQL/PostgreSQL","title":"PostgreSQL","description":"This connector materializes Flow collections into tables in a PostgreSQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/README":{"id":"reference/Connectors/materialization-connectors/README","title":"Materialization connectors","description":"Estuary\'s available materialization connectors are listed in this section. Each connector has a unique set of requirements for configuration; these are linked below the connector name.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Rockset":{"id":"reference/Connectors/materialization-connectors/Rockset","title":"Rockset","description":"This Flow connector materializes delta updates of your Flow collections into Rockset collections.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/slack":{"id":"reference/Connectors/materialization-connectors/slack","title":"Slack","description":"This connector lets you materialize data from Estuary Flow directly into Slack channels.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Snowflake":{"id":"reference/Connectors/materialization-connectors/Snowflake","title":"Snowflake","description":"This connector materializes Flow collections into tables in a Snowflake database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLite":{"id":"reference/Connectors/materialization-connectors/SQLite","title":"SQLite","description":"This connector materializes Flow collections into an ephemeral SQLite database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver":{"id":"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","title":"Amazon RDS for SQL Server","description":"This connector materializes Flow collections into tables in a Amazon RDS for SQL Server database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver":{"id":"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","title":"Google Cloud SQL for SQLServer","description":"This connector materializes Flow collections into tables in a Google Cloud SQL for SQLServer database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLServer/sqlserver":{"id":"reference/Connectors/materialization-connectors/SQLServer/sqlserver","title":"Microsoft SQLServer","description":"This connector materializes Flow collections into tables in a Microsoft SQLServer database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/starburst":{"id":"reference/Connectors/materialization-connectors/starburst","title":"Starburst","description":"This connector materializes transactionally Flow collections into Iceberg or Delta Lake tables using AWS S3 storage in Starburst Galaxy.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/timescaledb":{"id":"reference/Connectors/materialization-connectors/timescaledb","title":"TimescaleDB","description":"This connector materializes Flow collections into tables in a TimescaleDB database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-protocol":{"id":"reference/Connectors/materialization-protocol","title":"Materialization Protocol","description":"Materializations are processed as cooperative transactions between the Flow","sidebar":"tutorialSidebar"},"reference/Connectors/README":{"id":"reference/Connectors/README","title":"Connectors","description":"A current list and configuration details for Estuary\'s connectors can be found on the following pages:","sidebar":"tutorialSidebar"},"reference/editing":{"id":"reference/editing","title":"Editing considerations","description":"You can edit the components of your Data Flows in the Flow web app and with flowctl, but before you do so, it\'s important to consider the implications of your changes.","sidebar":"tutorialSidebar"},"reference/materialization-sync-schedule":{"id":"reference/materialization-sync-schedule","title":"Materialization sync schedule","description":"For some systems you might prefer to have data sync\'d less frequently to reduce","sidebar":"tutorialSidebar"},"reference/notifications":{"id":"reference/notifications","title":"Notifications","description":"Estuary allows users to configure email notifications on specific tenants to send out alerts when a task hasn\'t received data within a time window and when billing information has been updated.","sidebar":"tutorialSidebar"},"reference/organizing-catalogs":{"id":"reference/organizing-catalogs","title":"Organizing a Flow catalog","description":"This page is outdated. It does not reflect the current state of the Flow web application and the","sidebar":"tutorialSidebar"},"reference/reduction-strategies/append":{"id":"reference/reduction-strategies/append","title":"append","description":"Using the append reduction strategy","sidebar":"tutorialSidebar"},"reference/reduction-strategies/composing-with-conditionals":{"id":"reference/reduction-strategies/composing-with-conditionals","title":"Composing with conditionals","description":"Using conditionals statements to fine-tune reductions","sidebar":"tutorialSidebar"},"reference/reduction-strategies/firstwritewins-and-lastwritewins":{"id":"reference/reduction-strategies/firstwritewins-and-lastwritewins","title":"firstWriteWins and lastWriteWins","description":"Using the firstWriteWins and lastWriteWins reduction strategies","sidebar":"tutorialSidebar"},"reference/reduction-strategies/merge":{"id":"reference/reduction-strategies/merge","title":"merge","description":"Using the merge reduction strategy","sidebar":"tutorialSidebar"},"reference/reduction-strategies/minimize-and-maximize":{"id":"reference/reduction-strategies/minimize-and-maximize","title":"minimize and maximize","description":"Using the minimize and maximize reduction strategies","sidebar":"tutorialSidebar"},"reference/reduction-strategies/README":{"id":"reference/reduction-strategies/README","title":"Reduction strategies","description":"Flow\'s default reduction behaviors and available strategies to customize them","sidebar":"tutorialSidebar"},"reference/reduction-strategies/set":{"id":"reference/reduction-strategies/set","title":"set","description":"Using the set reduction strategy","sidebar":"tutorialSidebar"},"reference/reduction-strategies/sum":{"id":"reference/reduction-strategies/sum","title":"sum","description":"Using the sum reduction strategy","sidebar":"tutorialSidebar"},"reference/time-travel":{"id":"reference/time-travel","title":"Time Travel","description":"Time travel functionality allows you to restrict the data materialization process to a specific date range. When applying time travel to an existing materialization, it\'s important to note that it won\'t remove any existing documents. Instead, it will only materialize new data that falls within the specified date and time window. New data will not be included in your materialization destination unless it conforms to the specified date range criteria. Consequently, setting a lower boundary in the future date will delay the materialization of data until that future date is reached.","sidebar":"tutorialSidebar"},"reference/working-logs-stats":{"id":"reference/working-logs-stats","title":"Working with logs and statistics","description":"Your logs and stats collections","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.9ce2d5d8.js b/assets/js/22dd74f7.9ce2d5d8.js deleted file mode 100644 index 1e1b232267..0000000000 --- a/assets/js/22dd74f7.9ce2d5d8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Overview","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Who should use Flow?","href":"/overview/who-should-use-flow","docId":"overview/who-should-use-flow","unlisted":false},{"type":"link","label":"Comparisons","href":"/overview/comparisons","docId":"overview/comparisons","unlisted":false}],"href":"/"},{"type":"category","label":"Get started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Registration and setup","href":"/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"PostgreSQL CDC streaming to Snowflake","href":"/getting-started/tutorials/postgresql_cdc_to_snowflake","docId":"getting-started/tutorials/postgresql_cdc_to_snowflake","unlisted":false},{"type":"link","label":"Real-time CDC with MongoDB","href":"/getting-started/tutorials/real_time_cdc_with_mongodb","docId":"getting-started/tutorials/real_time_cdc_with_mongodb","unlisted":false},{"type":"link","label":"Create your first dataflow with Amazon S3 and Snowflake","href":"/getting-started/tutorials/dataflow-s3-snowflake","docId":"getting-started/tutorials/dataflow-s3-snowflake","unlisted":false},{"type":"link","label":"Create a real-time materialized view in PostgreSQL","href":"/getting-started/tutorials/continuous-materialized-view","docId":"getting-started/tutorials/continuous-materialized-view","unlisted":false},{"type":"link","label":"Implementing Derivations for AcmeBank","href":"/getting-started/tutorials/derivations_acmebank","docId":"getting-started/tutorials/derivations_acmebank","unlisted":false}],"href":"/getting-started/tutorials/"}]},{"type":"category","label":"User guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a basic Data Flow","href":"/guides/create-dataflow","docId":"guides/create-dataflow","unlisted":false},{"type":"category","label":"Create a Data Flow for specific systems","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Google Cloud Firestore to Snowflake","href":"/guides/system-specific-dataflows/firestore-to-dwh","docId":"guides/system-specific-dataflows/firestore-to-dwh","unlisted":false},{"type":"link","label":"Amazon S3 to Snowflake","href":"/guides/system-specific-dataflows/s3-to-snowflake","docId":"guides/system-specific-dataflows/s3-to-snowflake","unlisted":false}],"href":"/guides/system-specific-dataflows/"},{"type":"link","label":"Edit Data Flows in the web app","href":"/guides/edit-data-flows","docId":"guides/edit-data-flows","unlisted":false},{"type":"category","label":"Use flowctl","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Edit a Flow specification locally","href":"/guides/flowctl/edit-specification-locally","docId":"guides/flowctl/edit-specification-locally","unlisted":false},{"type":"link","label":"Edit a draft created in the web app","href":"/guides/flowctl/edit-draft-from-webapp","docId":"guides/flowctl/edit-draft-from-webapp","unlisted":false},{"type":"link","label":"Create a derivation with flowctl","href":"/guides/flowctl/create-derivation","docId":"guides/flowctl/create-derivation","unlisted":false},{"type":"link","label":"Troubleshoot a task with flowctl","href":"/guides/flowctl/troubleshoot-task","docId":"guides/flowctl/troubleshoot-task","unlisted":false}],"href":"/guides/flowctl/"},{"type":"link","label":"Configure connections with SSH tunneling","href":"/guides/connect-network","docId":"guides/connect-network","unlisted":false},{"type":"link","label":"Customize materialized fields","href":"/guides/customize-materialization-fields","docId":"guides/customize-materialization-fields","unlisted":false},{"type":"link","label":"Connecting to Estuary Flow from Kafka using Dekaf","href":"/guides/dekaf_reading_collections_from_kafka","docId":"guides/dekaf_reading_collections_from_kafka","unlisted":false},{"type":"link","label":"How to transform data using SQL","href":"/guides/derivation_tutorial_sql","docId":"guides/derivation_tutorial_sql","unlisted":false},{"type":"link","label":"How to join two collections (TypeScript)","href":"/guides/howto_join_two_collections_typescript","docId":"guides/howto_join_two_collections_typescript","unlisted":false},{"type":"link","label":"Schema evolution","href":"/guides/schema-evolution","docId":"guides/schema-evolution","unlisted":false},{"type":"link","label":"How to transform data using TypeScript","href":"/guides/transform_data_using_typescript","docId":"guides/transform_data_using_typescript","unlisted":false}],"href":"/guides/"},{"type":"category","label":"Concepts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Catalog","href":"/concepts/catalogs","docId":"concepts/catalogs","unlisted":false},{"type":"link","label":"Captures","href":"/concepts/captures","docId":"concepts/captures","unlisted":false},{"type":"link","label":"Collections","href":"/concepts/collections","docId":"concepts/collections","unlisted":false},{"type":"link","label":"Materializations","href":"/concepts/materialization","docId":"concepts/materialization","unlisted":false},{"type":"link","label":"Connectors","href":"/concepts/connectors","docId":"concepts/connectors","unlisted":false},{"type":"link","label":"Derivations","href":"/concepts/derivations","docId":"concepts/derivations","unlisted":false},{"type":"link","label":"Web application","href":"/concepts/web-app","docId":"concepts/web-app","unlisted":false},{"type":"link","label":"flowctl","href":"/concepts/flowctl","docId":"concepts/flowctl","unlisted":false},{"type":"link","label":"Imports","href":"/concepts/import","docId":"concepts/import","unlisted":false},{"type":"link","label":"Schemas","href":"/concepts/schemas","docId":"concepts/schemas","unlisted":false},{"type":"link","label":"Storage mappings","href":"/concepts/storage-mappings","docId":"concepts/storage-mappings","unlisted":false},{"type":"link","label":"Tests","href":"/concepts/tests","docId":"concepts/tests","unlisted":false},{"type":"category","label":"Advanced concepts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Schema evolution","href":"/concepts/advanced/evolutions","docId":"concepts/advanced/evolutions","unlisted":false},{"type":"link","label":"Journals","href":"/concepts/advanced/journals","docId":"concepts/advanced/journals","unlisted":false},{"type":"link","label":"Logs and statistics","href":"/concepts/advanced/logs-stats","docId":"concepts/advanced/logs-stats","unlisted":false},{"type":"link","label":"Projections","href":"/concepts/advanced/projections","docId":"concepts/advanced/projections","unlisted":false},{"type":"link","label":"Task shards","href":"/concepts/advanced/shards","docId":"concepts/advanced/shards","unlisted":false}]}],"href":"/concepts/"},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Connectors","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Capture connectors","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Aircall","href":"/reference/Connectors/capture-connectors/aircall","docId":"reference/Connectors/capture-connectors/aircall","unlisted":false},{"type":"link","label":"Airtable","href":"/reference/Connectors/capture-connectors/airtable","docId":"reference/Connectors/capture-connectors/airtable","unlisted":false},{"type":"link","label":"AlloyDB","href":"/reference/Connectors/capture-connectors/alloydb","docId":"reference/Connectors/capture-connectors/alloydb","unlisted":false},{"type":"link","label":"Alpaca","href":"/reference/Connectors/capture-connectors/alpaca","docId":"reference/Connectors/capture-connectors/alpaca","unlisted":false},{"type":"link","label":"Amazon Ads","href":"/reference/Connectors/capture-connectors/amazon-ads","docId":"reference/Connectors/capture-connectors/amazon-ads","unlisted":false},{"type":"link","label":"Amazon DynamoDB","href":"/reference/Connectors/capture-connectors/amazon-dynamodb","docId":"reference/Connectors/capture-connectors/amazon-dynamodb","unlisted":false},{"type":"link","label":"Amazon Kinesis","href":"/reference/Connectors/capture-connectors/amazon-kinesis","docId":"reference/Connectors/capture-connectors/amazon-kinesis","unlisted":false},{"type":"link","label":"Amazon Redshift","href":"/reference/Connectors/capture-connectors/amazon-redshift","docId":"reference/Connectors/capture-connectors/amazon-redshift","unlisted":false},{"type":"link","label":"Amazon S3","href":"/reference/Connectors/capture-connectors/amazon-s3","docId":"reference/Connectors/capture-connectors/amazon-s3","unlisted":false},{"type":"link","label":"Amazon SQS","href":"/reference/Connectors/capture-connectors/amazon-sqs","docId":"reference/Connectors/capture-connectors/amazon-sqs","unlisted":false},{"type":"link","label":"Amplitude","href":"/reference/Connectors/capture-connectors/amplitude","docId":"reference/Connectors/capture-connectors/amplitude","unlisted":false},{"type":"link","label":"Apache Kafka","href":"/reference/Connectors/capture-connectors/apache-kafka","docId":"reference/Connectors/capture-connectors/apache-kafka","unlisted":false},{"type":"link","label":"Azure Blob Storage","href":"/reference/Connectors/capture-connectors/azure-blob-storage","docId":"reference/Connectors/capture-connectors/azure-blob-storage","unlisted":false},{"type":"link","label":"BigQuery Batch Query Connector","href":"/reference/Connectors/capture-connectors/bigquery-batch","docId":"reference/Connectors/capture-connectors/bigquery-batch","unlisted":false},{"type":"link","label":"Bing Ads","href":"/reference/Connectors/capture-connectors/bing-ads","docId":"reference/Connectors/capture-connectors/bing-ads","unlisted":false},{"type":"link","label":"Braintree","href":"/reference/Connectors/capture-connectors/braintree","docId":"reference/Connectors/capture-connectors/braintree","unlisted":false},{"type":"link","label":"Braze","href":"/reference/Connectors/capture-connectors/braze","docId":"reference/Connectors/capture-connectors/braze","unlisted":false},{"type":"link","label":"Chargebee","href":"/reference/Connectors/capture-connectors/chargebee","docId":"reference/Connectors/capture-connectors/chargebee","unlisted":false},{"type":"link","label":"Confluence","href":"/reference/Connectors/capture-connectors/confluence","docId":"reference/Connectors/capture-connectors/confluence","unlisted":false},{"type":"link","label":"Datadog HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/datadog-ingest","docId":"reference/Connectors/capture-connectors/datadog-ingest","unlisted":false},{"type":"link","label":"Dropbox","href":"/reference/Connectors/capture-connectors/dropbox","docId":"reference/Connectors/capture-connectors/dropbox","unlisted":false},{"type":"link","label":"Exchange Rates API","href":"/reference/Connectors/capture-connectors/exchange-rates","docId":"reference/Connectors/capture-connectors/exchange-rates","unlisted":false},{"type":"link","label":"Facebook Marketing","href":"/reference/Connectors/capture-connectors/facebook-marketing","docId":"reference/Connectors/capture-connectors/facebook-marketing","unlisted":false},{"type":"link","label":"Freshdesk","href":"/reference/Connectors/capture-connectors/freshdesk","docId":"reference/Connectors/capture-connectors/freshdesk","unlisted":false},{"type":"link","label":"Google Cloud Storage","href":"/reference/Connectors/capture-connectors/gcs","docId":"reference/Connectors/capture-connectors/gcs","unlisted":false},{"type":"link","label":"GitHub","href":"/reference/Connectors/capture-connectors/github","docId":"reference/Connectors/capture-connectors/github","unlisted":false},{"type":"link","label":"GitLab","href":"/reference/Connectors/capture-connectors/gitlab","docId":"reference/Connectors/capture-connectors/gitlab","unlisted":false},{"type":"link","label":"Gladly","href":"/reference/Connectors/capture-connectors/gladly","docId":"reference/Connectors/capture-connectors/gladly","unlisted":false},{"type":"link","label":"Google Ads","href":"/reference/Connectors/capture-connectors/google-ads","docId":"reference/Connectors/capture-connectors/google-ads","unlisted":false},{"type":"link","label":"Google Analytics UA","href":"/reference/Connectors/capture-connectors/google-analytics","docId":"reference/Connectors/capture-connectors/google-analytics","unlisted":false},{"type":"link","label":"Google Analytics 4","href":"/reference/Connectors/capture-connectors/google-analytics-4","docId":"reference/Connectors/capture-connectors/google-analytics-4","unlisted":false},{"type":"link","label":"Google Drive","href":"/reference/Connectors/capture-connectors/google-drive","docId":"reference/Connectors/capture-connectors/google-drive","unlisted":false},{"type":"link","label":"Google Firestore","href":"/reference/Connectors/capture-connectors/google-firestore","docId":"reference/Connectors/capture-connectors/google-firestore","unlisted":false},{"type":"link","label":"Google Cloud Pub/Sub","href":"/reference/Connectors/capture-connectors/google-pubsub","docId":"reference/Connectors/capture-connectors/google-pubsub","unlisted":false},{"type":"link","label":"Google Search Console","href":"/reference/Connectors/capture-connectors/google-search-console","docId":"reference/Connectors/capture-connectors/google-search-console","unlisted":false},{"type":"link","label":"Google Sheets","href":"/reference/Connectors/capture-connectors/google-sheets","docId":"reference/Connectors/capture-connectors/google-sheets","unlisted":false},{"type":"link","label":"Greenhouse","href":"/reference/Connectors/capture-connectors/greenhouse","docId":"reference/Connectors/capture-connectors/greenhouse","unlisted":false},{"type":"link","label":"Harvest","href":"/reference/Connectors/capture-connectors/harvest","docId":"reference/Connectors/capture-connectors/harvest","unlisted":false},{"type":"link","label":"HTTP File","href":"/reference/Connectors/capture-connectors/http-file","docId":"reference/Connectors/capture-connectors/http-file","unlisted":false},{"type":"link","label":"HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/http-ingest","docId":"reference/Connectors/capture-connectors/http-ingest","unlisted":false},{"type":"link","label":"Hubspot","href":"/reference/Connectors/capture-connectors/hubspot","docId":"reference/Connectors/capture-connectors/hubspot","unlisted":false},{"type":"link","label":"HubSpot ( Real-Time )","href":"/reference/Connectors/capture-connectors/hubspot-real-time","docId":"reference/Connectors/capture-connectors/hubspot-real-time","unlisted":false},{"type":"link","label":"Instagram","href":"/reference/Connectors/capture-connectors/instagram","docId":"reference/Connectors/capture-connectors/instagram","unlisted":false},{"type":"link","label":"Intercom","href":"/reference/Connectors/capture-connectors/intercom","docId":"reference/Connectors/capture-connectors/intercom","unlisted":false},{"type":"link","label":"Intercom HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/intercom-ingest","docId":"reference/Connectors/capture-connectors/intercom-ingest","unlisted":false},{"type":"link","label":"Iterable","href":"/reference/Connectors/capture-connectors/iterable","docId":"reference/Connectors/capture-connectors/iterable","unlisted":false},{"type":"link","label":"Jira","href":"/reference/Connectors/capture-connectors/jira","docId":"reference/Connectors/capture-connectors/jira","unlisted":false},{"type":"link","label":"Jira HTTP Ingest (Webhook)","href":"/reference/Connectors/capture-connectors/jira-ingest","docId":"reference/Connectors/capture-connectors/jira-ingest","unlisted":false},{"type":"link","label":"Klaviyo","href":"/reference/Connectors/capture-connectors/klaviyo","docId":"reference/Connectors/capture-connectors/klaviyo","unlisted":false},{"type":"link","label":"LinkedIn Ads","href":"/reference/Connectors/capture-connectors/linkedin-ads","docId":"reference/Connectors/capture-connectors/linkedin-ads","unlisted":false},{"type":"link","label":"LinkedIn Pages","href":"/reference/Connectors/capture-connectors/linkedin-pages","docId":"reference/Connectors/capture-connectors/linkedin-pages","unlisted":false},{"type":"link","label":"Mailchimp","href":"/reference/Connectors/capture-connectors/mailchimp","docId":"reference/Connectors/capture-connectors/mailchimp","unlisted":false},{"type":"category","label":"MariaDB","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for MariaDB","href":"/reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","docId":"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","unlisted":false}],"href":"/reference/Connectors/capture-connectors/MariaDB/"},{"type":"link","label":"Marketo","href":"/reference/Connectors/capture-connectors/marketo","docId":"reference/Connectors/capture-connectors/marketo","unlisted":false},{"type":"category","label":"Microsoft SQL Server","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for SQL Server","href":"/reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","docId":"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","unlisted":false},{"type":"link","label":"Google Cloud SQL for SQL Server","href":"/reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","docId":"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","unlisted":false}],"href":"/reference/Connectors/capture-connectors/SQLServer/"},{"type":"link","label":"MixPanel","href":"/reference/Connectors/capture-connectors/mixpanel","docId":"reference/Connectors/capture-connectors/mixpanel","unlisted":false},{"type":"link","label":"MongoDB","href":"/reference/Connectors/capture-connectors/mongodb","docId":"reference/Connectors/capture-connectors/mongodb","unlisted":false},{"type":"category","label":"MySQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for MySQL","href":"/reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","docId":"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","unlisted":false},{"type":"link","label":"Google Cloud SQL for MySQL","href":"/reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","docId":"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","unlisted":false},{"type":"link","label":"MySQL Batch Query Connector","href":"/reference/Connectors/capture-connectors/MySQL/mysql-batch","docId":"reference/Connectors/capture-connectors/MySQL/mysql-batch","unlisted":false}],"href":"/reference/Connectors/capture-connectors/MySQL/"},{"type":"link","label":"NetSuite SuiteAnalytics Connect","href":"/reference/Connectors/capture-connectors/netsuite-suiteanalytics","docId":"reference/Connectors/capture-connectors/netsuite-suiteanalytics","unlisted":false},{"type":"link","label":"NetSuite SuiteTalk REST","href":"/reference/Connectors/capture-connectors/netsuite-suitetalk","docId":"reference/Connectors/capture-connectors/netsuite-suitetalk","unlisted":false},{"type":"link","label":"Notion","href":"/reference/Connectors/capture-connectors/notion","docId":"reference/Connectors/capture-connectors/notion","unlisted":false},{"type":"category","label":"OracleDB","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"OracleDB (Flashback)","href":"/reference/Connectors/capture-connectors/OracleDB/flashback","docId":"reference/Connectors/capture-connectors/OracleDB/flashback","unlisted":false}],"href":"/reference/Connectors/capture-connectors/OracleDB/"},{"type":"link","label":"Paypal Transaction","href":"/reference/Connectors/capture-connectors/paypal-transaction","docId":"reference/Connectors/capture-connectors/paypal-transaction","unlisted":false},{"type":"link","label":"Pendo","href":"/reference/Connectors/capture-connectors/pendo","docId":"reference/Connectors/capture-connectors/pendo","unlisted":false},{"type":"link","label":"Pinterest","href":"/reference/Connectors/capture-connectors/pinterest","docId":"reference/Connectors/capture-connectors/pinterest","unlisted":false},{"type":"category","label":"PostgreSQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Supabase","href":"/reference/Connectors/capture-connectors/PostgreSQL/Supabase","docId":"reference/Connectors/capture-connectors/PostgreSQL/Supabase","unlisted":false},{"type":"link","label":"Amazon RDS for PostgreSQL","href":"/reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","docId":"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","unlisted":false},{"type":"link","label":"Google Cloud SQL for PostgreSQL","href":"/reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","docId":"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","unlisted":false},{"type":"link","label":"Neon PostgreSQL","href":"/reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","docId":"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","unlisted":false},{"type":"link","label":"PostgreSQL Batch Query Connector","href":"/reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","docId":"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","unlisted":false}],"href":"/reference/Connectors/capture-connectors/PostgreSQL/"},{"type":"link","label":"Recharge","href":"/reference/Connectors/capture-connectors/recharge","docId":"reference/Connectors/capture-connectors/recharge","unlisted":false},{"type":"category","label":"Salesforce","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Salesforce \u2014 Historical data","href":"/reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","docId":"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","unlisted":false},{"type":"link","label":"Salesforce \u2014 Real-time data","href":"/reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","docId":"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","unlisted":false}],"href":"/reference/Connectors/capture-connectors/Salesforce/"},{"type":"link","label":"SendGrid","href":"/reference/Connectors/capture-connectors/sendgrid","docId":"reference/Connectors/capture-connectors/sendgrid","unlisted":false},{"type":"link","label":"Sentry","href":"/reference/Connectors/capture-connectors/sentry","docId":"reference/Connectors/capture-connectors/sentry","unlisted":false},{"type":"link","label":"SFTP","href":"/reference/Connectors/capture-connectors/sftp","docId":"reference/Connectors/capture-connectors/sftp","unlisted":false},{"type":"link","label":"Slack","href":"/reference/Connectors/capture-connectors/slack","docId":"reference/Connectors/capture-connectors/slack","unlisted":false},{"type":"link","label":"Snapchat Marketing","href":"/reference/Connectors/capture-connectors/snapchat","docId":"reference/Connectors/capture-connectors/snapchat","unlisted":false},{"type":"link","label":"Snowflake CDC Connector","href":"/reference/Connectors/capture-connectors/snowflake","docId":"reference/Connectors/capture-connectors/snowflake","unlisted":false},{"type":"link","label":"Stripe","href":"/reference/Connectors/capture-connectors/stripe","docId":"reference/Connectors/capture-connectors/stripe","unlisted":false},{"type":"link","label":"Survey Monkey","href":"/reference/Connectors/capture-connectors/survey-monkey","docId":"reference/Connectors/capture-connectors/survey-monkey","unlisted":false},{"type":"link","label":"TikTok Marketing","href":"/reference/Connectors/capture-connectors/tiktok","docId":"reference/Connectors/capture-connectors/tiktok","unlisted":false},{"type":"link","label":"Twilio","href":"/reference/Connectors/capture-connectors/twilio","docId":"reference/Connectors/capture-connectors/twilio","unlisted":false},{"type":"link","label":"WooCommerce","href":"/reference/Connectors/capture-connectors/woocommerce","docId":"reference/Connectors/capture-connectors/woocommerce","unlisted":false},{"type":"link","label":"YouTube Analytics","href":"/reference/Connectors/capture-connectors/youtube-analytics","docId":"reference/Connectors/capture-connectors/youtube-analytics","unlisted":false},{"type":"link","label":"Zendesk Chat","href":"/reference/Connectors/capture-connectors/zendesk-chat","docId":"reference/Connectors/capture-connectors/zendesk-chat","unlisted":false},{"type":"link","label":"Zendesk Support","href":"/reference/Connectors/capture-connectors/zendesk-support","docId":"reference/Connectors/capture-connectors/zendesk-support","unlisted":false}],"href":"/reference/Connectors/capture-connectors/"},{"type":"category","label":"Dekaf integrations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"StarTree","href":"/reference/Connectors/dekaf/dekaf-startree","docId":"reference/Connectors/dekaf/dekaf-startree","unlisted":false},{"type":"link","label":"Tinybird","href":"/reference/Connectors/dekaf/dekaf-tinybird","docId":"reference/Connectors/dekaf/dekaf-tinybird","unlisted":false}],"href":"/reference/Connectors/dekaf/"},{"type":"category","label":"Materialization connectors","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AlloyDB","href":"/reference/Connectors/materialization-connectors/alloydb","docId":"reference/Connectors/materialization-connectors/alloydb","unlisted":false},{"type":"link","label":"Amazon DynamoDB","href":"/reference/Connectors/materialization-connectors/amazon-dynamodb","docId":"reference/Connectors/materialization-connectors/amazon-dynamodb","unlisted":false},{"type":"link","label":"Amazon Redshift","href":"/reference/Connectors/materialization-connectors/amazon-redshift","docId":"reference/Connectors/materialization-connectors/amazon-redshift","unlisted":false},{"type":"link","label":"CSV Files in Amazon S3","href":"/reference/Connectors/materialization-connectors/amazon-s3-csv","docId":"reference/Connectors/materialization-connectors/amazon-s3-csv","unlisted":false},{"type":"link","label":"Apache Iceberg Tables in Amazon S3","href":"/reference/Connectors/materialization-connectors/amazon-s3-iceberg","docId":"reference/Connectors/materialization-connectors/amazon-s3-iceberg","unlisted":false},{"type":"link","label":"Apache Parquet Files in Amazon S3","href":"/reference/Connectors/materialization-connectors/amazon-s3-parquet","docId":"reference/Connectors/materialization-connectors/amazon-s3-parquet","unlisted":false},{"type":"link","label":"Google BigQuery","href":"/reference/Connectors/materialization-connectors/BigQuery","docId":"reference/Connectors/materialization-connectors/BigQuery","unlisted":false},{"type":"link","label":"Databricks","href":"/reference/Connectors/materialization-connectors/databricks","docId":"reference/Connectors/materialization-connectors/databricks","unlisted":false},{"type":"link","label":"Elasticsearch","href":"/reference/Connectors/materialization-connectors/Elasticsearch","docId":"reference/Connectors/materialization-connectors/Elasticsearch","unlisted":false},{"type":"link","label":"Firebolt","href":"/reference/Connectors/materialization-connectors/Firebolt","docId":"reference/Connectors/materialization-connectors/Firebolt","unlisted":false},{"type":"link","label":"CSV Files in Google GCS","href":"/reference/Connectors/materialization-connectors/google-gcs-csv","docId":"reference/Connectors/materialization-connectors/google-gcs-csv","unlisted":false},{"type":"link","label":"Apache Parquet Files in Google GCS","href":"/reference/Connectors/materialization-connectors/google-gcs-parquet","docId":"reference/Connectors/materialization-connectors/google-gcs-parquet","unlisted":false},{"type":"link","label":"Google Cloud Pub/Sub","href":"/reference/Connectors/materialization-connectors/google-pubsub","docId":"reference/Connectors/materialization-connectors/google-pubsub","unlisted":false},{"type":"link","label":"Google Sheets","href":"/reference/Connectors/materialization-connectors/Google-sheets","docId":"reference/Connectors/materialization-connectors/Google-sheets","unlisted":false},{"type":"link","label":"HTTP Webhook","href":"/reference/Connectors/materialization-connectors/http-webhook","docId":"reference/Connectors/materialization-connectors/http-webhook","unlisted":false},{"type":"category","label":"Microsoft SQLServer","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for SQL Server","href":"/reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","docId":"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","unlisted":false},{"type":"link","label":"Google Cloud SQL for SQLServer","href":"/reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","docId":"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/SQLServer/"},{"type":"link","label":"MongoDB","href":"/reference/Connectors/materialization-connectors/mongodb","docId":"reference/Connectors/materialization-connectors/mongodb","unlisted":false},{"type":"link","label":"MotherDuck","href":"/reference/Connectors/materialization-connectors/motherduck","docId":"reference/Connectors/materialization-connectors/motherduck","unlisted":false},{"type":"category","label":"MySQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for MySQL","href":"/reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","docId":"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","unlisted":false},{"type":"link","label":"Google Cloud SQL for MySQL","href":"/reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","docId":"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/MySQL/"},{"type":"link","label":"MySQL HeatWave","href":"/reference/Connectors/materialization-connectors/mysql-heatwave","docId":"reference/Connectors/materialization-connectors/mysql-heatwave","unlisted":false},{"type":"link","label":"Pinecone","href":"/reference/Connectors/materialization-connectors/pinecone","docId":"reference/Connectors/materialization-connectors/pinecone","unlisted":false},{"type":"category","label":"PostgreSQL","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon RDS for PostgreSQL","href":"/reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","docId":"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","unlisted":false},{"type":"link","label":"Google Cloud SQL for PostgreSQL","href":"/reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","docId":"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/PostgreSQL/"},{"type":"link","label":"Rockset","href":"/reference/Connectors/materialization-connectors/Rockset","docId":"reference/Connectors/materialization-connectors/Rockset","unlisted":false},{"type":"link","label":"Slack","href":"/reference/Connectors/materialization-connectors/slack","docId":"reference/Connectors/materialization-connectors/slack","unlisted":false},{"type":"link","label":"Snowflake","href":"/reference/Connectors/materialization-connectors/Snowflake","docId":"reference/Connectors/materialization-connectors/Snowflake","unlisted":false},{"type":"link","label":"SQLite","href":"/reference/Connectors/materialization-connectors/SQLite","docId":"reference/Connectors/materialization-connectors/SQLite","unlisted":false},{"type":"link","label":"Starburst","href":"/reference/Connectors/materialization-connectors/starburst","docId":"reference/Connectors/materialization-connectors/starburst","unlisted":false},{"type":"link","label":"TimescaleDB","href":"/reference/Connectors/materialization-connectors/timescaledb","docId":"reference/Connectors/materialization-connectors/timescaledb","unlisted":false}],"href":"/reference/Connectors/materialization-connectors/"},{"type":"link","label":"Materialization Protocol","href":"/reference/Connectors/materialization-protocol","docId":"reference/Connectors/materialization-protocol","unlisted":false}],"href":"/reference/Connectors/"},{"type":"link","label":"Authorizing users and authenticating with Flow","href":"/reference/authentication","docId":"reference/authentication","unlisted":false},{"type":"link","label":"Editing considerations","href":"/reference/editing","docId":"reference/editing","unlisted":false},{"type":"link","label":"Notifications","href":"/reference/notifications","docId":"reference/notifications","unlisted":false},{"type":"link","label":"Time Travel","href":"/reference/time-travel","docId":"reference/time-travel","unlisted":false},{"type":"link","label":"Configuring task shards","href":"/reference/Configuring-task-shards","docId":"reference/Configuring-task-shards","unlisted":false},{"type":"category","label":"Reduction strategies","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"append","href":"/reference/reduction-strategies/append","docId":"reference/reduction-strategies/append","unlisted":false},{"type":"link","label":"firstWriteWins and lastWriteWins","href":"/reference/reduction-strategies/firstwritewins-and-lastwritewins","docId":"reference/reduction-strategies/firstwritewins-and-lastwritewins","unlisted":false},{"type":"link","label":"merge","href":"/reference/reduction-strategies/merge","docId":"reference/reduction-strategies/merge","unlisted":false},{"type":"link","label":"minimize and maximize","href":"/reference/reduction-strategies/minimize-and-maximize","docId":"reference/reduction-strategies/minimize-and-maximize","unlisted":false},{"type":"link","label":"set","href":"/reference/reduction-strategies/set","docId":"reference/reduction-strategies/set","unlisted":false},{"type":"link","label":"sum","href":"/reference/reduction-strategies/sum","docId":"reference/reduction-strategies/sum","unlisted":false},{"type":"link","label":"Composing with conditionals","href":"/reference/reduction-strategies/composing-with-conditionals","docId":"reference/reduction-strategies/composing-with-conditionals","unlisted":false}],"href":"/reference/reduction-strategies/"},{"type":"link","label":"Working with logs and statistics","href":"/reference/working-logs-stats","docId":"reference/working-logs-stats","unlisted":false},{"type":"link","label":"Organizing a Flow catalog","href":"/reference/organizing-catalogs","docId":"reference/organizing-catalogs","unlisted":false},{"type":"link","label":"Allowlisting IP Addresses for Estuary Flow","href":"/reference/allow-ip-addresses","docId":"reference/allow-ip-addresses","unlisted":false},{"type":"link","label":"Materialization sync schedule","href":"/reference/materialization-sync-schedule","docId":"reference/materialization-sync-schedule","unlisted":false}]}]},"docs":{"concepts/advanced/evolutions":{"id":"concepts/advanced/evolutions","title":"Schema evolution","description":"Schema evolutions are a feature you can use to update your whole Data Flow to reflect edits to a collection, preventing your Data Flow from failing due to mismatched components.","sidebar":"tutorialSidebar"},"concepts/advanced/journals":{"id":"concepts/advanced/journals","title":"Journals","description":"Journals are an advanced concept of Flow.","sidebar":"tutorialSidebar"},"concepts/advanced/logs-stats":{"id":"concepts/advanced/logs-stats","title":"Logs and statistics","description":"Flow collects logs and statistics of catalog tasks to aid in debugging and refinement of your workflows.","sidebar":"tutorialSidebar"},"concepts/advanced/projections":{"id":"concepts/advanced/projections","title":"Projections","description":"Projections are an advanced concept of Flow.","sidebar":"tutorialSidebar"},"concepts/advanced/shards":{"id":"concepts/advanced/shards","title":"Task shards","description":"Catalog tasks \u2014 captures, derivations, and materializations \u2014","sidebar":"tutorialSidebar"},"concepts/captures":{"id":"concepts/captures","title":"Captures","description":"A capture is how Flow ingests data from an external source.","sidebar":"tutorialSidebar"},"concepts/catalogs":{"id":"concepts/catalogs","title":"Catalog","description":"The catalog is the set of published entities that comprise all Data Flows: captures, materializations, derivations, collections, schemas, tests, and more.","sidebar":"tutorialSidebar"},"concepts/collections":{"id":"concepts/collections","title":"Collections","description":"The documents of your Data Flows are stored in collections:","sidebar":"tutorialSidebar"},"concepts/connectors":{"id":"concepts/connectors","title":"Connectors","description":"Connectors bridge the gap between Flow and","sidebar":"tutorialSidebar"},"concepts/derivations":{"id":"concepts/derivations","title":"Derivations","description":"At times, the collections generated by a capture may not be suitable for your needs.","sidebar":"tutorialSidebar"},"concepts/flowctl":{"id":"concepts/flowctl","title":"flowctl","description":"There are two ways to work with Flow: through the web app, and using the flowctl command-line interface.","sidebar":"tutorialSidebar"},"concepts/import":{"id":"concepts/import","title":"Imports","description":"When you work on a draft Data Flow using flowctl draft,","sidebar":"tutorialSidebar"},"concepts/materialization":{"id":"concepts/materialization","title":"Materializations","description":"A materialization is how Flow pushes data to an external destination.","sidebar":"tutorialSidebar"},"concepts/README":{"id":"concepts/README","title":"Concepts","description":"Flow helps you define data pipelines, known as Data Flows, that connect multiple data systems, APIs, and storage, and optionally transform data along the way.","sidebar":"tutorialSidebar"},"concepts/schemas":{"id":"concepts/schemas","title":"Schemas","description":"Flow documents and collections always have an associated schema","sidebar":"tutorialSidebar"},"concepts/storage-mappings":{"id":"concepts/storage-mappings","title":"Storage mappings","description":"Flow stores the documents that comprise your collections in a cloud storage bucket.","sidebar":"tutorialSidebar"},"concepts/tests":{"id":"concepts/tests","title":"Tests","description":"The Flow web application automatically performs basic tests to validate the configurations of captures and materializations.","sidebar":"tutorialSidebar"},"concepts/web-app":{"id":"concepts/web-app","title":"Web application","description":"Flow\'s web application is at dashboard.estuary.dev.","sidebar":"tutorialSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Registration and setup","description":"Estuary Flow is a fully managed web application that also offers a robust CLI.","sidebar":"tutorialSidebar"},"getting-started/tutorials/continuous-materialized-view":{"id":"getting-started/tutorials/continuous-materialized-view","title":"Create a real-time materialized view in PostgreSQL","description":"PostgreSQL supports materialized views: database objects that contain the result of a query, usually a focused subset of a large dataset.","sidebar":"tutorialSidebar"},"getting-started/tutorials/dataflow-s3-snowflake":{"id":"getting-started/tutorials/dataflow-s3-snowflake","title":"Create your first dataflow with Amazon S3 and Snowflake","description":"In this tutorial, you\'ll create your first complete Data Flow with Estuary Flow using publicly available data.","sidebar":"tutorialSidebar"},"getting-started/tutorials/derivations_acmebank":{"id":"getting-started/tutorials/derivations_acmebank","title":"Implementing Derivations for AcmeBank","description":"The following tutorial sections use an illustrative example","sidebar":"tutorialSidebar"},"getting-started/tutorials/postgresql_cdc_to_snowflake":{"id":"getting-started/tutorials/postgresql_cdc_to_snowflake","title":"PostgreSQL CDC streaming to Snowflake","description":"Introduction","sidebar":"tutorialSidebar"},"getting-started/tutorials/README":{"id":"getting-started/tutorials/README","title":"Flow tutorials","description":"Flow tutorials are complete learning experiences that help you get to know Flow using sample data.","sidebar":"tutorialSidebar"},"getting-started/tutorials/real_time_cdc_with_mongodb":{"id":"getting-started/tutorials/real_time_cdc_with_mongodb","title":"Real-time CDC with MongoDB","description":"A step-by-step guide to setting up Change Data Capture (CDC) from MongoDB with Estuary Flow.","sidebar":"tutorialSidebar"},"guides/connect-network":{"id":"guides/connect-network","title":"Configure connections with SSH tunneling","description":"Flow connects to certain types of endpoints \u2014 generally databases \u2014 using their IP address and port.","sidebar":"tutorialSidebar"},"guides/create-dataflow":{"id":"guides/create-dataflow","title":"Create a basic Data Flow","description":"This guide walks you through the process of creating an end-to-end Data Flow.","sidebar":"tutorialSidebar"},"guides/customize-materialization-fields":{"id":"guides/customize-materialization-fields","title":"Customize materialized fields","description":"When you first materialize a collection to an endpoint like a database or data warehouse,","sidebar":"tutorialSidebar"},"guides/dekaf_reading_collections_from_kafka":{"id":"guides/dekaf_reading_collections_from_kafka","title":"Connecting to Estuary Flow from Kafka using Dekaf","description":"Reporting is not yet supported for Dekaf, but is coming.","sidebar":"tutorialSidebar"},"guides/derivation_tutorial_sql":{"id":"guides/derivation_tutorial_sql","title":"How to transform data using SQL","description":"This guide will teach you how to write and publish a simple SQL derivation that you can use to transform data from one collection to another.","sidebar":"tutorialSidebar"},"guides/edit-data-flows":{"id":"guides/edit-data-flows","title":"Edit Data Flows in the web app","description":"You can edit existing captures, collection schemas, and materializations in the Flow web app.","sidebar":"tutorialSidebar"},"guides/flowctl/create-derivation":{"id":"guides/flowctl/create-derivation","title":"Create a derivation with flowctl","description":"Once you\'re familiar with creating a basic Data Flow, you can take things a step further","sidebar":"tutorialSidebar"},"guides/flowctl/edit-draft-from-webapp":{"id":"guides/flowctl/edit-draft-from-webapp","title":"Edit a draft created in the web app","description":"When you create or edit tasks in the web app, your work is periodically saved as a draft.","sidebar":"tutorialSidebar"},"guides/flowctl/edit-specification-locally":{"id":"guides/flowctl/edit-specification-locally","title":"Edit a Flow specification locally","description":"The Flow web application is designed to make the most common Flow tasks quick and easy.","sidebar":"tutorialSidebar"},"guides/flowctl/README":{"id":"guides/flowctl/README","title":"flowctl guides","description":"The guides in this section cover common workflows using the Estuary Flow CLI, flowctl.","sidebar":"tutorialSidebar"},"guides/flowctl/troubleshoot-task":{"id":"guides/flowctl/troubleshoot-task","title":"Troubleshoot a task with flowctl","description":"The flowctl logs and stats subcommands have been temporarily disabled while we work on some important changes to our authorization system. We expect to have these working again soon. In the meantime, please reach out to us via Slack or email (support@estuary.dev) if you want any help.","sidebar":"tutorialSidebar"},"guides/howto_join_two_collections_typescript":{"id":"guides/howto_join_two_collections_typescript","title":"How to join two collections (TypeScript)","description":"This guide will teach you how to write and publish a TypeScript derivation, which will join two collections together on a common key.","sidebar":"tutorialSidebar"},"guides/README":{"id":"guides/README","title":"Flow user guides","description":"In this section, you\'ll find step-by-step guides that walk you through common Flow tasks.","sidebar":"tutorialSidebar"},"guides/schema-evolution":{"id":"guides/schema-evolution","title":"Schema evolution","description":"When collection specifications and schemas change, you must make corresponding changes in other parts of your Data Flow to avoid errors. In this guide, you\'ll learn how to respond to different types of collection changes.","sidebar":"tutorialSidebar"},"guides/system-specific-dataflows/firestore-to-dwh":{"id":"guides/system-specific-dataflows/firestore-to-dwh","title":"Google Cloud Firestore to Snowflake","description":"This guide walks you through the process of creating an","sidebar":"tutorialSidebar"},"guides/system-specific-dataflows/README":{"id":"guides/system-specific-dataflows/README","title":"System-specific Data Flows","description":"The guides in this section cover popular Estuary Flow use cases. Each guide walks you through the process of capturing data from a specific source system and materializing it to a specific destination.","sidebar":"tutorialSidebar"},"guides/system-specific-dataflows/s3-to-snowflake":{"id":"guides/system-specific-dataflows/s3-to-snowflake","title":"Amazon S3 to Snowflake","description":"This guide walks you through the process of creating an","sidebar":"tutorialSidebar"},"guides/transform_data_using_typescript":{"id":"guides/transform_data_using_typescript","title":"How to transform data using TypeScript","description":"This guide will teach you how to write and publish a simple TypeScript derivation.","sidebar":"tutorialSidebar"},"overview/comparisons":{"id":"overview/comparisons","title":"Comparisons","description":"High level explanations of Flow in terms of the systems you already know","sidebar":"tutorialSidebar"},"overview/README":{"id":"overview/README","title":"Flow documentation","description":"Get to know Estuary Flow and learn how to get started.","sidebar":"tutorialSidebar"},"overview/who-should-use-flow":{"id":"overview/who-should-use-flow","title":"Who should use Flow?","description":"Common pain points you might have, and how Flow addresses them.","sidebar":"tutorialSidebar"},"reference/allow-ip-addresses":{"id":"reference/allow-ip-addresses","title":"Allowlisting IP Addresses for Estuary Flow","description":"When configuring systems that interact with Estuary Flow, it\'s crucial to ensure that the necessary IP addresses are","sidebar":"tutorialSidebar"},"reference/authentication":{"id":"reference/authentication","title":"Authorizing users and authenticating with Flow","description":"Read, write, and admin capabilities over Flow catalogs and the collections that comprise them","sidebar":"tutorialSidebar"},"reference/Configuring-task-shards":{"id":"reference/Configuring-task-shards","title":"Configuring task shards","description":"For some catalog tasks, it\'s helpful to control the behavior of shards","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/aircall":{"id":"reference/Connectors/capture-connectors/aircall","title":"Aircall","description":"This connector captures data from Aircall into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/airtable":{"id":"reference/Connectors/capture-connectors/airtable","title":"Airtable","description":"This connector captures data from Airtable into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/alloydb":{"id":"reference/Connectors/capture-connectors/alloydb","title":"AlloyDB","description":"This connector uses change data capture (CDC) to continuously capture table updates in an AlloyDB database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/alpaca":{"id":"reference/Connectors/capture-connectors/alpaca","title":"Alpaca","description":"This connector captures stock trade data from the Alpaca Market Data API into a Flow collection.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-ads":{"id":"reference/Connectors/capture-connectors/amazon-ads","title":"Amazon Ads","description":"This connector captures data from Amazon Ads into Flow collections via the Amazon Ads API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-dynamodb":{"id":"reference/Connectors/capture-connectors/amazon-dynamodb","title":"Amazon DynamoDB","description":"This connector uses DynamoDB streams to continuously capture updates from DynamoDB tables into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-kinesis":{"id":"reference/Connectors/capture-connectors/amazon-kinesis","title":"Amazon Kinesis","description":"This connector captures data from Amazon Kinesis streams.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-redshift":{"id":"reference/Connectors/capture-connectors/amazon-redshift","title":"Amazon Redshift","description":"This connector captures data from your Amazon Redshift cluster into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-s3":{"id":"reference/Connectors/capture-connectors/amazon-s3","title":"Amazon S3","description":"This connector captures data from an Amazon S3 bucket.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amazon-sqs":{"id":"reference/Connectors/capture-connectors/amazon-sqs","title":"Amazon SQS","description":"This connector captures data from Amazon Simple Queue Service (SQS) into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/amplitude":{"id":"reference/Connectors/capture-connectors/amplitude","title":"Amplitude","description":"This connector captures data from Amplitude into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/apache-kafka":{"id":"reference/Connectors/capture-connectors/apache-kafka","title":"Apache Kafka","description":"This connector captures streaming data from Apache Kafka topics.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/azure-blob-storage":{"id":"reference/Connectors/capture-connectors/azure-blob-storage","title":"Azure Blob Storage","description":"This connector captures data from an Azure Blob Storage Account.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/bigquery-batch":{"id":"reference/Connectors/capture-connectors/bigquery-batch","title":"BigQuery Batch Query Connector","description":"This connector captures data from BigQuery into Flow collections by periodically","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/bing-ads":{"id":"reference/Connectors/capture-connectors/bing-ads","title":"Bing Ads","description":"This connector captures data from Bing Ads into Flow collections via the Bing Ads API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/braintree":{"id":"reference/Connectors/capture-connectors/braintree","title":"Braintree","description":"This connector captures data from Braintree into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/braze":{"id":"reference/Connectors/capture-connectors/braze","title":"Braze","description":"This connector captures data from Braze into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/chargebee":{"id":"reference/Connectors/capture-connectors/chargebee","title":"Chargebee","description":"This connector captures data from Chargebee into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/confluence":{"id":"reference/Connectors/capture-connectors/confluence","title":"Confluence","description":"This connector captures data from Confluence into Flow collections via the Confluence Cloud REST API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/datadog-ingest":{"id":"reference/Connectors/capture-connectors/datadog-ingest","title":"Datadog HTTP Ingest (Webhook)","description":"The Datadog HTTP Ingest connector allows you to capture data from incoming HTTP requests from Datadog.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/dropbox":{"id":"reference/Connectors/capture-connectors/dropbox","title":"Dropbox","description":"This connector captures data from a Dropbox account into a Flow collection.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/exchange-rates":{"id":"reference/Connectors/capture-connectors/exchange-rates","title":"Exchange Rates API","description":"This connector captures data from the Exchange Rates API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/facebook-marketing":{"id":"reference/Connectors/capture-connectors/facebook-marketing","title":"Facebook Marketing","description":"This connector captures data from the Facebook Marketing API into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/freshdesk":{"id":"reference/Connectors/capture-connectors/freshdesk","title":"Freshdesk","description":"This connector captures Freshdesk data into Flow collections via the Freshdesk API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/gcs":{"id":"reference/Connectors/capture-connectors/gcs","title":"Google Cloud Storage","description":"This connector captures data from a Google Cloud Storage (GCS) bucket.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/github":{"id":"reference/Connectors/capture-connectors/github","title":"GitHub","description":"This connector captures data from GitHub repositories and organizations into Flow collections via GitHub\'s REST API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/gitlab":{"id":"reference/Connectors/capture-connectors/gitlab","title":"GitLab","description":"This connector captures data from GitLab repositories and organizations into Flow collections via GitLabs\'s API V4. It can also work with self-hosted GitLab.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/gladly":{"id":"reference/Connectors/capture-connectors/gladly","title":"Gladly","description":"This connector captures data from Gladly into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-ads":{"id":"reference/Connectors/capture-connectors/google-ads","title":"Google Ads","description":"This connector captures data from resources in one or more Google Ads accounts into Flow collections via the Google Ads API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-analytics":{"id":"reference/Connectors/capture-connectors/google-analytics","title":"Google Analytics UA","description":"This connector captures data from a view in Google Universal Analytics.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-analytics-4":{"id":"reference/Connectors/capture-connectors/google-analytics-4","title":"Google Analytics 4","description":"This connector captures data from Google Analytics 4 properties into Flow collections via the","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-drive":{"id":"reference/Connectors/capture-connectors/google-drive","title":"Google Drive","description":"This connector lets you capture data from your Google Drive account into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-firestore":{"id":"reference/Connectors/capture-connectors/google-firestore","title":"Google Firestore","description":"This connector captures data from your Google Firestore collections into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-pubsub":{"id":"reference/Connectors/capture-connectors/google-pubsub","title":"Google Cloud Pub/Sub","description":"This connector captures messages in JSON format into Flow collections from","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-search-console":{"id":"reference/Connectors/capture-connectors/google-search-console","title":"Google Search Console","description":"This connector captures data from Google Search Console into Flow collections via the Google Search Console API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/google-sheets":{"id":"reference/Connectors/capture-connectors/google-sheets","title":"Google Sheets","description":"This connector captures data from a Google Sheets spreadsheet.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/greenhouse":{"id":"reference/Connectors/capture-connectors/greenhouse","title":"Greenhouse","description":"This connector captures data from Greenhouse into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/harvest":{"id":"reference/Connectors/capture-connectors/harvest","title":"Harvest","description":"This connector captures data from Harvest into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/http-file":{"id":"reference/Connectors/capture-connectors/http-file","title":"HTTP File","description":"This connector captures data from an HTTP endpoint into a Flow collection.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/http-ingest":{"id":"reference/Connectors/capture-connectors/http-ingest","title":"HTTP Ingest (Webhook)","description":"The HTTP Ingest connector allows you to capture data from incoming HTTP requests.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/hubspot":{"id":"reference/Connectors/capture-connectors/hubspot","title":"Hubspot","description":"This connector captures data from a Hubspot account.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/hubspot-real-time":{"id":"reference/Connectors/capture-connectors/hubspot-real-time","title":"HubSpot ( Real-Time )","description":"This connector captures data from HubSpot into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/instagram":{"id":"reference/Connectors/capture-connectors/instagram","title":"Instagram","description":"This connector captures data from Instagram into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/intercom":{"id":"reference/Connectors/capture-connectors/intercom","title":"Intercom","description":"This connector captures data from Intercom into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/intercom-ingest":{"id":"reference/Connectors/capture-connectors/intercom-ingest","title":"Intercom HTTP Ingest (Webhook)","description":"The Intercom HTTP Ingest connector allows you to capture data from incoming HTTP requests from Intercom.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/iterable":{"id":"reference/Connectors/capture-connectors/iterable","title":"Iterable","description":"This connector captures data from Iterable into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/jira":{"id":"reference/Connectors/capture-connectors/jira","title":"Jira","description":"This connector captures data from Jira into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/jira-ingest":{"id":"reference/Connectors/capture-connectors/jira-ingest","title":"Jira HTTP Ingest (Webhook)","description":"The Jira HTTP Ingest connector allows you to capture data from incoming HTTP requests from Jira.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/klaviyo":{"id":"reference/Connectors/capture-connectors/klaviyo","title":"Klaviyo","description":"This connector captures data from Klaviyo into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/linkedin-ads":{"id":"reference/Connectors/capture-connectors/linkedin-ads","title":"LinkedIn Ads","description":"This connector captures data from LinkedIn Ads into Flow collections through the LinkedIn Marketing API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/linkedin-pages":{"id":"reference/Connectors/capture-connectors/linkedin-pages","title":"LinkedIn Pages","description":"This connector captures data from one LinkedIn Page into Flow collections via the LinkedIn Marketing API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/mailchimp":{"id":"reference/Connectors/capture-connectors/mailchimp","title":"Mailchimp","description":"This connector captures data from a Mailchimp account.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb":{"id":"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","title":"Amazon RDS for MariaDB","description":"This is a change data capture (CDC) connector that captures change events from a MariaDB database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MariaDB/MariaDB":{"id":"reference/Connectors/capture-connectors/MariaDB/MariaDB","title":"MariaDB","description":"This is a change data capture (CDC) connector that captures change events from a MariaDB database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/marketo":{"id":"reference/Connectors/capture-connectors/marketo","title":"Marketo","description":"This connector captures data from Marketo into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/mixpanel":{"id":"reference/Connectors/capture-connectors/mixpanel","title":"MixPanel","description":"This connector captures data from MixPanel into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/mongodb":{"id":"reference/Connectors/capture-connectors/mongodb","title":"MongoDB","description":"This connector captures data from your MongoDB collections into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql":{"id":"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","title":"Amazon RDS for MySQL","description":"This is a change data capture (CDC) connector that captures change events from a MySQL database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql":{"id":"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","title":"Google Cloud SQL for MySQL","description":"This is a change data capture (CDC) connector that captures change events from a MySQL database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/MySQL":{"id":"reference/Connectors/capture-connectors/MySQL/MySQL","title":"MySQL","description":"This is a change data capture (CDC) connector that captures change events from a MySQL database via the Binary Log.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/MySQL/mysql-batch":{"id":"reference/Connectors/capture-connectors/MySQL/mysql-batch","title":"MySQL Batch Query Connector","description":"This connector captures data from MySQL into Flow collections by periodically","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/netsuite-suiteanalytics":{"id":"reference/Connectors/capture-connectors/netsuite-suiteanalytics","title":"NetSuite SuiteAnalytics Connect","description":"This connector captures data from Oracle NetSuite into Flow collections. It relies on the SuiteAnalytics Connect feature in order to both load large amounts of data quickly, as well as introspect the available tables, their schemas, keys, and cursor fields.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/netsuite-suitetalk":{"id":"reference/Connectors/capture-connectors/netsuite-suitetalk","title":"NetSuite SuiteTalk REST","description":"This connector captures data from Oracle NetSuite into Flow collections. It connects to the NetSuite Analytics Data Warehouse using the SuiteQL REST endpoint and a custom role.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/notion":{"id":"reference/Connectors/capture-connectors/notion","title":"Notion","description":"This connector captures data from Notion into Flow collections via the Notion API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/OracleDB/flashback":{"id":"reference/Connectors/capture-connectors/OracleDB/flashback","title":"OracleDB (Flashback)","description":"This connector captures data from OracleDB into Flow collections using Oracle Flashback.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/OracleDB/OracleDB":{"id":"reference/Connectors/capture-connectors/OracleDB/OracleDB","title":"OracleDB","description":"This connector captures data from OracleDB into Flow collections using Oracle Logminer.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/paypal-transaction":{"id":"reference/Connectors/capture-connectors/paypal-transaction","title":"Paypal Transaction","description":"This connector captures data from Paypal Transaction into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/pendo":{"id":"reference/Connectors/capture-connectors/pendo","title":"Pendo","description":"This connector captures data from Pendo into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/pinterest":{"id":"reference/Connectors/capture-connectors/pinterest","title":"Pinterest","description":"This connector captures data from Pinterest into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres":{"id":"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","title":"Amazon RDS for PostgreSQL","description":"This connector uses change data capture (CDC) to continuously capture updates in a PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres":{"id":"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","title":"Google Cloud SQL for PostgreSQL","description":"This connector uses change data capture (CDC) to continuously capture updates in a PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres":{"id":"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","title":"Neon PostgreSQL","description":"Neon\'s logical replication feature allows you to replicate data from your Neon Postgres database to external destinations.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch":{"id":"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","title":"PostgreSQL Batch Query Connector","description":"This connector captures data from Postgres into Flow collections by periodically","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/PostgreSQL":{"id":"reference/Connectors/capture-connectors/PostgreSQL/PostgreSQL","title":"PostgreSQL","description":"This connector uses change data capture (CDC) to continuously capture updates in a PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/PostgreSQL/Supabase":{"id":"reference/Connectors/capture-connectors/PostgreSQL/Supabase","title":"Supabase","description":"This connector uses change data capture (CDC) to continuously capture updates in a Supabase PostgreSQL database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/README":{"id":"reference/Connectors/capture-connectors/README","title":"Capture connectors","description":"Estuary\'s available capture connectors are listed in this section. Each connector has a unique set of requirements for configuration; these are linked below the connector name.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/recharge":{"id":"reference/Connectors/capture-connectors/recharge","title":"Recharge","description":"This connector captures data from Recharge into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/Salesforce/salesforce":{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce","title":"Salesforce","description":"Overview","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data":{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","title":"Salesforce \u2014 Historical data","description":"This connector captures data from Salesforce objects into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time":{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","title":"Salesforce \u2014 Real-time data","description":"This connector captures data from Salesforce objects into Flow collections in real time via the Salesforce PushTopic API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/sendgrid":{"id":"reference/Connectors/capture-connectors/sendgrid","title":"SendGrid","description":"This connector captures data from SendGrid into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/sentry":{"id":"reference/Connectors/capture-connectors/sentry","title":"Sentry","description":"This connector captures data from Sentry into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/sftp":{"id":"reference/Connectors/capture-connectors/sftp","title":"SFTP","description":"This connector captures data from an SFTP server.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/slack":{"id":"reference/Connectors/capture-connectors/slack","title":"Slack","description":"This connector captures data from Slack into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/snapchat":{"id":"reference/Connectors/capture-connectors/snapchat","title":"Snapchat Marketing","description":"This connector captures data from Snapchat Marketing into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/snowflake":{"id":"reference/Connectors/capture-connectors/snowflake","title":"Snowflake CDC Connector","description":"This connector captures change events from source tables in a Snowflake database.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver":{"id":"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","title":"Amazon RDS for SQL Server","description":"This connector uses change data capture (CDC) to continuously capture updates in a Microsoft SQL Server database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver":{"id":"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","title":"Google Cloud SQL for SQL Server","description":"This connector uses change data capture (CDC) to continuously capture updates in a Microsoft SQL Server database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/SQLServer/sqlserver":{"id":"reference/Connectors/capture-connectors/SQLServer/sqlserver","title":"Microsoft SQL Server","description":"This connector uses change data capture (CDC) to continuously capture updates in a Microsoft SQL Server database into one or more Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/stripe":{"id":"reference/Connectors/capture-connectors/stripe","title":"Stripe","description":"This connector captures data from Stripe into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/survey-monkey":{"id":"reference/Connectors/capture-connectors/survey-monkey","title":"Survey Monkey","description":"This connector captures data from SurveyMonkey surveys into Flow collections via the SurveyMonkey API.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/tiktok":{"id":"reference/Connectors/capture-connectors/tiktok","title":"TikTok Marketing","description":"This connector captures data from TikTok marketing campaigns and ads into Flow collections via the TikTok API for Business. It supports production as well as sandbox accounts.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/twilio":{"id":"reference/Connectors/capture-connectors/twilio","title":"Twilio","description":"This connector captures data from Twilio into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/woocommerce":{"id":"reference/Connectors/capture-connectors/woocommerce","title":"WooCommerce","description":"This connector captures data from WooCommerce into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/youtube-analytics":{"id":"reference/Connectors/capture-connectors/youtube-analytics","title":"YouTube Analytics","description":"This connector captures data from YouTube Analytics into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/zendesk-chat":{"id":"reference/Connectors/capture-connectors/zendesk-chat","title":"Zendesk Chat","description":"This connector captures data from Zendesk into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/capture-connectors/zendesk-support":{"id":"reference/Connectors/capture-connectors/zendesk-support","title":"Zendesk Support","description":"This connector captures data from Zendesk into Flow collections.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/dekaf-startree":{"id":"reference/Connectors/dekaf/dekaf-startree","title":"StarTree","description":"In this guide, you\'ll learn how to use Estuary Flow to push data streams to StarTree using the Kafka data source.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/dekaf-tinybird":{"id":"reference/Connectors/dekaf/dekaf-tinybird","title":"Tinybird","description":"In this guide, you\'ll learn how to use Estuary Flow to push data streams to Tinybird.","sidebar":"tutorialSidebar"},"reference/Connectors/dekaf/README":{"id":"reference/Connectors/dekaf/README","title":"Dekaf integrations","description":"Dekaf is Estuary Flow\'s Kafka-API compatibility layer.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/alloydb":{"id":"reference/Connectors/materialization-connectors/alloydb","title":"AlloyDB","description":"This connector materializes Flow collections into tables in an AlloyDB database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-dynamodb":{"id":"reference/Connectors/materialization-connectors/amazon-dynamodb","title":"Amazon DynamoDB","description":"This connector materializes Flow collections into tables in an Amazon DynamoDB.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-redshift":{"id":"reference/Connectors/materialization-connectors/amazon-redshift","title":"Amazon Redshift","description":"This connector materializes Flow collections into tables in an Amazon Redshift database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-s3-csv":{"id":"reference/Connectors/materialization-connectors/amazon-s3-csv","title":"CSV Files in Amazon S3","description":"This connector materializes delta updates of Flow collections into files in an S3 bucket per the CSV format described in RFC-4180.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-s3-iceberg":{"id":"reference/Connectors/materialization-connectors/amazon-s3-iceberg","title":"Apache Iceberg Tables in Amazon S3","description":"This connector materializes delta updates of Flow collections into Apache Iceberg tables using Amazon S3 for object storage and AWS Glue as the Iceberg catalog.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/amazon-s3-parquet":{"id":"reference/Connectors/materialization-connectors/amazon-s3-parquet","title":"Apache Parquet Files in Amazon S3","description":"This connector materializes delta updates of Flow collections into an S3 bucket in the Apache Parquet format.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/BigQuery":{"id":"reference/Connectors/materialization-connectors/BigQuery","title":"Google BigQuery","description":"This Flow connector materializes Flow collections into tables within a Google BigQuery dataset.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/databricks":{"id":"reference/Connectors/materialization-connectors/databricks","title":"Databricks","description":"This connector materializes Flow collections into tables in a Databricks SQL Warehouse.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Elasticsearch":{"id":"reference/Connectors/materialization-connectors/Elasticsearch","title":"Elasticsearch","description":"This connector materializes Flow collections into indices in an Elasticsearch cluster.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Firebolt":{"id":"reference/Connectors/materialization-connectors/Firebolt","title":"Firebolt","description":"This Flow connector materializes delta updates of Flow collections into Firebolt FACT or DIMENSION tables.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/google-gcs-csv":{"id":"reference/Connectors/materialization-connectors/google-gcs-csv","title":"CSV Files in Google GCS","description":"This connector materializes delta updates of Flow collections into files in a GCS bucket per the CSV format described in RFC-4180","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/google-gcs-parquet":{"id":"reference/Connectors/materialization-connectors/google-gcs-parquet","title":"Apache Parquet Files in Google GCS","description":"This connector materializes delta updates of Flow collections into a GCS bucket in the Apache Parquet format.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/google-pubsub":{"id":"reference/Connectors/materialization-connectors/google-pubsub","title":"Google Cloud Pub/Sub","description":"This connector materializes Flow collections into topics in Google Cloud Pub/Sub.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Google-sheets":{"id":"reference/Connectors/materialization-connectors/Google-sheets","title":"Google Sheets","description":"This connector materializes Flow collections into sheets in a Google Sheets spreadsheet.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/http-webhook":{"id":"reference/Connectors/materialization-connectors/http-webhook","title":"HTTP Webhook","description":"This connector lets you materialize data from Estuary Flow directly to specified HTTP endpoints via webhooks.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/mongodb":{"id":"reference/Connectors/materialization-connectors/mongodb","title":"MongoDB","description":"This connector materializes data from your Flow collections to your MongoDB collections.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/motherduck":{"id":"reference/Connectors/materialization-connectors/motherduck","title":"MotherDuck","description":"This connector materializes Flow collections into tables in a MotherDuck database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/mysql-heatwave":{"id":"reference/Connectors/materialization-connectors/mysql-heatwave","title":"MySQL HeatWave","description":"This connector lets you materialize data from your Flow collections directly into Oracle MySQL HeatWave instances.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql":{"id":"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","title":"Amazon RDS for MySQL","description":"This connector materializes Flow collections into tables in a Amazon RDS for MySQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql":{"id":"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","title":"Google Cloud SQL for MySQL","description":"This connector materializes Flow collections into tables in a Google Cloud SQL for MySQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/MySQL/mysql":{"id":"reference/Connectors/materialization-connectors/MySQL/mysql","title":"MySQL","description":"This connector materializes Flow collections into tables in a MySQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/pinecone":{"id":"reference/Connectors/materialization-connectors/pinecone","title":"Pinecone","description":"This connector materializes Flow collections into namespaces in a Pinecone index.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres":{"id":"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","title":"Amazon RDS for PostgreSQL","description":"This connector materializes Flow collections into tables in a Amazon RDS for PostgreSQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres":{"id":"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","title":"Google Cloud SQL for PostgreSQL","description":"This connector materializes Flow collections into tables in a Google Cloud SQL for PostgreSQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/PostgreSQL/PostgreSQL":{"id":"reference/Connectors/materialization-connectors/PostgreSQL/PostgreSQL","title":"PostgreSQL","description":"This connector materializes Flow collections into tables in a PostgreSQL database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/README":{"id":"reference/Connectors/materialization-connectors/README","title":"Materialization connectors","description":"Estuary\'s available materialization connectors are listed in this section. Each connector has a unique set of requirements for configuration; these are linked below the connector name.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Rockset":{"id":"reference/Connectors/materialization-connectors/Rockset","title":"Rockset","description":"This Flow connector materializes delta updates of your Flow collections into Rockset collections.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/slack":{"id":"reference/Connectors/materialization-connectors/slack","title":"Slack","description":"This connector lets you materialize data from Estuary Flow directly into Slack channels.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/Snowflake":{"id":"reference/Connectors/materialization-connectors/Snowflake","title":"Snowflake","description":"This connector materializes Flow collections into tables in a Snowflake database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLite":{"id":"reference/Connectors/materialization-connectors/SQLite","title":"SQLite","description":"This connector materializes Flow collections into an ephemeral SQLite database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver":{"id":"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","title":"Amazon RDS for SQL Server","description":"This connector materializes Flow collections into tables in a Amazon RDS for SQL Server database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver":{"id":"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","title":"Google Cloud SQL for SQLServer","description":"This connector materializes Flow collections into tables in a Google Cloud SQL for SQLServer database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/SQLServer/sqlserver":{"id":"reference/Connectors/materialization-connectors/SQLServer/sqlserver","title":"Microsoft SQLServer","description":"This connector materializes Flow collections into tables in a Microsoft SQLServer database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/starburst":{"id":"reference/Connectors/materialization-connectors/starburst","title":"Starburst","description":"This connector materializes transactionally Flow collections into Iceberg or Delta Lake tables using AWS S3 storage in Starburst Galaxy.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-connectors/timescaledb":{"id":"reference/Connectors/materialization-connectors/timescaledb","title":"TimescaleDB","description":"This connector materializes Flow collections into tables in a TimescaleDB database.","sidebar":"tutorialSidebar"},"reference/Connectors/materialization-protocol":{"id":"reference/Connectors/materialization-protocol","title":"Materialization Protocol","description":"Materializations are processed as cooperative transactions between the Flow","sidebar":"tutorialSidebar"},"reference/Connectors/README":{"id":"reference/Connectors/README","title":"Connectors","description":"A current list and configuration details for Estuary\'s connectors can be found on the following pages:","sidebar":"tutorialSidebar"},"reference/editing":{"id":"reference/editing","title":"Editing considerations","description":"You can edit the components of your Data Flows in the Flow web app and with flowctl, but before you do so, it\'s important to consider the implications of your changes.","sidebar":"tutorialSidebar"},"reference/materialization-sync-schedule":{"id":"reference/materialization-sync-schedule","title":"Materialization sync schedule","description":"For some systems you might prefer to have data sync\'d less frequently to reduce","sidebar":"tutorialSidebar"},"reference/notifications":{"id":"reference/notifications","title":"Notifications","description":"Estuary allows users to configure email notifications on specific tenants to send out alerts when a task hasn\'t received data within a time window and when billing information has been updated.","sidebar":"tutorialSidebar"},"reference/organizing-catalogs":{"id":"reference/organizing-catalogs","title":"Organizing a Flow catalog","description":"This page is outdated. It does not reflect the current state of the Flow web application and the","sidebar":"tutorialSidebar"},"reference/reduction-strategies/append":{"id":"reference/reduction-strategies/append","title":"append","description":"Using the append reduction strategy","sidebar":"tutorialSidebar"},"reference/reduction-strategies/composing-with-conditionals":{"id":"reference/reduction-strategies/composing-with-conditionals","title":"Composing with conditionals","description":"Using conditionals statements to fine-tune reductions","sidebar":"tutorialSidebar"},"reference/reduction-strategies/firstwritewins-and-lastwritewins":{"id":"reference/reduction-strategies/firstwritewins-and-lastwritewins","title":"firstWriteWins and lastWriteWins","description":"Using the firstWriteWins and lastWriteWins reduction strategies","sidebar":"tutorialSidebar"},"reference/reduction-strategies/merge":{"id":"reference/reduction-strategies/merge","title":"merge","description":"Using the merge reduction strategy","sidebar":"tutorialSidebar"},"reference/reduction-strategies/minimize-and-maximize":{"id":"reference/reduction-strategies/minimize-and-maximize","title":"minimize and maximize","description":"Using the minimize and maximize reduction strategies","sidebar":"tutorialSidebar"},"reference/reduction-strategies/README":{"id":"reference/reduction-strategies/README","title":"Reduction strategies","description":"Flow\'s default reduction behaviors and available strategies to customize them","sidebar":"tutorialSidebar"},"reference/reduction-strategies/set":{"id":"reference/reduction-strategies/set","title":"set","description":"Using the set reduction strategy","sidebar":"tutorialSidebar"},"reference/reduction-strategies/sum":{"id":"reference/reduction-strategies/sum","title":"sum","description":"Using the sum reduction strategy","sidebar":"tutorialSidebar"},"reference/time-travel":{"id":"reference/time-travel","title":"Time Travel","description":"Time travel functionality allows you to restrict the data materialization process to a specific date range. When applying time travel to an existing materialization, it\'s important to note that it won\'t remove any existing documents. Instead, it will only materialize new data that falls within the specified date and time window. New data will not be included in your materialization destination unless it conforms to the specified date range criteria. Consequently, setting a lower boundary in the future date will delay the materialization of data until that future date is reached.","sidebar":"tutorialSidebar"},"reference/working-logs-stats":{"id":"reference/working-logs-stats","title":"Working with logs and statistics","description":"Your logs and stats collections","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/68a929a9.1f5e731e.js b/assets/js/68a929a9.1f5e731e.js new file mode 100644 index 0000000000..eb369a56e3 --- /dev/null +++ b/assets/js/68a929a9.1f5e731e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[7438],{25324:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=t(74848),a=t(28453);const i={},s="Dekaf integrations",o={id:"reference/Connectors/dekaf/README",title:"Dekaf integrations",description:"Dekaf is Estuary Flow's Kafka-API compatibility layer.",source:"@site/docs/reference/Connectors/dekaf/README.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/",permalink:"/reference/Connectors/dekaf/",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/README.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Zendesk Support",permalink:"/reference/Connectors/capture-connectors/zendesk-support"},next:{title:"Materialize",permalink:"/reference/Connectors/dekaf/dekaf-materialize"}},c={},l=[{value:"Available Dekaf integrations",id:"available-dekaf-integrations",level:2}];function f(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"dekaf-integrations",children:"Dekaf integrations"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/guides/dekaf_reading_collections_from_kafka",children:"Dekaf"})," is Estuary Flow's Kafka-API compatibility layer.\nIt allows services to read data from Estuary Flow's collections as if they were topics in a Kafka cluster. This\nfunctionality enables integrations with the Kafka ecosystem."]}),"\n",(0,r.jsx)(n.h2,{id:"available-dekaf-integrations",children:"Available Dekaf integrations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/reference/Connectors/dekaf/dekaf-tinybird",children:"Tinybird"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/reference/Connectors/dekaf/dekaf-materialize",children:"Materialize"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/reference/Connectors/dekaf/dekaf-startree",children:"StarTree"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var r=t(96540);const a={},i=r.createContext(a);function s(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/68a929a9.209c1beb.js b/assets/js/68a929a9.209c1beb.js deleted file mode 100644 index 7c895bf44a..0000000000 --- a/assets/js/68a929a9.209c1beb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[7438],{25324:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var r=t(74848),a=t(28453);const s={},i="Dekaf integrations",o={id:"reference/Connectors/dekaf/README",title:"Dekaf integrations",description:"Dekaf is Estuary Flow's Kafka-API compatibility layer.",source:"@site/docs/reference/Connectors/dekaf/README.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/",permalink:"/reference/Connectors/dekaf/",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/README.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Zendesk Support",permalink:"/reference/Connectors/capture-connectors/zendesk-support"},next:{title:"StarTree",permalink:"/reference/Connectors/dekaf/dekaf-startree"}},c={},l=[{value:"Available Dekaf integrations",id:"available-dekaf-integrations",level:2}];function f(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"dekaf-integrations",children:"Dekaf integrations"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/guides/dekaf_reading_collections_from_kafka",children:"Dekaf"})," is Estuary Flow's Kafka-API compatibility layer.\nIt allows services to read data from Estuary Flow's collections as if they were topics in a Kafka cluster. This\nfunctionality enables integrations with the Kafka ecosystem."]}),"\n",(0,r.jsx)(n.h2,{id:"available-dekaf-integrations",children:"Available Dekaf integrations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/reference/Connectors/dekaf/dekaf-tinybird",children:"Tinybird"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/reference/Connectors/dekaf/dekaf-startree",children:"StarTree"})}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var r=t(96540);const a={},s=r.createContext(a);function i(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fb65bbae.91189550.js b/assets/js/fb65bbae.91189550.js new file mode 100644 index 0000000000..b6dd492332 --- /dev/null +++ b/assets/js/fb65bbae.91189550.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[7346],{46732:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var s=r(74848),t=r(28453);const o={},a="StarTree",i={id:"reference/Connectors/dekaf/dekaf-startree",title:"StarTree",description:"In this guide, you'll learn how to use Estuary Flow to push data streams to StarTree using the Kafka data source.",source:"@site/docs/reference/Connectors/dekaf/dekaf-startree.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/dekaf-startree",permalink:"/reference/Connectors/dekaf/dekaf-startree",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/dekaf-startree.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Materialize",permalink:"/reference/Connectors/dekaf/dekaf-materialize"},next:{title:"Tinybird",permalink:"/reference/Connectors/dekaf/dekaf-tinybird"}},c={},l=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Connecting Estuary Flow to StarTree",id:"connecting-estuary-flow-to-startree",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"startree",children:"StarTree"}),"\n",(0,s.jsx)(n.p,{children:"In this guide, you'll learn how to use Estuary Flow to push data streams to StarTree using the Kafka data source."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://startree.ai/",children:"StarTree"})," is a real-time analytics platform built on Apache Pinot, designed for performing fast,\nlow-latency analytics on large-scale data."]}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"An Estuary Flow account & collection"}),"\n",(0,s.jsx)(n.li,{children:"A StarTree account"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"connecting-estuary-flow-to-startree",children:"Connecting Estuary Flow to StarTree"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Create a new access token"})," to use for the StarTree connection. You can generate this token from the Estuary Admin\nDashboard."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Group_22_95a85083d4/Group_22_95a85083d4.png",alt:"Export Dekaf Access Token"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["In the StarTree UI, navigate to the ",(0,s.jsx)(n.strong,{children:"Data Sources"})," section and choose ",(0,s.jsx)(n.strong,{children:"Add New Data Source"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Select ",(0,s.jsx)(n.strong,{children:"Kafka"})," as your data source type."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Enter the following connection details:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//startree_create_connection_548379d134/startree_create_connection_548379d134.png",alt:"Create StarTree Connection"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Bootstrap Servers"}),": ",(0,s.jsx)(n.code,{children:"dekaf.estuary.dev"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Security Protocol"}),": ",(0,s.jsx)(n.code,{children:"SASL_SSL"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SASL Mechanism"}),": ",(0,s.jsx)(n.code,{children:"PLAIN"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SASL Username"}),": ",(0,s.jsx)(n.code,{children:"{}"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SASL Password"}),": ",(0,s.jsx)(n.code,{children:"Your generated Estuary Refresh Token"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Configure Schema Registry"}),": To decode Avro messages, enable schema registry settings:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Schema Registry URL"}),": ",(0,s.jsx)(n.code,{children:"https://dekaf.estuary.dev"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Schema Registry Username"}),": ",(0,s.jsx)(n.code,{children:"{}"})," (same as SASL Username)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Schema Registry Password"}),": ",(0,s.jsx)(n.code,{children:"The same Estuary Refresh Token as above"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.strong,{children:"Create Connection"})," to proceed."]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>i});var s=r(96540);const t={},o=s.createContext(t);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fb65bbae.fb6a4063.js b/assets/js/fb65bbae.fb6a4063.js deleted file mode 100644 index 9013817d89..0000000000 --- a/assets/js/fb65bbae.fb6a4063.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[7346],{46732:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var s=r(74848),t=r(28453);const o={},a="StarTree",i={id:"reference/Connectors/dekaf/dekaf-startree",title:"StarTree",description:"In this guide, you'll learn how to use Estuary Flow to push data streams to StarTree using the Kafka data source.",source:"@site/docs/reference/Connectors/dekaf/dekaf-startree.md",sourceDirName:"reference/Connectors/dekaf",slug:"/reference/Connectors/dekaf/dekaf-startree",permalink:"/reference/Connectors/dekaf/dekaf-startree",draft:!1,unlisted:!1,editUrl:"https://github.com/estuary/flow/edit/master/site/docs/reference/Connectors/dekaf/dekaf-startree.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Dekaf integrations",permalink:"/reference/Connectors/dekaf/"},next:{title:"Tinybird",permalink:"/reference/Connectors/dekaf/dekaf-tinybird"}},c={},l=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Connecting Estuary Flow to StarTree",id:"connecting-estuary-flow-to-startree",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"startree",children:"StarTree"}),"\n",(0,s.jsx)(n.p,{children:"In this guide, you'll learn how to use Estuary Flow to push data streams to StarTree using the Kafka data source."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://startree.ai/",children:"StarTree"})," is a real-time analytics platform built on Apache Pinot, designed for performing fast,\nlow-latency analytics on large-scale data."]}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"An Estuary Flow account & collection"}),"\n",(0,s.jsx)(n.li,{children:"A StarTree account"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"connecting-estuary-flow-to-startree",children:"Connecting Estuary Flow to StarTree"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Create a new access token"})," to use for the StarTree connection. You can generate this token from the Estuary Admin\nDashboard."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//Group_22_95a85083d4/Group_22_95a85083d4.png",alt:"Export Dekaf Access Token"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["In the StarTree UI, navigate to the ",(0,s.jsx)(n.strong,{children:"Data Sources"})," section and choose ",(0,s.jsx)(n.strong,{children:"Add New Data Source"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Select ",(0,s.jsx)(n.strong,{children:"Kafka"})," as your data source type."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Enter the following connection details:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:"https://storage.googleapis.com/estuary-marketing-strapi-uploads/uploads//startree_create_connection_548379d134/startree_create_connection_548379d134.png",alt:"Create StarTree Connection"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Bootstrap Servers"}),": ",(0,s.jsx)(n.code,{children:"dekaf.estuary.dev"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Security Protocol"}),": ",(0,s.jsx)(n.code,{children:"SASL_SSL"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SASL Mechanism"}),": ",(0,s.jsx)(n.code,{children:"PLAIN"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SASL Username"}),": ",(0,s.jsx)(n.code,{children:"{}"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"SASL Password"}),": ",(0,s.jsx)(n.code,{children:"Your generated Estuary Refresh Token"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Configure Schema Registry"}),": To decode Avro messages, enable schema registry settings:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Schema Registry URL"}),": ",(0,s.jsx)(n.code,{children:"https://dekaf.estuary.dev"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Schema Registry Username"}),": ",(0,s.jsx)(n.code,{children:"{}"})," (same as SASL Username)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Schema Registry Password"}),": ",(0,s.jsx)(n.code,{children:"The same Estuary Refresh Token as above"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.strong,{children:"Create Connection"})," to proceed."]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>i});var s=r(96540);const t={},o=s.createContext(t);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.11f4ed83.js b/assets/js/main.11f4ed83.js deleted file mode 100644 index 9cef29bafb..0000000000 --- a/assets/js/main.11f4ed83.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.11f4ed83.js.LICENSE.txt */ -(self.webpackChunksite=self.webpackChunksite||[]).push([[8792],{35947:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(96540);var r=n(53259),o=n.n(r),a=n(84054);const i={"014c8d62":[()=>n.e(3161).then(n.bind(n,26860)),"@site/docs/reference/Connectors/materialization-connectors/Elasticsearch.md",26860],"01f1a992":[()=>n.e(6802).then(n.bind(n,36297)),"@site/docs/reference/Connectors/capture-connectors/harvest.md",36297],"02365777":[()=>Promise.all([n.e(9610),n.e(6792)]).then(n.bind(n,28953)),"@site/docs/concepts/README.md",28953],"02ad5b1c":[()=>n.e(5031).then(n.bind(n,78032)),"@site/docs/reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres.md",78032],"0359e208":[()=>n.e(1419).then(n.bind(n,53181)),"@site/docs/reference/Connectors/materialization-connectors/databricks.md",53181],"04c11cf4":[()=>n.e(6221).then(n.bind(n,16764)),"@site/docs/concepts/advanced/projections.md",16764],"061adc4c":[()=>n.e(5039).then(n.bind(n,10150)),"@site/docs/reference/Connectors/capture-connectors/mailchimp.md",10150],"07003cee":[()=>Promise.all([n.e(1869),n.e(1036)]).then(n.bind(n,2157)),"@site/docs/reference/Connectors/capture-connectors/amazon-s3.md",2157],"08b3569b":[()=>n.e(7746).then(n.bind(n,60961)),"@site/docs/reference/Connectors/dekaf/dekaf-tinybird.md",60961],"08c8edc4":[()=>n.e(9856).then(n.bind(n,9738)),"@site/docs/reference/Connectors/capture-connectors/intercom-ingest.md",9738],"08cd1031":[()=>n.e(3073).then(n.bind(n,32627)),"@site/docs/reference/Connectors/capture-connectors/apache-kafka.md",32627],"08e5c7dc":[()=>n.e(8164).then(n.bind(n,67151)),"@site/docs/reference/Connectors/capture-connectors/confluence.md",67151],"0ad621fa":[()=>n.e(7308).then(n.bind(n,37934)),"@site/docs/reference/Connectors/materialization-connectors/PostgreSQL/PostgreSQL.md",37934],"0bcbca69":[()=>n.e(7993).then(n.bind(n,85866)),"@site/docs/reference/Connectors/capture-connectors/pendo.md",85866],"0c8d310c":[()=>Promise.all([n.e(1869),n.e(9610),n.e(5795)]).then(n.bind(n,175)),"@site/docs/getting-started/tutorials/derivations_acmebank.md",175],"0d3223a3":[()=>n.e(6917).then(n.bind(n,55048)),"@site/docs/reference/Connectors/capture-connectors/survey-monkey.md",55048],"0d762a34":[()=>n.e(658).then(n.bind(n,14639)),"@site/docs/overview/README.md",14639],"0ea4d505":[()=>n.e(6341).then(n.bind(n,96243)),"@site/docs/guides/flowctl/README.md",96243],"0fda5f57":[()=>Promise.all([n.e(9610),n.e(929)]).then(n.bind(n,36814)),"@site/docs/concepts/import.md",36814],"104ea86a":[()=>n.e(6313).then(n.bind(n,32076)),"@site/docs/reference/Connectors/capture-connectors/Salesforce/salesforce-real-time.md",32076],"116b31b8":[()=>n.e(7843).then(n.bind(n,65520)),"@site/docs/reference/Connectors/capture-connectors/paypal-transaction.md",65520],"12ca7dc6":[()=>n.e(3516).then(n.bind(n,53387)),"@site/docs/reference/Connectors/capture-connectors/PostgreSQL/neon-postgres.md",53387],"1434155d":[()=>n.e(7196).then(n.bind(n,1826)),"@site/docs/reference/Connectors/materialization-connectors/alloydb.md",1826],"161e6f0a":[()=>n.e(3765).then(n.bind(n,15331)),"@site/docs/reference/Connectors/materialization-connectors/SQLite.md",15331],"1714037f":[()=>n.e(4480).then(n.bind(n,60189)),"@site/docs/guides/system-specific-dataflows/s3-to-snowflake.md",60189],17896441:[()=>Promise.all([n.e(1869),n.e(9610),n.e(3658),n.e(8401)]).then(n.bind(n,36365)),"@theme/DocItem",36365],"1875cf18":[()=>n.e(2216).then(n.bind(n,88235)),"@site/docs/reference/Connectors/capture-connectors/datadog-ingest.md",88235],"189edb0d":[()=>n.e(5352).then(n.bind(n,1891)),"@site/docs/guides/flowctl/create-derivation.md",1891],"1bc1529f":[()=>n.e(4134).then(n.bind(n,70041)),"@site/docs/reference/reduction-strategies/set.md",70041],"1ca4a2d7":[()=>n.e(722).then(n.bind(n,96719)),"@site/docs/reference/Connectors/capture-connectors/facebook-marketing.md",96719],"1cde271f":[()=>n.e(9938).then(n.bind(n,75237)),"@site/docs/reference/Connectors/materialization-connectors/amazon-redshift.md",75237],"1d129a7b":[()=>n.e(3380).then(n.bind(n,1276)),"@site/docs/concepts/storage-mappings.md",1276],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(9610),n.e(3658),n.e(6061)]).then(n.bind(n,67973)),"@theme/MDXPage",67973],"22dd74f7":[()=>n.e(1567).then(n.t.bind(n,55226,19)),"@generated/docusaurus-plugin-content-docs/default/p/index-466.json",55226],"22ed3411":[()=>n.e(903).then(n.bind(n,93766)),"@site/docs/reference/Connectors/capture-connectors/dropbox.md",93766],"25491a6a":[()=>n.e(228).then(n.bind(n,78749)),"@site/docs/reference/Connectors/materialization-connectors/starburst.md",78749],"25a17fcd":[()=>n.e(368).then(n.bind(n,76787)),"@site/docs/reference/Connectors/materialization-connectors/slack.md",76787],"28a8491c":[()=>Promise.all([n.e(9610),n.e(3239)]).then(n.bind(n,76374)),"@site/docs/getting-started/tutorials/dataflow-s3-snowflake.md",76374],"2e3ffc99":[()=>n.e(8036).then(n.bind(n,44392)),"@site/docs/guides/schema-evolution.md",44392],"2e426791":[()=>n.e(9481).then(n.bind(n,94135)),"@site/docs/reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver.md",94135],"2fea2d40":[()=>n.e(5727).then(n.bind(n,67364)),"@site/docs/reference/Connectors/materialization-connectors/timescaledb.md",67364],"31570a90":[()=>Promise.all([n.e(9610),n.e(1181)]).then(n.bind(n,64939)),"@site/docs/concepts/web-app.md",64939],"375ba1d8":[()=>n.e(6386).then(n.bind(n,46101)),"@site/docs/reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data.md",46101],"37788a03":[()=>n.e(1874).then(n.bind(n,53759)),"@site/docs/reference/Connectors/capture-connectors/Salesforce/salesforce.md",53759],"38a516ae":[()=>Promise.all([n.e(1869),n.e(383)]).then(n.bind(n,60634)),"@site/docs/concepts/collections.md",60634],"38fdfb5b":[()=>n.e(9729).then(n.bind(n,65949)),"@site/docs/guides/dekaf_reading_collections_from_kafka.md",65949],"397210d6":[()=>Promise.all([n.e(4132),n.e(9065)]).then(n.bind(n,89333)),"@site/docs/getting-started/tutorials/real-time-cdc-with-mongodb.md",89333],"3bada45e":[()=>n.e(4226).then(n.bind(n,67707)),"@site/docs/reference/Connectors/capture-connectors/MariaDB/MariaDB.md",67707],"3c6e6542":[()=>n.e(9779).then(n.bind(n,84065)),"@site/docs/reference/Connectors/capture-connectors/OracleDB/OracleDB.md",84065],"3c6ed59c":[()=>n.e(4787).then(n.bind(n,30146)),"@site/docs/guides/customize-materialization-fields.md",30146],"3c711bdb":[()=>n.e(5934).then(n.bind(n,39260)),"@site/docs/guides/edit-data-flows.md",39260],"405f2d9a":[()=>n.e(4882).then(n.bind(n,8749)),"@site/docs/reference/reduction-strategies/merge.md",8749],"41d993a6":[()=>n.e(4018).then(n.bind(n,26037)),"@site/docs/reference/Connectors/capture-connectors/bigquery-batch.md",26037],"42e3560a":[()=>n.e(1021).then(n.bind(n,95464)),"@site/docs/reference/Connectors/materialization-connectors/Rockset.md",95464],"432d7d66":[()=>n.e(6519).then(n.bind(n,19789)),"@site/docs/reference/Connectors/capture-connectors/linkedin-pages.md",19789],"4434a8b7":[()=>n.e(7972).then(n.bind(n,51791)),"@site/docs/reference/Connectors/materialization-connectors/http-webhook.md",51791],"44386d1b":[()=>n.e(7749).then(n.bind(n,86959)),"@site/docs/reference/Connectors/capture-connectors/gcs.md",86959],"44b1e2f5":[()=>n.e(4578).then(n.bind(n,4858)),"@site/docs/reference/Connectors/capture-connectors/twilio.md",4858],"45462f11":[()=>n.e(3214).then(n.bind(n,34152)),"@site/docs/reference/Connectors/capture-connectors/slack.md",34152],"4648c831":[()=>n.e(6040).then(n.bind(n,90170)),"@site/docs/reference/Connectors/capture-connectors/amazon-sqs.md",90170],"46cf1090":[()=>n.e(5970).then(n.bind(n,64126)),"@site/docs/reference/Connectors/capture-connectors/mongodb.md",64126],"477598dd":[()=>n.e(6079).then(n.bind(n,73027)),"@site/docs/reference/Connectors/capture-connectors/gladly.md",73027],"482d6521":[()=>n.e(2505).then(n.bind(n,5459)),"@site/docs/reference/Connectors/materialization-connectors/amazon-s3-csv.md",5459],"487bf429":[()=>n.e(4865).then(n.bind(n,55795)),"@site/docs/reference/time-travel.md",55795],"49e00cf0":[()=>n.e(8264).then(n.bind(n,58521)),"@site/docs/reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql.md",58521],"4a1a3e03":[()=>Promise.all([n.e(9610),n.e(6803)]).then(n.bind(n,62440)),"@site/docs/guides/flowctl/edit-specification-locally.md",62440],"4acaa9c4":[()=>Promise.all([n.e(1869),n.e(4333)]).then(n.bind(n,29967)),"@site/docs/concepts/schemas.md",29967],"4bccbb93":[()=>n.e(7083).then(n.bind(n,79890)),"@site/docs/getting-started/tutorials/README.md",79890],"4d317276":[()=>Promise.all([n.e(9610),n.e(4147)]).then(n.bind(n,80822)),"@site/docs/concepts/advanced/evolutions.md",80822],"4d4f51e2":[()=>n.e(8362).then(n.bind(n,46794)),"@site/docs/reference/Connectors/materialization-connectors/google-pubsub.md",46794],"4da0167e":[()=>n.e(5225).then(n.bind(n,84657)),"@site/docs/reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql.md",84657],"4dbcc71c":[()=>n.e(3060).then(n.bind(n,24778)),"@site/docs/reference/Connectors/capture-connectors/MySQL/mysql-batch.md",24778],"4e1df6a3":[()=>Promise.all([n.e(9610),n.e(8113)]).then(n.bind(n,36686)),"@site/docs/concepts/flowctl.md",36686],"4f08651a":[()=>n.e(2912).then(n.bind(n,57543)),"@site/docs/reference/Connectors/capture-connectors/recharge.md",57543],"4f1ddcc5":[()=>n.e(2677).then(n.bind(n,2543)),"@site/docs/reference/Connectors/materialization-connectors/google-gcs-parquet.md",2543],"540a1167":[()=>n.e(866).then(n.bind(n,52481)),"@site/docs/reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres.md",52481],"547dc70b":[()=>n.e(337).then(n.bind(n,27615)),"@site/docs/reference/reduction-strategies/README.md",27615],"54a88ed7":[()=>n.e(6113).then(n.bind(n,54561)),"@site/docs/reference/Connectors/capture-connectors/amazon-ads.md",54561],"5769edfb":[()=>n.e(3663).then(n.bind(n,94848)),"@site/docs/reference/Connectors/capture-connectors/woocommerce.md",94848],"57aea1fc":[()=>n.e(6914).then(n.bind(n,46760)),"@site/docs/reference/Connectors/materialization-connectors/amazon-dynamodb.md",46760],"58d4a820":[()=>n.e(7713).then(n.bind(n,64636)),"@site/docs/reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql.md",64636],"5b71c68f":[()=>n.e(1815).then(n.bind(n,6357)),"@site/docs/reference/Connectors/capture-connectors/sentry.md",6357],"5ba559d4":[()=>Promise.all([n.e(1869),n.e(1158)]).then(n.bind(n,66722)),"@site/src/pages/example.tsx",66722],"5bb0dc82":[()=>n.e(745).then(n.bind(n,21728)),"@site/docs/reference/working-logs-stats.md",21728],"5c7e141f":[()=>n.e(7229).then(n.bind(n,63177)),"@site/docs/reference/Connectors/materialization-connectors/mongodb.md",63177],"5d9eac72":[()=>Promise.all([n.e(9610),n.e(925)]).then(n.bind(n,16540)),"@site/docs/reference/Connectors/materialization-protocol.md",16540],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],61038276:[()=>n.e(354).then(n.bind(n,65918)),"@site/docs/reference/Connectors/capture-connectors/pinterest.md",65918],"6181342c":[()=>n.e(7745).then(n.bind(n,12727)),"@site/docs/reference/Connectors/capture-connectors/greenhouse.md",12727],"63b37bf5":[()=>n.e(515).then(n.bind(n,81760)),"@site/docs/reference/Connectors/capture-connectors/alpaca.md",81760],"6459b84b":[()=>n.e(6459).then(n.bind(n,24519)),"@site/docs/getting-started/installation.mdx",24519],"645c44d3":[()=>n.e(1586).then(n.bind(n,33988)),"@site/docs/reference/Connectors/capture-connectors/README.md",33988],"65a8f618":[()=>n.e(2172).then(n.bind(n,54624)),"@site/docs/reference/Connectors/capture-connectors/chargebee.md",54624],"68a929a9":[()=>n.e(7438).then(n.bind(n,25324)),"@site/docs/reference/Connectors/dekaf/README.md",25324],"68cc1c24":[()=>n.e(3349).then(n.bind(n,91733)),"@site/docs/reference/Connectors/materialization-connectors/BigQuery.md",91733],"6b49cdad":[()=>n.e(6744).then(n.bind(n,8763)),"@site/docs/reference/Connectors/capture-connectors/klaviyo.md",8763],"6bdc832c":[()=>n.e(4742).then(n.bind(n,92704)),"@site/docs/reference/Connectors/capture-connectors/netsuite-suitetalk.md",92704],"6d42ac36":[()=>n.e(3640).then(n.bind(n,99521)),"@site/docs/reference/Connectors/capture-connectors/github.md",99521],"6e2958ef":[()=>n.e(5109).then(n.bind(n,77175)),"@site/docs/reference/Connectors/materialization-connectors/google-gcs-csv.md",77175],"6e773b1a":[()=>n.e(5719).then(n.bind(n,25139)),"@site/docs/reference/Connectors/capture-connectors/sftp.md",25139],"6f6bf398":[()=>n.e(9017).then(n.bind(n,77163)),"@site/docs/reference/authentication.md",77163],"76bcc235":[()=>n.e(2902).then(n.bind(n,97297)),"@site/docs/reference/Connectors/capture-connectors/freshdesk.md",97297],"770e6532":[()=>n.e(3756).then(n.bind(n,32652)),"@site/docs/reference/Connectors/capture-connectors/snowflake.md",32652],"7718f40c":[()=>n.e(9595).then(n.bind(n,7106)),"@site/docs/reference/Connectors/materialization-connectors/amazon-s3-iceberg.md",7106],"7c555ba4":[()=>n.e(2333).then(n.bind(n,97663)),"@site/docs/reference/Connectors/capture-connectors/stripe.md",97663],"7cda2da6":[()=>n.e(9515).then(n.bind(n,51186)),"@site/docs/reference/reduction-strategies/sum.md",51186],"7cfb1d0c":[()=>n.e(4753).then(n.bind(n,49908)),"@site/docs/reference/Connectors/capture-connectors/google-drive.md",49908],"7fd3d7a0":[()=>n.e(2135).then(n.bind(n,19092)),"@site/docs/reference/Connectors/capture-connectors/sendgrid.md",19092],"8114665f":[()=>n.e(8152).then(n.bind(n,32854)),"@site/docs/getting-started/tutorials/postgresql_cdc_to_snowflake.md",32854],"8431750a":[()=>n.e(50).then(n.bind(n,53697)),"@site/docs/reference/Connectors/capture-connectors/google-analytics-4.md",53697],"845ce2f5":[()=>n.e(9917).then(n.bind(n,60555)),"@site/docs/reference/Connectors/capture-connectors/SQLServer/sqlserver.md",60555],"858820da":[()=>n.e(3353).then(n.bind(n,1465)),"@site/docs/reference/Connectors/capture-connectors/gitlab.md",1465],"88fa6390":[()=>n.e(3406).then(n.bind(n,68267)),"@site/docs/reference/Connectors/materialization-connectors/Snowflake.md",68267],"8a611437":[()=>n.e(5828).then(n.bind(n,70056)),"@site/docs/reference/Connectors/capture-connectors/snapchat.md",70056],"8dce94c3":[()=>n.e(3798).then(n.bind(n,93316)),"@site/docs/concepts/advanced/journals.md",93316],"8e876c80":[()=>n.e(3624).then(n.bind(n,16188)),"@site/docs/concepts/captures.md",16188],"905c32de":[()=>n.e(9090).then(n.bind(n,56317)),"@site/docs/reference/Connectors/capture-connectors/alloydb.md",56317],"906e1e9f":[()=>n.e(2340).then(n.bind(n,50828)),"@site/docs/reference/Connectors/capture-connectors/iterable.md",50828],"921f956e":[()=>n.e(9922).then(n.bind(n,84335)),"@site/docs/reference/Connectors/capture-connectors/hubspot.md",84335],"952b3fdc":[()=>n.e(4886).then(n.bind(n,88582)),"@site/docs/reference/Connectors/capture-connectors/jira.md",88582],"964d596a":[()=>n.e(6523).then(n.bind(n,69662)),"@site/docs/reference/Connectors/capture-connectors/zendesk-support.md",69662],"971e8ccd":[()=>n.e(3655).then(n.bind(n,6871)),"@site/docs/reference/Connectors/capture-connectors/jira-ingest.md",6871],"977d5535":[()=>n.e(3876).then(n.bind(n,87708)),"@site/docs/reference/Connectors/materialization-connectors/MySQL/mysql.md",87708],"986b9943":[()=>n.e(185).then(n.bind(n,51008)),"@site/docs/reference/Connectors/capture-connectors/tiktok.md",51008],"9d18d13c":[()=>n.e(7544).then(n.bind(n,35168)),"@site/docs/reference/Connectors/materialization-connectors/Firebolt.md",35168],"9d57d0a6":[()=>n.e(233).then(n.bind(n,43079)),"@site/docs/reference/Connectors/capture-connectors/notion.md",43079],"9e25251f":[()=>n.e(44).then(n.bind(n,59124)),"@site/docs/guides/howto_join_two_collections_typescript.md",59124],"9e64d05b":[()=>Promise.all([n.e(9610),n.e(5306)]).then(n.bind(n,11712)),"@site/docs/guides/flowctl/edit-draft-from-webapp.md",11712],"9e8f5f1c":[()=>n.e(6730).then(n.bind(n,93057)),"@site/docs/reference/reduction-strategies/append.md",93057],"9fc067fe":[()=>n.e(7057).then(n.bind(n,9585)),"@site/docs/reference/Connectors/capture-connectors/amazon-kinesis.md",9585],"9fce37be":[()=>n.e(1771).then(n.bind(n,42677)),"@site/docs/reference/Connectors/capture-connectors/PostgreSQL/Supabase.md",42677],a06d9ffe:[()=>n.e(3344).then(n.bind(n,7867)),"@site/docs/reference/Connectors/materialization-connectors/amazon-s3-parquet.md",7867],a0e6a329:[()=>n.e(5266).then(n.bind(n,52251)),"@site/docs/reference/Connectors/capture-connectors/azure-blob-storage.md",52251],a24b80f3:[()=>n.e(9225).then(n.bind(n,85899)),"@site/docs/reference/notifications.md",85899],a3c49fd9:[()=>n.e(4754).then(n.bind(n,4520)),"@site/docs/guides/create-dataflow.md",4520],a42036e6:[()=>n.e(7376).then(n.bind(n,32013)),"@site/docs/reference/Connectors/capture-connectors/http-file.md",32013],a7456010:[()=>n.e(1235).then(n.t.bind(n,88552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",88552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,52151)),"@theme/DocVersionRoot",52151],a9379b01:[()=>n.e(1851).then(n.bind(n,15988)),"@site/docs/reference/Configuring-task-shards.md",15988],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,92559)),"@theme/DocRoot",92559],a995ee96:[()=>n.e(5924).then(n.bind(n,54937)),"@site/docs/reference/Connectors/materialization-connectors/mysql-heatwave.md",54937],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,27093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",27093],abc1ea5e:[()=>n.e(1482).then(n.bind(n,91176)),"@site/docs/reference/Connectors/capture-connectors/instagram.md",91176],ac961e5b:[()=>n.e(4109).then(n.bind(n,60502)),"@site/docs/reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver.md",60502],b05d4510:[()=>n.e(8112).then(n.bind(n,44195)),"@site/docs/reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver.md",44195],b0d5790a:[()=>n.e(9777).then(n.bind(n,58378)),"@site/docs/reference/Connectors/capture-connectors/braze.md",58378],b0d7f3f2:[()=>n.e(3355).then(n.bind(n,35035)),"@site/docs/reference/Connectors/capture-connectors/zendesk-chat.md",35035],b1a65bd3:[()=>n.e(1751).then(n.bind(n,89200)),"@site/docs/reference/Connectors/capture-connectors/youtube-analytics.md",89200],b32e8f59:[()=>n.e(8117).then(n.bind(n,31308)),"@site/docs/guides/system-specific-dataflows/README.md",31308],b5dab0d4:[()=>n.e(6839).then(n.bind(n,82892)),"@site/docs/reference/Connectors/capture-connectors/google-analytics.md",82892],b74f0b56:[()=>n.e(5623).then(n.bind(n,26666)),"@site/docs/reference/organizing-catalogs.md",26666],b7a68670:[()=>n.e(7496).then(n.bind(n,73502)),"@site/docs/reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver.md",73502],be02d3e2:[()=>n.e(7132).then(n.bind(n,61467)),"@site/docs/reference/Connectors/capture-connectors/http-ingest.md",61467],bf636eff:[()=>n.e(2369).then(n.bind(n,67752)),"@site/docs/concepts/materialization.md",67752],bfc09eea:[()=>n.e(18).then(n.bind(n,80024)),"@site/docs/reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres.md",80024],bfec4f44:[()=>n.e(4509).then(n.bind(n,58321)),"@site/docs/concepts/advanced/shards.md",58321],c042bbf4:[()=>n.e(2750).then(n.bind(n,23210)),"@site/docs/guides/connect-network.md",23210],c10f38bc:[()=>n.e(9057).then(n.bind(n,84901)),"@site/docs/reference/Connectors/capture-connectors/amplitude.md",84901],c11c77a9:[()=>n.e(8667).then(n.bind(n,98058)),"@site/docs/concepts/tests.md",98058],c13ec0a6:[()=>n.e(503).then(n.bind(n,13693)),"@site/docs/reference/Connectors/materialization-connectors/README.md",13693],c1e7e5a7:[()=>n.e(9881).then(n.bind(n,52323)),"@site/docs/overview/comparisons.md",52323],c287b26d:[()=>n.e(6797).then(n.bind(n,63024)),"@site/docs/reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql.md",63024],c521cd6b:[()=>n.e(1757).then(n.bind(n,4201)),"@site/docs/concepts/advanced/logs-stats.md",4201],c5a10934:[()=>n.e(6361).then(n.bind(n,54460)),"@site/docs/reference/Connectors/capture-connectors/hubspot-real-time.md",54460],c66ae53f:[()=>n.e(6218).then(n.bind(n,27168)),"@site/src/pages/example-markdown.md",27168],ca7ab025:[()=>Promise.all([n.e(1869),n.e(9726)]).then(n.bind(n,40159)),"@site/docs/concepts/connectors.md",40159],cad0251b:[()=>n.e(1033).then(n.bind(n,64129)),"@site/docs/reference/reduction-strategies/composing-with-conditionals.md",64129],caea5a36:[()=>n.e(3740).then(n.bind(n,51857)),"@site/docs/guides/flowctl/troubleshoot-task.md",51857],cc0c6179:[()=>n.e(7445).then(n.bind(n,22675)),"@site/docs/reference/allow-ip-addresses.md",22675],cce87b67:[()=>n.e(5248).then(n.bind(n,63711)),"@site/docs/reference/editing.md",63711],ce5ba636:[()=>n.e(8904).then(n.bind(n,98913)),"@site/docs/reference/Connectors/capture-connectors/intercom.md",98913],cf864737:[()=>Promise.all([n.e(9610),n.e(4663)]).then(n.bind(n,74547)),"@site/docs/concepts/catalogs.md",74547],cfe90ca7:[()=>n.e(4169).then(n.bind(n,70470)),"@site/docs/reference/Connectors/capture-connectors/google-sheets.md",70470],d14d20ef:[()=>n.e(2061).then(n.bind(n,77575)),"@site/docs/reference/Connectors/capture-connectors/MySQL/MySQL.md",77575],d273ee52:[()=>n.e(9156).then(n.bind(n,70458)),"@site/docs/reference/Connectors/capture-connectors/google-search-console.md",70458],d6385b0d:[()=>Promise.all([n.e(1869),n.e(3109)]).then(n.bind(n,82749)),"@site/docs/getting-started/tutorials/continuous-materialized-view.md",82749],d7fdcae3:[()=>n.e(1462).then(n.bind(n,83214)),"@site/docs/reference/materialization-sync-schedule.md",83214],d8b2c51c:[()=>n.e(6995).then(n.bind(n,66544)),"@site/docs/reference/Connectors/README.md",66544],d8b5b6da:[()=>n.e(993).then(n.bind(n,24774)),"@site/docs/reference/Connectors/capture-connectors/amazon-redshift.md",24774],da6eb168:[()=>n.e(132).then(n.bind(n,11488)),"@site/docs/reference/Connectors/capture-connectors/netsuite-suiteanalytics.md",11488],db0f1c3a:[()=>n.e(2571).then(n.bind(n,99263)),"@site/docs/reference/Connectors/capture-connectors/bing-ads.md",99263],db2b4d90:[()=>n.e(6846).then(n.bind(n,3536)),"@site/docs/reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb.md",3536],dbd1cd20:[()=>n.e(8707).then(n.bind(n,41213)),"@site/docs/reference/Connectors/capture-connectors/PostgreSQL/PostgreSQL.md",41213],de285be4:[()=>n.e(698).then(n.bind(n,59109)),"@site/docs/guides/README.md",59109],de7a358c:[()=>n.e(9789).then(n.bind(n,66994)),"@site/docs/reference/reduction-strategies/firstwritewins-and-lastwritewins.md",66994],deef465e:[()=>n.e(9023).then(n.bind(n,91206)),"@site/docs/reference/Connectors/capture-connectors/google-ads.md",91206],e1d33ea7:[()=>n.e(1150).then(n.bind(n,48231)),"@site/docs/reference/Connectors/capture-connectors/amazon-dynamodb.md",48231],e3318347:[()=>n.e(5423).then(n.bind(n,19645)),"@site/docs/reference/Connectors/materialization-connectors/motherduck.md",19645],e33c9cd6:[()=>n.e(8419).then(n.bind(n,81969)),"@site/docs/reference/Connectors/capture-connectors/google-pubsub.md",81969],e459d51d:[()=>n.e(4876).then(n.bind(n,82345)),"@site/docs/reference/Connectors/capture-connectors/google-firestore.md",82345],e5e05fea:[()=>n.e(1557).then(n.bind(n,55621)),"@site/docs/reference/Connectors/capture-connectors/PostgreSQL/postgres-batch.md",55621],e6e0301f:[()=>n.e(3097).then(n.bind(n,32357)),"@site/docs/reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres.md",32357],e76aecec:[()=>Promise.all([n.e(9610),n.e(4920)]).then(n.bind(n,87709)),"@site/docs/concepts/derivations.md",87709],e8453306:[()=>n.e(3973).then(n.bind(n,76466)),"@site/docs/reference/Connectors/capture-connectors/mixpanel.md",76466],e858514f:[()=>n.e(1859).then(n.bind(n,34533)),"@site/docs/guides/system-specific-dataflows/firestore-to-dwh.md",34533],e8851b38:[()=>n.e(7233).then(n.bind(n,70112)),"@site/docs/reference/Connectors/materialization-connectors/SQLServer/sqlserver.md",70112],ea7b1b11:[()=>n.e(5857).then(n.bind(n,17483)),"@site/docs/reference/Connectors/capture-connectors/linkedin-ads.md",17483],eae8ea84:[()=>n.e(2444).then(n.bind(n,24065)),"@site/docs/reference/Connectors/capture-connectors/marketo.md",24065],ebce6379:[()=>n.e(9187).then(n.bind(n,17837)),"@site/docs/reference/Connectors/capture-connectors/exchange-rates.md",17837],ecf790cf:[()=>n.e(1346).then(n.bind(n,27296)),"@site/docs/guides/derivation_tutorial_sql.md",27296],eec1121c:[()=>n.e(2472).then(n.bind(n,10604)),"@site/docs/reference/Connectors/capture-connectors/OracleDB/flashback.md",10604],f09a1148:[()=>n.e(9193).then(n.bind(n,12726)),"@site/docs/reference/Connectors/capture-connectors/airtable.md",12726],f47a7ed3:[()=>n.e(4430).then(n.bind(n,28216)),"@site/docs/overview/who-should-use-flow.md",28216],f59a0ebe:[()=>n.e(5364).then(n.bind(n,19764)),"@site/docs/reference/Connectors/capture-connectors/aircall.md",19764],f5f0d846:[()=>n.e(7272).then(n.bind(n,14511)),"@site/docs/guides/transform_data_using_typescript.md",14511],f65e0d6c:[()=>n.e(1980).then(n.bind(n,56196)),"@site/docs/reference/Connectors/capture-connectors/braintree.md",56196],fb65bbae:[()=>n.e(7346).then(n.bind(n,46732)),"@site/docs/reference/Connectors/dekaf/dekaf-startree.md",46732],fc44458b:[()=>n.e(6097).then(n.bind(n,81201)),"@site/docs/reference/Connectors/materialization-connectors/Google-sheets.md",81201],fca4800a:[()=>n.e(6656).then(n.bind(n,84922)),"@site/docs/reference/Connectors/materialization-connectors/pinecone.md",84922],fe12321f:[()=>n.e(8207).then(n.bind(n,23552)),"@site/docs/reference/reduction-strategies/minimize-and-maximize.md",23552]};var c=n(74848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,c.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,c.jsx)("p",{children:String(t)}),(0,c.jsx)("div",{children:(0,c.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,c.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,c.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,c.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,c.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,c.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,c.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,c.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,c.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,c.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,c.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,c.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,c.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,c.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var l=n(86921),u=n(53102);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(2237).then(n.bind(n,82237)),modules:["@theme/NotFound"],webpack:()=>[82237],render(e,t){const n=e.default;return(0,c.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,c.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,l.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const c=n.split(".");c.slice(0,-1).forEach((e=>{i=i[e]})),i[c[c.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const s=o.__props;return delete o.__props,(0,c.jsx)(u.W,{value:i,children:(0,c.jsx)(a,{...o,...s,...n})})}})}const p=[{path:"/example-markdown/",component:d("/example-markdown/","c99"),exact:!0},{path:"/example/",component:d("/example/","f31"),exact:!0},{path:"/",component:d("/","1f8"),routes:[{path:"/",component:d("/","aad"),routes:[{path:"/",component:d("/","8a0"),routes:[{path:"/concepts/",component:d("/concepts/","e2f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/advanced/evolutions/",component:d("/concepts/advanced/evolutions/","05b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/advanced/journals/",component:d("/concepts/advanced/journals/","c4a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/advanced/logs-stats/",component:d("/concepts/advanced/logs-stats/","0e2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/advanced/projections/",component:d("/concepts/advanced/projections/","868"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/advanced/shards/",component:d("/concepts/advanced/shards/","63c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/captures/",component:d("/concepts/captures/","6ba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/catalogs/",component:d("/concepts/catalogs/","6a3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/collections/",component:d("/concepts/collections/","5b1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/connectors/",component:d("/concepts/connectors/","39e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/derivations/",component:d("/concepts/derivations/","f40"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/flowctl/",component:d("/concepts/flowctl/","9ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/import/",component:d("/concepts/import/","7fb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/materialization/",component:d("/concepts/materialization/","8ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/schemas/",component:d("/concepts/schemas/","726"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/storage-mappings/",component:d("/concepts/storage-mappings/","dd1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/tests/",component:d("/concepts/tests/","305"),exact:!0,sidebar:"tutorialSidebar"},{path:"/concepts/web-app/",component:d("/concepts/web-app/","fd7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/installation/",component:d("/getting-started/installation/","f5d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/tutorials/",component:d("/getting-started/tutorials/","39b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/tutorials/continuous-materialized-view/",component:d("/getting-started/tutorials/continuous-materialized-view/","946"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/tutorials/dataflow-s3-snowflake/",component:d("/getting-started/tutorials/dataflow-s3-snowflake/","89a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/tutorials/derivations_acmebank/",component:d("/getting-started/tutorials/derivations_acmebank/","be2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/tutorials/postgresql_cdc_to_snowflake/",component:d("/getting-started/tutorials/postgresql_cdc_to_snowflake/","a1e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/tutorials/real_time_cdc_with_mongodb/",component:d("/getting-started/tutorials/real_time_cdc_with_mongodb/","aa0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/",component:d("/guides/","b2c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/connect-network/",component:d("/guides/connect-network/","d90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/create-dataflow/",component:d("/guides/create-dataflow/","cc7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/customize-materialization-fields/",component:d("/guides/customize-materialization-fields/","2e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/dekaf_reading_collections_from_kafka/",component:d("/guides/dekaf_reading_collections_from_kafka/","0d6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/derivation_tutorial_sql/",component:d("/guides/derivation_tutorial_sql/","e05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/edit-data-flows/",component:d("/guides/edit-data-flows/","049"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/flowctl/",component:d("/guides/flowctl/","544"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/flowctl/create-derivation/",component:d("/guides/flowctl/create-derivation/","5d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/flowctl/edit-draft-from-webapp/",component:d("/guides/flowctl/edit-draft-from-webapp/","39f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/flowctl/edit-specification-locally/",component:d("/guides/flowctl/edit-specification-locally/","cb2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/flowctl/troubleshoot-task/",component:d("/guides/flowctl/troubleshoot-task/","18f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/howto_join_two_collections_typescript/",component:d("/guides/howto_join_two_collections_typescript/","5dc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/schema-evolution/",component:d("/guides/schema-evolution/","5a6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/system-specific-dataflows/",component:d("/guides/system-specific-dataflows/","99d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/system-specific-dataflows/firestore-to-dwh/",component:d("/guides/system-specific-dataflows/firestore-to-dwh/","82d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/system-specific-dataflows/s3-to-snowflake/",component:d("/guides/system-specific-dataflows/s3-to-snowflake/","7de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/guides/transform_data_using_typescript/",component:d("/guides/transform_data_using_typescript/","162"),exact:!0,sidebar:"tutorialSidebar"},{path:"/overview/comparisons/",component:d("/overview/comparisons/","283"),exact:!0,sidebar:"tutorialSidebar"},{path:"/overview/who-should-use-flow/",component:d("/overview/who-should-use-flow/","e36"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/allow-ip-addresses/",component:d("/reference/allow-ip-addresses/","229"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/authentication/",component:d("/reference/authentication/","f99"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Configuring-task-shards/",component:d("/reference/Configuring-task-shards/","e26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/",component:d("/reference/Connectors/","24b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/",component:d("/reference/Connectors/capture-connectors/","29f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/aircall/",component:d("/reference/Connectors/capture-connectors/aircall/","edb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/airtable/",component:d("/reference/Connectors/capture-connectors/airtable/","2d0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/alloydb/",component:d("/reference/Connectors/capture-connectors/alloydb/","bf4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/alpaca/",component:d("/reference/Connectors/capture-connectors/alpaca/","c2f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amazon-ads/",component:d("/reference/Connectors/capture-connectors/amazon-ads/","bc8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amazon-dynamodb/",component:d("/reference/Connectors/capture-connectors/amazon-dynamodb/","eca"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amazon-kinesis/",component:d("/reference/Connectors/capture-connectors/amazon-kinesis/","966"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amazon-redshift/",component:d("/reference/Connectors/capture-connectors/amazon-redshift/","8c8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amazon-s3/",component:d("/reference/Connectors/capture-connectors/amazon-s3/","85e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amazon-sqs/",component:d("/reference/Connectors/capture-connectors/amazon-sqs/","d7a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/amplitude/",component:d("/reference/Connectors/capture-connectors/amplitude/","592"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/apache-kafka/",component:d("/reference/Connectors/capture-connectors/apache-kafka/","699"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/azure-blob-storage/",component:d("/reference/Connectors/capture-connectors/azure-blob-storage/","99b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/bigquery-batch/",component:d("/reference/Connectors/capture-connectors/bigquery-batch/","f97"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/bing-ads/",component:d("/reference/Connectors/capture-connectors/bing-ads/","84a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/braintree/",component:d("/reference/Connectors/capture-connectors/braintree/","6ba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/braze/",component:d("/reference/Connectors/capture-connectors/braze/","712"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/chargebee/",component:d("/reference/Connectors/capture-connectors/chargebee/","474"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/confluence/",component:d("/reference/Connectors/capture-connectors/confluence/","1b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/datadog-ingest/",component:d("/reference/Connectors/capture-connectors/datadog-ingest/","8f9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/dropbox/",component:d("/reference/Connectors/capture-connectors/dropbox/","802"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/exchange-rates/",component:d("/reference/Connectors/capture-connectors/exchange-rates/","f78"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/facebook-marketing/",component:d("/reference/Connectors/capture-connectors/facebook-marketing/","a44"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/freshdesk/",component:d("/reference/Connectors/capture-connectors/freshdesk/","78b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/gcs/",component:d("/reference/Connectors/capture-connectors/gcs/","728"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/github/",component:d("/reference/Connectors/capture-connectors/github/","517"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/gitlab/",component:d("/reference/Connectors/capture-connectors/gitlab/","93d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/gladly/",component:d("/reference/Connectors/capture-connectors/gladly/","108"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-ads/",component:d("/reference/Connectors/capture-connectors/google-ads/","26b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-analytics-4/",component:d("/reference/Connectors/capture-connectors/google-analytics-4/","182"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-analytics/",component:d("/reference/Connectors/capture-connectors/google-analytics/","480"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-drive/",component:d("/reference/Connectors/capture-connectors/google-drive/","dc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-firestore/",component:d("/reference/Connectors/capture-connectors/google-firestore/","add"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-pubsub/",component:d("/reference/Connectors/capture-connectors/google-pubsub/","233"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-search-console/",component:d("/reference/Connectors/capture-connectors/google-search-console/","de2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/google-sheets/",component:d("/reference/Connectors/capture-connectors/google-sheets/","970"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/greenhouse/",component:d("/reference/Connectors/capture-connectors/greenhouse/","37c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/harvest/",component:d("/reference/Connectors/capture-connectors/harvest/","6d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/http-file/",component:d("/reference/Connectors/capture-connectors/http-file/","e4e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/http-ingest/",component:d("/reference/Connectors/capture-connectors/http-ingest/","d44"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/hubspot-real-time/",component:d("/reference/Connectors/capture-connectors/hubspot-real-time/","8e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/hubspot/",component:d("/reference/Connectors/capture-connectors/hubspot/","891"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/instagram/",component:d("/reference/Connectors/capture-connectors/instagram/","8cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/intercom-ingest/",component:d("/reference/Connectors/capture-connectors/intercom-ingest/","4a0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/intercom/",component:d("/reference/Connectors/capture-connectors/intercom/","5a8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/iterable/",component:d("/reference/Connectors/capture-connectors/iterable/","8de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/jira-ingest/",component:d("/reference/Connectors/capture-connectors/jira-ingest/","dc0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/jira/",component:d("/reference/Connectors/capture-connectors/jira/","708"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/klaviyo/",component:d("/reference/Connectors/capture-connectors/klaviyo/","710"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/linkedin-ads/",component:d("/reference/Connectors/capture-connectors/linkedin-ads/","fd9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/linkedin-pages/",component:d("/reference/Connectors/capture-connectors/linkedin-pages/","4f2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/mailchimp/",component:d("/reference/Connectors/capture-connectors/mailchimp/","c8f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/MariaDB/",component:d("/reference/Connectors/capture-connectors/MariaDB/","6e2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb/",component:d("/reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb/","a90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/marketo/",component:d("/reference/Connectors/capture-connectors/marketo/","a3f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/mixpanel/",component:d("/reference/Connectors/capture-connectors/mixpanel/","047"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/mongodb/",component:d("/reference/Connectors/capture-connectors/mongodb/","cff"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/MySQL/",component:d("/reference/Connectors/capture-connectors/MySQL/","035"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql/",component:d("/reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql/","f76"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql/",component:d("/reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql/","94d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/MySQL/mysql-batch/",component:d("/reference/Connectors/capture-connectors/MySQL/mysql-batch/","eb9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/netsuite-suiteanalytics/",component:d("/reference/Connectors/capture-connectors/netsuite-suiteanalytics/","0f8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/netsuite-suitetalk/",component:d("/reference/Connectors/capture-connectors/netsuite-suitetalk/","255"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/notion/",component:d("/reference/Connectors/capture-connectors/notion/","22c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/OracleDB/",component:d("/reference/Connectors/capture-connectors/OracleDB/","f4f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/OracleDB/flashback/",component:d("/reference/Connectors/capture-connectors/OracleDB/flashback/","6e4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/paypal-transaction/",component:d("/reference/Connectors/capture-connectors/paypal-transaction/","e34"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/pendo/",component:d("/reference/Connectors/capture-connectors/pendo/","edc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/pinterest/",component:d("/reference/Connectors/capture-connectors/pinterest/","8a4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/PostgreSQL/",component:d("/reference/Connectors/capture-connectors/PostgreSQL/","d32"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres/",component:d("/reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres/","832"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres/",component:d("/reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres/","727"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/PostgreSQL/neon-postgres/",component:d("/reference/Connectors/capture-connectors/PostgreSQL/neon-postgres/","647"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/PostgreSQL/postgres-batch/",component:d("/reference/Connectors/capture-connectors/PostgreSQL/postgres-batch/","f26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/PostgreSQL/Supabase/",component:d("/reference/Connectors/capture-connectors/PostgreSQL/Supabase/","4fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/recharge/",component:d("/reference/Connectors/capture-connectors/recharge/","b47"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/Salesforce/",component:d("/reference/Connectors/capture-connectors/Salesforce/","4fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data/",component:d("/reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data/","62e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/Salesforce/salesforce-real-time/",component:d("/reference/Connectors/capture-connectors/Salesforce/salesforce-real-time/","8f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/sendgrid/",component:d("/reference/Connectors/capture-connectors/sendgrid/","1af"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/sentry/",component:d("/reference/Connectors/capture-connectors/sentry/","7e7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/sftp/",component:d("/reference/Connectors/capture-connectors/sftp/","d08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/slack/",component:d("/reference/Connectors/capture-connectors/slack/","8ec"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/snapchat/",component:d("/reference/Connectors/capture-connectors/snapchat/","5be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/snowflake/",component:d("/reference/Connectors/capture-connectors/snowflake/","d09"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/SQLServer/",component:d("/reference/Connectors/capture-connectors/SQLServer/","bd6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver/",component:d("/reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver/","360"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver/",component:d("/reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver/","77f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/stripe/",component:d("/reference/Connectors/capture-connectors/stripe/","ea7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/survey-monkey/",component:d("/reference/Connectors/capture-connectors/survey-monkey/","125"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/tiktok/",component:d("/reference/Connectors/capture-connectors/tiktok/","7a6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/twilio/",component:d("/reference/Connectors/capture-connectors/twilio/","bea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/woocommerce/",component:d("/reference/Connectors/capture-connectors/woocommerce/","287"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/youtube-analytics/",component:d("/reference/Connectors/capture-connectors/youtube-analytics/","fb0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/zendesk-chat/",component:d("/reference/Connectors/capture-connectors/zendesk-chat/","f3b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/capture-connectors/zendesk-support/",component:d("/reference/Connectors/capture-connectors/zendesk-support/","6f5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/dekaf/",component:d("/reference/Connectors/dekaf/","558"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/dekaf/dekaf-startree/",component:d("/reference/Connectors/dekaf/dekaf-startree/","2dd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/dekaf/dekaf-tinybird/",component:d("/reference/Connectors/dekaf/dekaf-tinybird/","c7d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/",component:d("/reference/Connectors/materialization-connectors/","1e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/alloydb/",component:d("/reference/Connectors/materialization-connectors/alloydb/","01c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/amazon-dynamodb/",component:d("/reference/Connectors/materialization-connectors/amazon-dynamodb/","c71"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/amazon-redshift/",component:d("/reference/Connectors/materialization-connectors/amazon-redshift/","516"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/amazon-s3-csv/",component:d("/reference/Connectors/materialization-connectors/amazon-s3-csv/","fef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/amazon-s3-iceberg/",component:d("/reference/Connectors/materialization-connectors/amazon-s3-iceberg/","d06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/amazon-s3-parquet/",component:d("/reference/Connectors/materialization-connectors/amazon-s3-parquet/","da2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/BigQuery/",component:d("/reference/Connectors/materialization-connectors/BigQuery/","ee4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/databricks/",component:d("/reference/Connectors/materialization-connectors/databricks/","3b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/Elasticsearch/",component:d("/reference/Connectors/materialization-connectors/Elasticsearch/","14e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/Firebolt/",component:d("/reference/Connectors/materialization-connectors/Firebolt/","2af"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/google-gcs-csv/",component:d("/reference/Connectors/materialization-connectors/google-gcs-csv/","e66"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/google-gcs-parquet/",component:d("/reference/Connectors/materialization-connectors/google-gcs-parquet/","a2a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/google-pubsub/",component:d("/reference/Connectors/materialization-connectors/google-pubsub/","780"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/Google-sheets/",component:d("/reference/Connectors/materialization-connectors/Google-sheets/","f2f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/http-webhook/",component:d("/reference/Connectors/materialization-connectors/http-webhook/","d67"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/mongodb/",component:d("/reference/Connectors/materialization-connectors/mongodb/","f11"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/motherduck/",component:d("/reference/Connectors/materialization-connectors/motherduck/","9b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/mysql-heatwave/",component:d("/reference/Connectors/materialization-connectors/mysql-heatwave/","004"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/MySQL/",component:d("/reference/Connectors/materialization-connectors/MySQL/","bbf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql/",component:d("/reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql/","81b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql/",component:d("/reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql/","22a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/pinecone/",component:d("/reference/Connectors/materialization-connectors/pinecone/","bd1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/PostgreSQL/",component:d("/reference/Connectors/materialization-connectors/PostgreSQL/","fff"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres/",component:d("/reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres/","df4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres/",component:d("/reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres/","ce7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/Rockset/",component:d("/reference/Connectors/materialization-connectors/Rockset/","9fd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/slack/",component:d("/reference/Connectors/materialization-connectors/slack/","fd6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/Snowflake/",component:d("/reference/Connectors/materialization-connectors/Snowflake/","bce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/SQLite/",component:d("/reference/Connectors/materialization-connectors/SQLite/","fc0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/SQLServer/",component:d("/reference/Connectors/materialization-connectors/SQLServer/","575"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver/",component:d("/reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver/","c5b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver/",component:d("/reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver/","c08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/starburst/",component:d("/reference/Connectors/materialization-connectors/starburst/","8cd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-connectors/timescaledb/",component:d("/reference/Connectors/materialization-connectors/timescaledb/","b22"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/Connectors/materialization-protocol/",component:d("/reference/Connectors/materialization-protocol/","061"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/editing/",component:d("/reference/editing/","e3c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/materialization-sync-schedule/",component:d("/reference/materialization-sync-schedule/","291"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/notifications/",component:d("/reference/notifications/","65b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/organizing-catalogs/",component:d("/reference/organizing-catalogs/","b07"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/",component:d("/reference/reduction-strategies/","edb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/append/",component:d("/reference/reduction-strategies/append/","6d8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/composing-with-conditionals/",component:d("/reference/reduction-strategies/composing-with-conditionals/","3f4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/firstwritewins-and-lastwritewins/",component:d("/reference/reduction-strategies/firstwritewins-and-lastwritewins/","990"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/merge/",component:d("/reference/reduction-strategies/merge/","268"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/minimize-and-maximize/",component:d("/reference/reduction-strategies/minimize-and-maximize/","21f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/set/",component:d("/reference/reduction-strategies/set/","d96"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/reduction-strategies/sum/",component:d("/reference/reduction-strategies/sum/","c34"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/time-travel/",component:d("/reference/time-travel/","78e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/reference/working-logs-stats/",component:d("/reference/working-logs-stats/","551"),exact:!0,sidebar:"tutorialSidebar"},{path:"/",component:d("/","8e9"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(96540),o=n(74848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},4568:(e,t,n)=>{"use strict";var r=n(96540),o=n(5338),a=n(80545),i=n(54625),c=n(4784),s=n(38193);const l=[n(10119),n(26134),n(76294),n(51043)];var u=n(35947),d=n(56347),p=n(22831);function f(e){const t=e.scriptUrlPattern||"https://static.reo.dev//reo.js",n=e.clientID,r=e.version||"";if(!n||"string"!=typeof n)throw new Error("clientID required");return function(e){return new Promise(((t,n)=>{var r;(r=0){const r=document.createElement("script");r.onload=()=>{"undefined"!=typeof window&&window.Reo?t(Reo):n(new Error("Failed to load the script or access methods."))},r.onerror=e=>n(new Error("Failed to load the JS script of the agent")),r.async=!0,r.src=e,document.head.appendChild(r)})(e[r]):t()}))}((Array.isArray(t)?t:[t]).map((e=>e.replace(//g,n).replace(//g,r))))}var m=n(74848);const h="estuary.docs.hideNavBar",g="running-in-iframe",b="a2955ffcdd9029c";function y(e){let{children:t}=e;return(0,r.useEffect)((()=>{f({clientID:b}).then((e=>{e.init({clientID:b})}));const e=e=>{"http://localhost:3000"!==e.origin&&"https://dashboard.estuary.dev"!==e.origin||e.data?.type===h&&window.document.body.classList.add(g)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}}),[]),(0,m.jsx)(m.Fragment,{children:t})}var v=n(5260),w=n(44586),k=n(86025),S=n(6342),C=n(1003),x=n(32131),_=n(14090),E=n(2967),A=n(70440),T=n(41463);function L(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,w.A)(),r=(0,x.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,m.jsxs)(v.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,m.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,m.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,m.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,m.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function z(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,w.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,w.A)(),{pathname:r}=(0,d.zy)();return e+(0,A.applyTrailingSlash)((0,k.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,m.jsxs)(v.A,{children:[(0,m.jsx)("meta",{property:"og:url",content:o}),(0,m.jsx)("link",{rel:"canonical",href:o})]})}function j(){const{i18n:{currentLocale:e}}=(0,w.A)(),{metadata:t,image:n}=(0,S.p)();return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(v.A,{children:[(0,m.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,m.jsx)("body",{className:_.w})]}),n&&(0,m.jsx)(C.be,{image:n}),(0,m.jsx)(z,{}),(0,m.jsx)(L,{}),(0,m.jsx)(T.A,{tag:E.Cy,locale:e}),(0,m.jsx)(v.A,{children:t.map(((e,t)=>(0,m.jsx)("meta",{...e},t)))})]})}const R=new Map;var N=n(6125),P=n(26988),O=n(205);function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const M=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,O.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),D("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function I(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class F extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?D("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=D("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),I(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,m.jsx)(M,{previousLocation:this.previousLocation,location:t,children:(0,m.jsx)(d.qh,{location:t,render:()=>e})})}}const B=F,q="__docusaurus-base-url-issue-banner-container",$="__docusaurus-base-url-issue-banner",U="__docusaurus-base-url-issue-banner-suggestion-container";function Q(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${q}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return R.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return R.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,m.jsx)(B,{location:e,children:J})}function X(){return(0,m.jsx)(V.A,{children:(0,m.jsx)(P.l,{children:(0,m.jsxs)(N.x,{children:[(0,m.jsxs)(y,{children:[(0,m.jsx)(W,{}),(0,m.jsx)(j,{}),(0,m.jsx)(G,{}),(0,m.jsx)(Z,{})]}),(0,m.jsx)(Y,{})]})})})}var ee=n(84054);const te=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var ne=n(86921);const re=new Set,oe=new Set,ae=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ie={prefetch:e=>{if(!(e=>!ae()&&!oe.has(e)&&!re.has(e))(e))return!1;re.add(e);const t=(0,p.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(ee).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,ne.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?te(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!ae()&&!oe.has(e))(e)&&(oe.add(e),I(e))},ce=Object.freeze(ie);function se(e){let{children:t}=e;return"hash"===c.default.future.experimental_router?(0,m.jsx)(i.I9,{children:t}):(0,m.jsx)(i.Kd,{children:t})}const le=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=ce;const e=document.getElementById("__docusaurus"),t=(0,m.jsx)(a.vd,{children:(0,m.jsx)(se,{children:(0,m.jsx)(X,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(le)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};I(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},26988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(96540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"overview/README","docs":[{"id":"concepts/advanced/evolutions","path":"/concepts/advanced/evolutions","sidebar":"tutorialSidebar"},{"id":"concepts/advanced/journals","path":"/concepts/advanced/journals","sidebar":"tutorialSidebar"},{"id":"concepts/advanced/logs-stats","path":"/concepts/advanced/logs-stats","sidebar":"tutorialSidebar"},{"id":"concepts/advanced/projections","path":"/concepts/advanced/projections","sidebar":"tutorialSidebar"},{"id":"concepts/advanced/shards","path":"/concepts/advanced/shards","sidebar":"tutorialSidebar"},{"id":"concepts/captures","path":"/concepts/captures","sidebar":"tutorialSidebar"},{"id":"concepts/catalogs","path":"/concepts/catalogs","sidebar":"tutorialSidebar"},{"id":"concepts/collections","path":"/concepts/collections","sidebar":"tutorialSidebar"},{"id":"concepts/connectors","path":"/concepts/connectors","sidebar":"tutorialSidebar"},{"id":"concepts/derivations","path":"/concepts/derivations","sidebar":"tutorialSidebar"},{"id":"concepts/flowctl","path":"/concepts/flowctl","sidebar":"tutorialSidebar"},{"id":"concepts/import","path":"/concepts/import","sidebar":"tutorialSidebar"},{"id":"concepts/materialization","path":"/concepts/materialization","sidebar":"tutorialSidebar"},{"id":"concepts/README","path":"/concepts/","sidebar":"tutorialSidebar"},{"id":"concepts/schemas","path":"/concepts/schemas","sidebar":"tutorialSidebar"},{"id":"concepts/storage-mappings","path":"/concepts/storage-mappings","sidebar":"tutorialSidebar"},{"id":"concepts/tests","path":"/concepts/tests","sidebar":"tutorialSidebar"},{"id":"concepts/web-app","path":"/concepts/web-app","sidebar":"tutorialSidebar"},{"id":"getting-started/installation","path":"/getting-started/installation","sidebar":"tutorialSidebar"},{"id":"getting-started/tutorials/continuous-materialized-view","path":"/getting-started/tutorials/continuous-materialized-view","sidebar":"tutorialSidebar"},{"id":"getting-started/tutorials/dataflow-s3-snowflake","path":"/getting-started/tutorials/dataflow-s3-snowflake","sidebar":"tutorialSidebar"},{"id":"getting-started/tutorials/derivations_acmebank","path":"/getting-started/tutorials/derivations_acmebank","sidebar":"tutorialSidebar"},{"id":"getting-started/tutorials/postgresql_cdc_to_snowflake","path":"/getting-started/tutorials/postgresql_cdc_to_snowflake","sidebar":"tutorialSidebar"},{"id":"getting-started/tutorials/README","path":"/getting-started/tutorials/","sidebar":"tutorialSidebar"},{"id":"getting-started/tutorials/real_time_cdc_with_mongodb","path":"/getting-started/tutorials/real_time_cdc_with_mongodb","sidebar":"tutorialSidebar"},{"id":"guides/connect-network","path":"/guides/connect-network","sidebar":"tutorialSidebar"},{"id":"guides/create-dataflow","path":"/guides/create-dataflow","sidebar":"tutorialSidebar"},{"id":"guides/customize-materialization-fields","path":"/guides/customize-materialization-fields","sidebar":"tutorialSidebar"},{"id":"guides/dekaf_reading_collections_from_kafka","path":"/guides/dekaf_reading_collections_from_kafka","sidebar":"tutorialSidebar"},{"id":"guides/derivation_tutorial_sql","path":"/guides/derivation_tutorial_sql","sidebar":"tutorialSidebar"},{"id":"guides/edit-data-flows","path":"/guides/edit-data-flows","sidebar":"tutorialSidebar"},{"id":"guides/flowctl/create-derivation","path":"/guides/flowctl/create-derivation","sidebar":"tutorialSidebar"},{"id":"guides/flowctl/edit-draft-from-webapp","path":"/guides/flowctl/edit-draft-from-webapp","sidebar":"tutorialSidebar"},{"id":"guides/flowctl/edit-specification-locally","path":"/guides/flowctl/edit-specification-locally","sidebar":"tutorialSidebar"},{"id":"guides/flowctl/README","path":"/guides/flowctl/","sidebar":"tutorialSidebar"},{"id":"guides/flowctl/troubleshoot-task","path":"/guides/flowctl/troubleshoot-task","sidebar":"tutorialSidebar"},{"id":"guides/howto_join_two_collections_typescript","path":"/guides/howto_join_two_collections_typescript","sidebar":"tutorialSidebar"},{"id":"guides/README","path":"/guides/","sidebar":"tutorialSidebar"},{"id":"guides/schema-evolution","path":"/guides/schema-evolution","sidebar":"tutorialSidebar"},{"id":"guides/system-specific-dataflows/firestore-to-dwh","path":"/guides/system-specific-dataflows/firestore-to-dwh","sidebar":"tutorialSidebar"},{"id":"guides/system-specific-dataflows/README","path":"/guides/system-specific-dataflows/","sidebar":"tutorialSidebar"},{"id":"guides/system-specific-dataflows/s3-to-snowflake","path":"/guides/system-specific-dataflows/s3-to-snowflake","sidebar":"tutorialSidebar"},{"id":"guides/transform_data_using_typescript","path":"/guides/transform_data_using_typescript","sidebar":"tutorialSidebar"},{"id":"overview/comparisons","path":"/overview/comparisons","sidebar":"tutorialSidebar"},{"id":"overview/README","path":"/","sidebar":"tutorialSidebar"},{"id":"overview/who-should-use-flow","path":"/overview/who-should-use-flow","sidebar":"tutorialSidebar"},{"id":"reference/allow-ip-addresses","path":"/reference/allow-ip-addresses","sidebar":"tutorialSidebar"},{"id":"reference/authentication","path":"/reference/authentication","sidebar":"tutorialSidebar"},{"id":"reference/Configuring-task-shards","path":"/reference/Configuring-task-shards","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/aircall","path":"/reference/Connectors/capture-connectors/aircall","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/airtable","path":"/reference/Connectors/capture-connectors/airtable","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/alloydb","path":"/reference/Connectors/capture-connectors/alloydb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/alpaca","path":"/reference/Connectors/capture-connectors/alpaca","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amazon-ads","path":"/reference/Connectors/capture-connectors/amazon-ads","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amazon-dynamodb","path":"/reference/Connectors/capture-connectors/amazon-dynamodb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amazon-kinesis","path":"/reference/Connectors/capture-connectors/amazon-kinesis","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amazon-redshift","path":"/reference/Connectors/capture-connectors/amazon-redshift","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amazon-s3","path":"/reference/Connectors/capture-connectors/amazon-s3","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amazon-sqs","path":"/reference/Connectors/capture-connectors/amazon-sqs","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/amplitude","path":"/reference/Connectors/capture-connectors/amplitude","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/apache-kafka","path":"/reference/Connectors/capture-connectors/apache-kafka","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/azure-blob-storage","path":"/reference/Connectors/capture-connectors/azure-blob-storage","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/bigquery-batch","path":"/reference/Connectors/capture-connectors/bigquery-batch","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/bing-ads","path":"/reference/Connectors/capture-connectors/bing-ads","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/braintree","path":"/reference/Connectors/capture-connectors/braintree","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/braze","path":"/reference/Connectors/capture-connectors/braze","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/chargebee","path":"/reference/Connectors/capture-connectors/chargebee","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/confluence","path":"/reference/Connectors/capture-connectors/confluence","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/datadog-ingest","path":"/reference/Connectors/capture-connectors/datadog-ingest","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/dropbox","path":"/reference/Connectors/capture-connectors/dropbox","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/exchange-rates","path":"/reference/Connectors/capture-connectors/exchange-rates","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/facebook-marketing","path":"/reference/Connectors/capture-connectors/facebook-marketing","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/freshdesk","path":"/reference/Connectors/capture-connectors/freshdesk","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/gcs","path":"/reference/Connectors/capture-connectors/gcs","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/github","path":"/reference/Connectors/capture-connectors/github","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/gitlab","path":"/reference/Connectors/capture-connectors/gitlab","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/gladly","path":"/reference/Connectors/capture-connectors/gladly","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-ads","path":"/reference/Connectors/capture-connectors/google-ads","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-analytics","path":"/reference/Connectors/capture-connectors/google-analytics","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-analytics-4","path":"/reference/Connectors/capture-connectors/google-analytics-4","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-drive","path":"/reference/Connectors/capture-connectors/google-drive","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-firestore","path":"/reference/Connectors/capture-connectors/google-firestore","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-pubsub","path":"/reference/Connectors/capture-connectors/google-pubsub","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-search-console","path":"/reference/Connectors/capture-connectors/google-search-console","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/google-sheets","path":"/reference/Connectors/capture-connectors/google-sheets","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/greenhouse","path":"/reference/Connectors/capture-connectors/greenhouse","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/harvest","path":"/reference/Connectors/capture-connectors/harvest","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/http-file","path":"/reference/Connectors/capture-connectors/http-file","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/http-ingest","path":"/reference/Connectors/capture-connectors/http-ingest","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/hubspot","path":"/reference/Connectors/capture-connectors/hubspot","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/hubspot-real-time","path":"/reference/Connectors/capture-connectors/hubspot-real-time","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/instagram","path":"/reference/Connectors/capture-connectors/instagram","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/intercom","path":"/reference/Connectors/capture-connectors/intercom","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/intercom-ingest","path":"/reference/Connectors/capture-connectors/intercom-ingest","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/iterable","path":"/reference/Connectors/capture-connectors/iterable","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/jira","path":"/reference/Connectors/capture-connectors/jira","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/jira-ingest","path":"/reference/Connectors/capture-connectors/jira-ingest","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/klaviyo","path":"/reference/Connectors/capture-connectors/klaviyo","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/linkedin-ads","path":"/reference/Connectors/capture-connectors/linkedin-ads","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/linkedin-pages","path":"/reference/Connectors/capture-connectors/linkedin-pages","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/mailchimp","path":"/reference/Connectors/capture-connectors/mailchimp","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","path":"/reference/Connectors/capture-connectors/MariaDB/amazon-rds-mariadb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/MariaDB/MariaDB","path":"/reference/Connectors/capture-connectors/MariaDB/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/marketo","path":"/reference/Connectors/capture-connectors/marketo","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/mixpanel","path":"/reference/Connectors/capture-connectors/mixpanel","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/mongodb","path":"/reference/Connectors/capture-connectors/mongodb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","path":"/reference/Connectors/capture-connectors/MySQL/amazon-rds-mysql","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","path":"/reference/Connectors/capture-connectors/MySQL/google-cloud-sql-mysql","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/MySQL/MySQL","path":"/reference/Connectors/capture-connectors/MySQL/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/MySQL/mysql-batch","path":"/reference/Connectors/capture-connectors/MySQL/mysql-batch","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/netsuite-suiteanalytics","path":"/reference/Connectors/capture-connectors/netsuite-suiteanalytics","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/netsuite-suitetalk","path":"/reference/Connectors/capture-connectors/netsuite-suitetalk","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/notion","path":"/reference/Connectors/capture-connectors/notion","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/OracleDB/flashback","path":"/reference/Connectors/capture-connectors/OracleDB/flashback","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/OracleDB/OracleDB","path":"/reference/Connectors/capture-connectors/OracleDB/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/paypal-transaction","path":"/reference/Connectors/capture-connectors/paypal-transaction","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/pendo","path":"/reference/Connectors/capture-connectors/pendo","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/pinterest","path":"/reference/Connectors/capture-connectors/pinterest","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","path":"/reference/Connectors/capture-connectors/PostgreSQL/amazon-rds-postgres","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","path":"/reference/Connectors/capture-connectors/PostgreSQL/google-cloud-sql-postgres","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","path":"/reference/Connectors/capture-connectors/PostgreSQL/neon-postgres","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","path":"/reference/Connectors/capture-connectors/PostgreSQL/postgres-batch","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/PostgreSQL/PostgreSQL","path":"/reference/Connectors/capture-connectors/PostgreSQL/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/PostgreSQL/Supabase","path":"/reference/Connectors/capture-connectors/PostgreSQL/Supabase","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/README","path":"/reference/Connectors/capture-connectors/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/recharge","path":"/reference/Connectors/capture-connectors/recharge","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce","path":"/reference/Connectors/capture-connectors/Salesforce/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","path":"/reference/Connectors/capture-connectors/Salesforce/salesforce-historical-data","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","path":"/reference/Connectors/capture-connectors/Salesforce/salesforce-real-time","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/sendgrid","path":"/reference/Connectors/capture-connectors/sendgrid","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/sentry","path":"/reference/Connectors/capture-connectors/sentry","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/sftp","path":"/reference/Connectors/capture-connectors/sftp","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/slack","path":"/reference/Connectors/capture-connectors/slack","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/snapchat","path":"/reference/Connectors/capture-connectors/snapchat","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/snowflake","path":"/reference/Connectors/capture-connectors/snowflake","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","path":"/reference/Connectors/capture-connectors/SQLServer/amazon-rds-sqlserver","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","path":"/reference/Connectors/capture-connectors/SQLServer/google-cloud-sql-sqlserver","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/SQLServer/sqlserver","path":"/reference/Connectors/capture-connectors/SQLServer/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/stripe","path":"/reference/Connectors/capture-connectors/stripe","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/survey-monkey","path":"/reference/Connectors/capture-connectors/survey-monkey","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/tiktok","path":"/reference/Connectors/capture-connectors/tiktok","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/twilio","path":"/reference/Connectors/capture-connectors/twilio","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/woocommerce","path":"/reference/Connectors/capture-connectors/woocommerce","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/youtube-analytics","path":"/reference/Connectors/capture-connectors/youtube-analytics","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/zendesk-chat","path":"/reference/Connectors/capture-connectors/zendesk-chat","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/capture-connectors/zendesk-support","path":"/reference/Connectors/capture-connectors/zendesk-support","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/dekaf/dekaf-startree","path":"/reference/Connectors/dekaf/dekaf-startree","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/dekaf/dekaf-tinybird","path":"/reference/Connectors/dekaf/dekaf-tinybird","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/dekaf/README","path":"/reference/Connectors/dekaf/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/alloydb","path":"/reference/Connectors/materialization-connectors/alloydb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/amazon-dynamodb","path":"/reference/Connectors/materialization-connectors/amazon-dynamodb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/amazon-redshift","path":"/reference/Connectors/materialization-connectors/amazon-redshift","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/amazon-s3-csv","path":"/reference/Connectors/materialization-connectors/amazon-s3-csv","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/amazon-s3-iceberg","path":"/reference/Connectors/materialization-connectors/amazon-s3-iceberg","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/amazon-s3-parquet","path":"/reference/Connectors/materialization-connectors/amazon-s3-parquet","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/BigQuery","path":"/reference/Connectors/materialization-connectors/BigQuery","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/databricks","path":"/reference/Connectors/materialization-connectors/databricks","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/Elasticsearch","path":"/reference/Connectors/materialization-connectors/Elasticsearch","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/Firebolt","path":"/reference/Connectors/materialization-connectors/Firebolt","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/google-gcs-csv","path":"/reference/Connectors/materialization-connectors/google-gcs-csv","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/google-gcs-parquet","path":"/reference/Connectors/materialization-connectors/google-gcs-parquet","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/google-pubsub","path":"/reference/Connectors/materialization-connectors/google-pubsub","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/Google-sheets","path":"/reference/Connectors/materialization-connectors/Google-sheets","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/http-webhook","path":"/reference/Connectors/materialization-connectors/http-webhook","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/mongodb","path":"/reference/Connectors/materialization-connectors/mongodb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/motherduck","path":"/reference/Connectors/materialization-connectors/motherduck","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/mysql-heatwave","path":"/reference/Connectors/materialization-connectors/mysql-heatwave","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","path":"/reference/Connectors/materialization-connectors/MySQL/amazon-rds-mysql","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","path":"/reference/Connectors/materialization-connectors/MySQL/google-cloud-sql-mysql","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/MySQL/mysql","path":"/reference/Connectors/materialization-connectors/MySQL/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/pinecone","path":"/reference/Connectors/materialization-connectors/pinecone","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","path":"/reference/Connectors/materialization-connectors/PostgreSQL/amazon-rds-postgres","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","path":"/reference/Connectors/materialization-connectors/PostgreSQL/google-cloud-sql-postgres","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/PostgreSQL/PostgreSQL","path":"/reference/Connectors/materialization-connectors/PostgreSQL/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/README","path":"/reference/Connectors/materialization-connectors/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/Rockset","path":"/reference/Connectors/materialization-connectors/Rockset","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/slack","path":"/reference/Connectors/materialization-connectors/slack","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/Snowflake","path":"/reference/Connectors/materialization-connectors/Snowflake","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/SQLite","path":"/reference/Connectors/materialization-connectors/SQLite","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","path":"/reference/Connectors/materialization-connectors/SQLServer/amazon-rds-sqlserver","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","path":"/reference/Connectors/materialization-connectors/SQLServer/google-cloud-sql-sqlserver","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/SQLServer/sqlserver","path":"/reference/Connectors/materialization-connectors/SQLServer/","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/starburst","path":"/reference/Connectors/materialization-connectors/starburst","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-connectors/timescaledb","path":"/reference/Connectors/materialization-connectors/timescaledb","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/materialization-protocol","path":"/reference/Connectors/materialization-protocol","sidebar":"tutorialSidebar"},{"id":"reference/Connectors/README","path":"/reference/Connectors/","sidebar":"tutorialSidebar"},{"id":"reference/editing","path":"/reference/editing","sidebar":"tutorialSidebar"},{"id":"reference/materialization-sync-schedule","path":"/reference/materialization-sync-schedule","sidebar":"tutorialSidebar"},{"id":"reference/notifications","path":"/reference/notifications","sidebar":"tutorialSidebar"},{"id":"reference/organizing-catalogs","path":"/reference/organizing-catalogs","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/append","path":"/reference/reduction-strategies/append","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/composing-with-conditionals","path":"/reference/reduction-strategies/composing-with-conditionals","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/firstwritewins-and-lastwritewins","path":"/reference/reduction-strategies/firstwritewins-and-lastwritewins","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/merge","path":"/reference/reduction-strategies/merge","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/minimize-and-maximize","path":"/reference/reduction-strategies/minimize-and-maximize","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/README","path":"/reference/reduction-strategies/","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/set","path":"/reference/reduction-strategies/set","sidebar":"tutorialSidebar"},{"id":"reference/reduction-strategies/sum","path":"/reference/reduction-strategies/sum","sidebar":"tutorialSidebar"},{"id":"reference/time-travel","path":"/reference/time-travel","sidebar":"tutorialSidebar"},{"id":"reference/working-logs-stats","path":"/reference/working-logs-stats","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"Overview"}}}}],"breadcrumbs":true}},"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1725399041702.json","lunrIndex":"lunr-index-1725399041702.json"}}},"docusaurus-plugin-google-tag-manager":{"default":{"containerId":"GTM-WK8SB2L","id":"default"}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var c=n(22654);const s=JSON.parse('{"docusaurusVersion":"3.4.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.4.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.4.0"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"3.4.0"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.4.0"},"docusaurus-plugin-google-tag-manager":{"type":"package","name":"@docusaurus/plugin-google-tag-manager","version":"3.4.0"}}}');var l=n(74848);const u={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:c},d=r.createContext(u);function p(e){let{children:t}=e;return(0,l.jsx)(d.Provider,{value:u,children:t})}},67489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(96540),o=n(38193),a=n(5260),i=n(70440),c=n(58356),s=n(53102),l=n(74848);function u(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,l.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,l.jsx)(p,{children:(0,l.jsxs)(h,{fallback:()=>(0,l.jsx)(u,{error:t,tryAgain:n}),children:[(0,l.jsx)(a.A,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(c.A,{children:(0,l.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,l.jsx)(f,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},38193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(80545),o=n(74848);function a(e){return(0,o.jsx)(r.mg,{...e})}},28774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(96540),o=n(54625),a=n(70440),i=n(44586),c=n(16654),s=n(38193),l=n(63427),u=n(86025),d=n(74848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,S=v.future.experimental_router,{withBaseUrl:C}=(0,u.hH)(),x=(0,l.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const E=p||f;const A=(0,c.A)(E),T=E?.replace("pathname://","");let L=void 0!==T?(z=T,b&&(e=>e.startsWith("/"))(z)?C(z):z):void 0;var z;"hash"===S&&L?.startsWith("./")&&(L=L?.slice(1)),L&&A&&(L=(0,a.applyTrailingSlash)(L,{trailingSlash:w,baseUrl:k}));const j=(0,r.useRef)(!1),R=n?o.k2:o.N_,N=s.A.canUseIntersectionObserver,P=(0,r.useRef)(),O=()=>{j.current||null==L||(window.docusaurus.preload(L),j.current=!0)};(0,r.useEffect)((()=>(!N&&A&&null!=L&&window.docusaurus.prefetch(L),()=>{N&&P.current&&P.current.disconnect()})),[P,L,N,A]);const D=L?.startsWith("#")??!1,M=!y.target||"_self"===y.target,I=!L||!A||!M;return g||!D&&I||x.collectLink(L),y.id&&x.collectAnchor(y.id),I?(0,d.jsx)("a",{ref:_,href:L,...E&&!A&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(R,{...y,onMouseEnter:O,onTouchStart:O,innerRef:e=>{_.current=e,N&&e&&A&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=L&&window.docusaurus.prefetch(L))}))})),P.current.observe(e))},to:L,...n&&{isActive:h,activeClassName:m}})}const f=r.forwardRef(p)},21312:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,T:()=>s});var r=n(96540),o=n(74848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(22654);function c(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(c({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=c({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},17065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},16654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},86025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>c,hH:()=>i});var r=n(96540),o=n(44586),a=n(16654);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,c=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:c}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===c)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const s=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+s:s}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:c}}function c(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},63427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(96540);n(74848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},44586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(26988);function a(){return(0,r.useContext)(o.o)}},66588:(e,t,n)=>{"use strict";n.d(t,{P_:()=>i,kh:()=>a});var r=n(44586),o=n(17065);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},92303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(96540);const o=n(38193).A.canUseDOM?r.useLayoutEffect:r.useEffect},86921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const c=o?`${o}.${a}`:a;r(i)?e(i,c):t[c]=i}))}(e),t}},53102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(96540),o=n(74848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),c=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:c,children:t})}},48295:(e,t,n)=>{"use strict";n.d(t,{zK:()=>f,vT:()=>u,Gy:()=>s,HW:()=>m,ht:()=>l,r7:()=>p,jh:()=>d});var r=n(56347),o=n(66588);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const c={},s=()=>(0,o.kh)("docusaurus-plugin-content-docs")??c,l=e=>{try{return(0,o.P_)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function u(e){void 0===e&&(e={});const t=s(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function d(e){return l(e).versions}function p(e){const t=l(e);return a(t)}function f(e){const t=l(e),{pathname:n}=(0,r.zy)();return i(t,n)}function m(e){const t=l(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=a(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},76294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},26134:(e,t,n)=>{"use strict";n.r(t);var r=n(71765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(19700),n(18692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},51107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(34164),o=n(21312),a=n(6342),i=n(28774),c=n(63427);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(74848);function u(e){let{as:t,id:n,...u}=e;const d=(0,c.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,l.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,l.jsxs)(t,{...u,className:(0,r.A)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,l.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},43186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},58356:(e,t,n)=>{"use strict";n.d(t,{A:()=>kt});var r=n(96540),o=n(34164),a=n(67489),i=n(1003),c=n(56347),s=n(21312),l=n(75062),u=n(74848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,c.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,l.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(17559),b=n(14090);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(h,{className:y.skipToContent})}var w=n(6342),k=n(65041);function S(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const C={closeButton:"closeButton_CVFx"};function x(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",C.closeButton,e.className),children:(0,u.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function E(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:A.announcementBarPlaceholder}),(0,u.jsx)(E,{className:A.announcementBarContent}),a&&(0,u.jsx)(x,{onClick:n,className:A.announcementBarClose})]})}var L=n(22069),z=n(23104);var j=n(89532),R=n(75600);const N=r.createContext(null);function P(e){let{children:t}=e;const n=function(){const e=(0,L.M)(),t=(0,R.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,j.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(N.Provider,{value:n,children:t})}function O(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new j.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,R.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:O(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var I=n(95293),F=n(92303);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function q(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function U(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,F.A)(),c=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.A)($.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.A)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:c,"aria-label":c,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,o.A)($.toggleIcon,$.lightToggleIcon)}),(0,u.jsx)(q,{className:(0,o.A)($.toggleIcon,$.darkToggleIcon)})]})})}const Q=r.memo(U),H="estuary.colorMode";function G(e){const[t,n]=(0,r.useState)(!1),{onChange:o}=e;return(0,r.useEffect)((()=>{const e=e=>{"http://localhost:3000"!==e.origin&&"https://dashboard.estuary.dev"!==e.origin||e.data?.type===H&&o(e.data.mode)};return t||(window.addEventListener("message",e),n(!0)),()=>{window.removeEventListener("message",e)}}),[]),(0,u.jsx)(u.Fragment,{children:(0,u.jsx)(Q,{...e})})}const W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,I.G)();return r?null:(0,u.jsx)(G,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var K=n(23465);function Y(){return(0,u.jsx)(K.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function J(){const e=(0,L.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(S,{color:"var(--ifm-color-emphasis-600)"})})}function Z(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(Y,{}),(0,u.jsx)(V,{className:"margin-right--md"}),(0,u.jsx)(J,{})]})}var X=n(28774),ee=n(86025),te=n(16654);function ne(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var re=n(43186);function oe(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:c,prependBaseUrlToHref:s,...l}=e;const d=(0,ee.Ay)(r),p=(0,ee.Ay)(t),f=(0,ee.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,te.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,m&&(0,u.jsx)(re.A,{...c&&{width:12,height:12}})]})};return o?(0,u.jsx)(X.A,{href:s?f:o,...l,...h}):(0,u.jsx)(X.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ne(n,t.pathname):t.pathname.startsWith(p)},...l,...h})}function ae(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(oe,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function ie(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(oe,{className:(0,o.A)("menu__link",t),...r})})}function ce(e){let{mobile:t=!1,position:n,...r}=e;const o=t?ie:ae;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var se=n(41422),le=n(99169),ue=n(44586);const de={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function pe(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!ne(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function fe(e){let{items:t,position:n,className:a,onClick:i,...c}=e;const s=(0,r.useRef)(null),[l,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,u.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":l}),children:[(0,u.jsx)(oe,{"aria-haspopup":"true","aria-expanded":l,role:"button",href:c.to?void 0:"#",className:(0,o.A)("navbar__link",a),...c,onClick:c.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!l))},children:c.children??c.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ne,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function me(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,ue.A)(),{pathname:t}=(0,c.zy)();return t.replace(e,"/")}(),d=pe(t,l),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,se.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[l,d,m]),(0,u.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(oe,{role:"button",className:(0,o.A)(de.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,u.jsx)(se.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ne,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function he(e){let{mobile:t=!1,...n}=e;const r=t?me:fe;return(0,u.jsx)(r,{...n})}var ge=n(32131);function be(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ye="iconLanguage_nlXk";function ve(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{if(!e.state?.highlightState||0===e.state.highlightState.wordToHighlight.length)return;a(e.state.highlightState);const{highlightState:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.highlightState,t,e]),(0,r.useEffect)((()=>{if(0===o.wordToHighlight.length)return;const e=document.getElementsByTagName("article")[0]??document.getElementsByTagName("main")[0];if(!e)return;const t=new(Ce())(e),n={ignoreJoiners:!0};return t.mark(o.wordToHighlight,n),()=>t.unmark(n)}),[o,n]),null}const _e=e=>{const t=(0,r.useRef)(!1),o=(0,r.useRef)(null),[a,i]=(0,r.useState)(!1),s=(0,c.W6)(),{siteConfig:l={}}=(0,ue.A)(),d=(l.plugins||[]).find((e=>Array.isArray(e)&&"string"==typeof e[0]&&e[0].includes("docusaurus-lunr-search"))),p=(0,F.A)(),{baseUrl:f}=l,m=d&&d[1]?.assetUrl||f,h=(0,ke.P_)("docusaurus-lunr-search"),g=()=>{t.current||(Promise.all([fetch(`${m}${h.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${m}${h.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(8591),n.e(8577)]).then(n.bind(n,15765)),Promise.all([n.e(1869),n.e(9278)]).then(n.bind(n,89278))]).then((e=>{let[t,n,{default:r}]=e;const{searchDocs:o,options:a}=t;o&&0!==o.length&&(((e,t,n,r)=>{new n({searchDocs:e,searchIndex:t,baseUrl:f,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const o=n.url||"/";document.createElement("a").href=o,e.setVal(""),t.target.blur();let a="";if(r.highlightResult)try{const e=(n.text||n.subcategory||n.title).match(new RegExp("\\w*","g"));if(e&&e.length>0){const t=document.createElement("div");t.innerHTML=e[0],a=t.textContent}}catch(i){console.log(i)}s.push(o,{highlightState:{wordToHighlight:a}})},maxHits:r.maxHits})})(o,n,r,a),i(!0))})),t.current=!0)},b=(0,r.useCallback)((t=>{o.current.contains(t.target)||o.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);let y;return p&&(g(),y=window.navigator.platform.startsWith("Mac")?"Search \u2318+K":"Search Ctrl+K"),(0,r.useEffect)((()=>{e.autoFocus&&a&&o.current.focus()}),[a]),(0,u.jsxs)("div",{className:"navbar__search",children:[(0,u.jsx)("span",{"aria-label":"expand searchbar",role:"button",className:we("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:b,onKeyDown:b,tabIndex:0}),(0,u.jsx)("input",{id:"search_input_react",type:"search",placeholder:a?y:"Loading...","aria-label":"Search",className:we("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:g,onMouseOver:g,onFocus:b,onBlur:b,ref:o,disabled:!a}),(0,u.jsx)(xe,{})]},"search-box")},Ee={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ae(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.A)(n,Ee.navbarSearchContainer),children:t})}var Te=n(48295),Le=n(84142);var ze=n(55597);const je=e=>e.docs.find((t=>t.id===e.mainDocId));const Re={default:ce,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:l,localeConfigs:d}}=(0,ue.A)(),p=(0,ge.o)(),{search:f,hash:m}=(0,c.zy)(),h=[...n,...l.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(he,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(be,{className:ye}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Ae,{className:n,children:(0,u.jsx)(_e,{})})},dropdown:he,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Te.zK)(r),i=(0,Le.QB)(t,r),c=a?.path===i?.path;return null===i||i.unlisted&&!c?null:(0,u.jsx)(ce,{exact:!0,...o,isActive:()=>c||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Te.zK)(r),i=(0,Le.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ce,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Le.Vd)(r)[0],i=t??a.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ce,{...o,label:i,to:c})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:l,hash:d}=(0,c.zy)(),p=(0,Te.zK)(n),f=(0,Te.jh)(n),{savePreferredVersionName:m}=(0,ze.g1)(n),h=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??je(e);return{label:e.label,to:`${t.path}${l}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...a],g=(0,Le.Vd)(n)[0],b=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,y=t&&h.length>1?void 0:je(g).path;return h.length<=1?(0,u.jsx)(ce,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(he,{...i,mobile:t,label:b,to:y,items:h,isActive:r?()=>!1:void 0})}};function Ne(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Re[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function Pe(){const e=(0,L.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ne,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Oe(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function De(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Oe,{onClick:()=>t.hide()}),t.content]})}function Me(){const e=(0,L.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(M,{header:(0,u.jsx)(Z,{}),primaryMenu:(0,u.jsx)(Pe,{}),secondaryMenu:(0,u.jsx)(De,{})}):null}const Ie={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Fe(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Be(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,L.M)(),{navbarRef:c,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,z.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=c?n(!1):i+l{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:c,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Ie.navbarHideable,!d&&Ie.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Fe,{onClick:i.toggle}),(0,u.jsx)(Me,{})]})}var qe=n(70440);const $e={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ue(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Qe(e){let{error:t}=e;const n=(0,qe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:$e.errorBoundaryError,children:n})}class He extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Ge="right";function We(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ve(){const{toggle:e,shown:t}=(0,L.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(We,{})})}const Ke={colorModeToggle:"colorModeToggle_DEke"};function Ye(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(He,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ne,{...e})},t)))})}function Je(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ze(){const e=(0,L.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Ge)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(Je,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Ve,{}),(0,u.jsx)(Y,{}),(0,u.jsx)(Ye,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ye,{items:r}),(0,u.jsx)(V,{className:Ke.colorModeToggle}),!o&&(0,u.jsx)(Ae,{children:(0,u.jsx)(_e,{})})]})})}function Xe(){return(0,u.jsx)(Be,{children:(0,u.jsx)(Ze,{})})}function et(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,c=(0,ee.Ay)(n),s=(0,ee.Ay)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(X.A,{className:"footer__link-item",...r?{href:a?s:r}:{to:c},...i,children:[o,r&&!(0,te.A)(r)&&(0,u.jsx)(re.A,{})]})}function tt(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(et,{item:t})},t.href??t.to)}function nt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(tt,{item:e},t)))})]})}function rt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(nt,{column:e},t)))})}function ot(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function at(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(et,{item:t})}function it(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(at,{item:e}),t.length!==n+1&&(0,u.jsx)(ot,{})]},n)))})})}function ct(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(rt,{columns:t}):(0,u.jsx)(it,{links:t})}var st=n(21122);const lt={footerLogoLink:"footerLogoLink_BH7S"};function ut(e){let{logo:t}=e;const{withBaseUrl:n}=(0,ee.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(st.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function dt(e){let{logo:t}=e;return t.href?(0,u.jsx)(X.A,{href:t.href,className:lt.footerLogoLink,target:t.target,children:(0,u.jsx)(ut,{logo:t})}):(0,u.jsx)(ut,{logo:t})}function pt(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ft(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function mt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(ft,{style:o,links:n&&n.length>0&&(0,u.jsx)(ct,{links:n}),logo:r&&(0,u.jsx)(dt,{logo:r}),copyright:t&&(0,u.jsx)(pt,{copyright:t})})}const ht=r.memo(mt),gt=(0,j.fM)([I.a,k.o,z.Tv,ze.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(R.y_,{children:(0,u.jsx)(L.e,{children:(0,u.jsx)(P,{children:t})})})}]);function bt(e){let{children:t}=e;return(0,u.jsx)(gt,{children:t})}var yt=n(51107);function vt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(yt.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Ue,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Qe,{error:t})})]})})})}const wt={mainWrapper:"mainWrapper_z2l0"};function kt(e){const{children:t,noFooter:n,wrapperClassName:r,title:c,description:s}=e;return(0,b.J)(),(0,u.jsxs)(bt,{children:[(0,u.jsx)(i.be,{title:c,description:s}),(0,u.jsx)(v,{}),(0,u.jsx)(T,{}),(0,u.jsx)(Xe,{}),(0,u.jsx)("div",{id:d,className:(0,o.A)(g.G.wrapper.main,wt.mainWrapper,r),children:(0,u.jsx)(a.A,{fallback:e=>(0,u.jsx)(vt,{...e}),children:t})}),!n&&(0,u.jsx)(ht,{})]})}},23465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(28774),o=n(86025),a=n(44586),i=n(6342),c=n(21122),s=n(74848);function l(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(c.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:c}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.Ay)(c?.href||"/"),m=n?"":t,h=c?.alt??m;return(0,s.jsxs)(r.A,{to:f,...p,...c?.target&&{target:c.target},children:[c&&(0,s.jsx)(l,{logo:c,alt:h,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},41463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(5260),o=n(74848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},21122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(96540),o=n(34164),a=n(92303),i=n(95293);const c={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(74848);function l(e){let{className:t,children:n}=e;const l=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(l?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,c.themedComponent,c[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(l,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},41422:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>l});var r=n(96540),o=n(38193),a=n(205),i=n(53109),c=n(74848);const s="ease-in-out";function l(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function c(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(c(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{c()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,c.jsx)(t,{ref:u,style:l?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,l]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&l(t)}),[o,t]),o?(0,c.jsx)(h,{...n,collapsed:s}):null}function b(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,c.jsx)(r,{...n})}},65041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(96540),o=n(92303),a=n(70679),i=n(89532),c=n(6342),s=n(74848);const l=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===l.get(),p=e=>l.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,c.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},95293:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>g});var r=n(96540),o=n(38193),a=n(89532),i=n(70679),c=n(6342),s=n(74848);const l=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,c.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(l);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},55597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>b,g1:()=>v});var r=n(96540),o=n(48295),a=n(17065),i=n(6342),c=n(84142),s=n(89532),l=n(70679),u=n(74848);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,l.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function h(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,c]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{c(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),c((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,u.jsx)(m.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return c.C5?(0,u.jsx)(g,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,r.useContext)(m);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=y(),{preferredVersionName:c}=n[e];return{preferredVersion:t.versions.find((e=>e.name===c))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},26588:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>l});var r=n(96540),o=n(89532),a=n(74848);const i=Symbol("EmptyContext"),c=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(c.Provider,{value:i,children:t})}function l(){const e=(0,r.useContext)(c);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},32252:(e,t,n)=>{"use strict";n.d(t,{n:()=>c,r:()=>s});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function c(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},22069:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(96540),o=n(75600),a=n(24581),i=n(57485),c=n(6342),s=n(89532),l=n(74848);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,c.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[s,l]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(s)return l(!1),!1}));const u=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function p(e){let{children:t}=e;const n=d();return(0,l.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},75600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>l,YL:()=>s,y_:()=>c});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function c(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,c]=a,s=(0,o.Be)(n);return(0,r.useEffect)((()=>{c({component:t,props:s})}),[c,t,s]),(0,r.useEffect)((()=>()=>c({component:null,props:null})),[c]),null}},14090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(96540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},24581:(e,t,n)=>{"use strict";n.d(t,{l:()=>c});var r=n(96540),o=n(38193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function c(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,c]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){c(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},17559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},53109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},84142:(e,t,n)=>{"use strict";n.d(t,{B5:()=>x,C5:()=>p,Nr:()=>f,OF:()=>w,QB:()=>C,Vd:()=>k,Y:()=>y,fW:()=>S,w8:()=>g});var r=n(96540),o=n(56347),a=n(22831),i=n(48295),c=n(55597),s=n(32252),l=n(26588),u=n(31682),d=n(99169);const p=!!i.Gy;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const m=(e,t)=>void 0!==e&&(0,d.ys)(e,t),h=(e,t)=>e.some((e=>g(e,t)));function g(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||h(e.items,t))}function b(e,t){switch(e.type){case"category":return g(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||g(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function w(){const e=(0,l.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,u.s)([t,n,o].filter(Boolean))),[t,n,o])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function C(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,u.s)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function x(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,s.r)(),i=t.routes,c=i.find((e=>(0,o.B6)(n.pathname,e)));if(!c)return null;const l=c.sidebar,u=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.v)(i),sidebarName:l,sidebarItems:u}}},57485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,aZ:()=>s});var r=n(96540),o=n(56347),a=n(89532);function i(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function c(e){const t=(0,o.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function s(e){return c((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},31682:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}n.d(t,{X:()=>r,s:()=>o})},1003:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>m});var r=n(96540),o=n(34164),a=n(5260),i=n(53102);function c(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(86025),l=n(44586);var u=n(74848);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const c=function(e){const{siteConfig:t}=(0,l.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.hH)(),p=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.A,{children:[t&&(0,u.jsx)("title",{children:c}),t&&(0,u.jsx)("meta",{property:"og:title",content:c}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),c=(0,o.A)(i,t);return(0,u.jsxs)(p.Provider,{value:c,children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("html",{className:c})}),n]})}function m(e){let{children:t}=e;const n=c(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,o.A)(r,a),children:t})}},89532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>l,ZC:()=>c,_q:()=>i,dV:()=>s,fM:()=>u});var r=n(96540),o=n(205),a=n(74848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function c(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},99169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>c,ys:()=>i});var r=n(96540),o=n(35947),a=n(44586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function c(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},23104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>u,a_:()=>m,gk:()=>h});var r=n(96540),o=n(38193),a=n(92303),i=n(205),c=n(89532),s=n(74848);const l=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(l);if(null==e)throw new c.dV("ScrollControllerProvider");return e}const p=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),o=(0,r.useRef)(p()),a=(0,c._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=p();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function m(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),o=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function h(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,tU:()=>o});n(44586);const r="default";function o(e,t){return`docs-${e}-${t}`}},70679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u,Dv:()=>d});var r=n(96540);const o=JSON.parse('{"N":"localStorage","M":""}'),a=o.N;function i(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function c(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${o.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const r=c(t?.persistence);return null===r?l:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?l:u(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},32131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(44586),o=n(56347),a=n(70440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:c}}=(0,r.A)(),{pathname:s}=(0,o.zy)(),l=(0,a.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),u=c===i?e:e.replace(`/${c}/`,"/"),d=l.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},75062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(96540),o=n(56347),a=n(89532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(44586);function o(){return(0,r.A)().siteConfig.themeConfig}},12983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(42566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),c="/"===i||i===r?i:(s=i,n?o(s):a(s));var s;return e.replace(i,c)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a},80253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},70440:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(12983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return o.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return o.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return o.removeTrailingSlash}});var a=n(42566);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return a.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return a.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return a.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return a.removePrefix}});var i=n(80253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},42566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},31513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>E,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(58168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!l)for(;d--;d)i.unshift("..");!l||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var c=n(11561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(c){throw c instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):c}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,h(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},c={};function s(e){return r.isMemo(e)?i:c[e.$$typeof]||o}c[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},c[r.Memo]=i;var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var c=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,c){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,i,c],u=0;(s=new Error(t.replace(/%s/g,(function(){return l[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},64634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},689:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(c){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),c=i.length,s=0;i=Array.prototype.slice.call(i);var l=function(){--c<=0&&a(s)};c||l(),i.forEach((function(t){e.matches(t,o.exclude)?l():o.onIframeReady(t,(function(e){n(t)&&(s++,r(e)),l()}),l)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),c=[],s=[],l=void 0,u=void 0,d=function(){var e=a.getIteratorNode(i);return u=e.prevNode,l=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(l,u,e,c)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return s.push(e)}),r)})),s.push(l);s.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(c,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var c=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,c):c()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),c="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==c&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(c)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(c)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,c=parseInt(e.start,10)-i;return(r=(c=c>a?a:c)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),c<0||r-c<0||c>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(c,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:c,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,c){var s=e.nodes[c+1];if(void 0===s||s.start>t){if(!r(i.node))return!1;var l=t-i.start,u=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),p=e.value.substr(u+i.start);if(i.node=a.wrapRangeInTextNode(i.node,l,u),e.value=d+p,e.nodes.forEach((function(t,n){n>=c&&(e.nodes[n].start>0&&n!==c&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var c=o.index;if(0!==i)for(var s=1;s{"use strict";n.r(t)},51043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),l=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,c((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(l,i(e,u,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),c=e?"-100":a(n.status||0),l=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var c=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function l(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;l(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);l(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},35302:(e,t,n)=>{var r=n(64634);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return c(a(e,t),t)},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,c="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(c+=e.slice(i,f),i=f+d.length,p)c+=p[1];else{var m=e[i],h=n[2],g=n[3],b=n[4],y=n[5],v=n[6],w=n[7];c&&(r.push(c),c="");var k=null!=h&&null!=m&&m!==h,S="+"===v||"*"===v,C="?"===v||"*"===v,x=n[2]||u,_=b||y;r.push({name:g||a++,prefix:h||"",delimiter:x,optional:C,repeat:S,partial:k,asterisk:!!w,pattern:_?l(_):w?".*":"[^"+s(x)+"]+?"})}}return i{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(98380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(63157).resolve(t)],delete Prism.languages[e],n(63157)(t),a.add(e)}))}i.silent=!1,e.exports=i},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,c=i.length;-1!==n.code.indexOf(o=t(r,c));)++c;return i[c]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(c){for(var s=0;s=a.length);s++){var l=c[s];if("string"==typeof l||l.content&&"string"==typeof l.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof l?l:l.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++o;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),y=[];h&&y.push.apply(y,i([h])),y.push(g),b&&y.push.apply(y,i([b])),"string"==typeof l?c.splice.apply(c,[s,1].concat(y)):l.content=y}}else l.content&&i(l.content)}return c}(n.tokens)}}}})}(Prism)},18692:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=18692},63157:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=63157},98380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var c={},s=e[r];if(s){function l(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in c))for(var i in o(t,a),c[t]=!0,n[t])c[i]=!0}t(s.require,l),t(s.optional,l),t(s.modify,l)}n[r]=c,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,c){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),l=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(l),c=(c||[]).map(l);var u=n(i),d=n(c);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(s),m=u;o(m);){for(var h in p={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var y in f(b))if(y in u){p[b]=!0;break}for(var v in m=p)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,c={},s={};function l(e){if(e in c)return c[e];s[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=r(e);else{var p=i(u.map((function(e){var t=l(e);return delete s[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return c[e]=o}for(var u in n)l(u);var d=[];for(var p in s)d.push(c[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551:(e,t,n)=>{"use strict";var r=n(96540),o=n(69982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n