pulsar-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mme...@apache.org
Subject [incubator-pulsar] branch asf-site updated: Updated site at revision 773045d
Date Thu, 02 Aug 2018 21:19:40 GMT
This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 091a7eb  Updated site at revision 773045d
091a7eb is described below

commit 091a7ebeab8a338f7c9a66b4665a84c94fc957af
Author: jenkins <builds@apache.org>
AuthorDate: Thu Aug 2 21:19:32 2018 +0000

    Updated site at revision 773045d
---
 .../docs/latest/adaptors/PulsarSpark/index.html    |   8 +-
 .../docs/latest/adaptors/PulsarStorm/index.html    |   6 +-
 content/docs/latest/admin-api/overview/index.html  |  10 +-
 content/docs/latest/clients/Cpp/index.html         |   8 +-
 content/docs/latest/clients/Java/index.html        |  14 +-
 content/docs/latest/clients/Python/index.html      |  10 +-
 content/docs/latest/clients/WebSocket/index.html   |   8 +-
 content/docs/latest/clients/go/index.html          |   6 +-
 .../docs/latest/cookbooks/Encryption/index.html    |   6 +-
 .../latest/cookbooks/PartitionedTopics/index.html  |  14 +-
 .../latest/cookbooks/RetentionExpiry/index.html    |  14 +-
 .../docs/latest/cookbooks/compaction/index.html    |   6 +-
 .../cookbooks/message-deduplication/index.html     |  10 +-
 .../docs/latest/cookbooks/message-queue/index.html |  14 +-
 .../latest/cookbooks/tiered-storage/index.html     |   4 +-
 .../docs/latest/deployment/Kubernetes/index.html   |   4 +-
 .../docs/latest/deployment/aws-cluster/index.html  |   4 +-
 content/docs/latest/deployment/cluster/index.html  |   4 +-
 content/docs/latest/deployment/instance/index.html |   4 +-
 .../ConceptsAndArchitecture/index.html             |   4 +-
 .../latest/getting-started/LocalCluster/index.html |   4 +-
 .../latest/getting-started/Pulsar-2.0/index.html   |   2 +-
 .../docs/latest/getting-started/docker/index.html  |   4 +-
 .../docs/latest/project/BinaryProtocol/index.html  |   4 +-
 content/docs/latest/project/CompileCpp/index.html  |   8 +-
 .../docs/latest/project/SimulationTools/index.html |   2 +-
 .../docs/latest/project/schema-storage/index.html  |   4 +-
 content/docs/latest/reference/CliTools/index.html  |  18 +--
 .../docs/latest/security/authorization/index.html  |  10 +-
 content/docs/latest/security/encryption/index.html |   6 +-
 content/ja/adaptors/PulsarSpark/index.html         |   8 +-
 content/ja/adaptors/PulsarStorm/index.html         |   6 +-
 content/ja/admin/AdminInterface/index.html         |  12 +-
 content/ja/admin/Authz/index.html                  |  12 +-
 content/ja/admin/ClustersBrokers/index.html        |   6 +-
 content/ja/admin/PropertiesNamespaces/index.html   |   6 +-
 content/ja/advanced/PartitionedTopics/index.html   |  12 +-
 content/ja/advanced/RetentionExpiry/index.html     |  12 +-
 content/ja/clients/Cpp/index.html                  |   6 +-
 content/ja/clients/Java/index.html                 |   8 +-
 content/ja/clients/Python/index.html               |   8 +-
 content/ja/clients/WebSocket/index.html            |   8 +-
 content/ja/deployment/InstanceSetup/index.html     |   6 +-
 content/ja/deployment/Kubernetes/index.html        |   4 +-
 .../ConceptsAndArchitecture/index.html             |   2 +-
 content/ja/getting-started/LocalCluster/index.html |   4 +-
 content/ja/project/BinaryProtocol/index.html       |   4 +-
 content/ja/project/SimulationTools/index.html      |   2 +-
 content/ja/reference/CliTools/index.html           |  18 +--
 content/staging/docs/en/adaptors-kafka.html        |   2 +-
 content/staging/docs/en/adaptors-kafka/index.html  |   2 +-
 content/staging/docs/en/adaptors-spark.html        |   2 +-
 content/staging/docs/en/adaptors-spark/index.html  |   2 +-
 content/staging/docs/en/adaptors-storm.html        |   2 +-
 content/staging/docs/en/adaptors-storm/index.html  |   2 +-
 content/staging/docs/en/admin-api-brokers.html     |   2 +-
 .../staging/docs/en/admin-api-brokers/index.html   |   2 +-
 content/staging/docs/en/admin-api-clusters.html    |   2 +-
 .../staging/docs/en/admin-api-clusters/index.html  |   2 +-
 content/staging/docs/en/admin-api-namespaces.html  |   2 +-
 .../docs/en/admin-api-namespaces/index.html        |   2 +-
 .../docs/en/admin-api-non-persistent-topics.html   |   2 +-
 .../en/admin-api-non-persistent-topics/index.html  |   2 +-
 content/staging/docs/en/admin-api-overview.html    |   2 +-
 .../staging/docs/en/admin-api-overview/index.html  |   2 +-
 .../docs/en/admin-api-partitioned-topics.html      |   2 +-
 .../en/admin-api-partitioned-topics/index.html     |   2 +-
 content/staging/docs/en/admin-api-permissions.html |   2 +-
 .../docs/en/admin-api-permissions/index.html       |   2 +-
 .../docs/en/admin-api-persistent-topics.html       |   2 +-
 .../docs/en/admin-api-persistent-topics/index.html |   2 +-
 content/staging/docs/en/admin-api-tenants.html     |   2 +-
 .../staging/docs/en/admin-api-tenants/index.html   |   2 +-
 .../staging/docs/en/administration-dashboard.html  |   2 +-
 .../docs/en/administration-dashboard/index.html    |   2 +-
 content/staging/docs/en/administration-geo.html    |   2 +-
 .../staging/docs/en/administration-geo/index.html  |   2 +-
 .../docs/en/administration-load-distribution.html  |   2 +-
 .../en/administration-load-distribution/index.html |   2 +-
 content/staging/docs/en/administration-proxy.html  |   2 +-
 .../docs/en/administration-proxy/index.html        |   2 +-
 content/staging/docs/en/administration-stats.html  |   2 +-
 .../docs/en/administration-stats/index.html        |   2 +-
 content/staging/docs/en/administration-zk-bk.html  |   2 +-
 .../docs/en/administration-zk-bk/index.html        |   2 +-
 content/staging/docs/en/client-libraries-cpp.html  |   2 +-
 .../docs/en/client-libraries-cpp/index.html        |   2 +-
 content/staging/docs/en/client-libraries-go.html   |   2 +-
 .../staging/docs/en/client-libraries-go/index.html |   2 +-
 content/staging/docs/en/client-libraries-java.html |   2 +-
 .../docs/en/client-libraries-java/index.html       |   2 +-
 .../staging/docs/en/client-libraries-python.html   |   2 +-
 .../docs/en/client-libraries-python/index.html     |   2 +-
 .../docs/en/client-libraries-websocket.html        |   2 +-
 .../docs/en/client-libraries-websocket/index.html  |   2 +-
 content/staging/docs/en/client-libraries.html      |   2 +-
 .../staging/docs/en/client-libraries/index.html    |   2 +-
 .../docs/en/concepts-architecture-overview.html    |   2 +-
 .../en/concepts-architecture-overview/index.html   |   2 +-
 .../staging/docs/en/concepts-authentication.html   |   2 +-
 .../docs/en/concepts-authentication/index.html     |   2 +-
 content/staging/docs/en/concepts-clients.html      |   2 +-
 .../staging/docs/en/concepts-clients/index.html    |   2 +-
 content/staging/docs/en/concepts-messaging.html    |   2 +-
 .../staging/docs/en/concepts-messaging/index.html  |   2 +-
 .../staging/docs/en/concepts-multi-tenancy.html    |   2 +-
 .../docs/en/concepts-multi-tenancy/index.html      |   2 +-
 content/staging/docs/en/concepts-overview.html     |   2 +-
 .../staging/docs/en/concepts-overview/index.html   |   2 +-
 content/staging/docs/en/concepts-replication.html  |   2 +-
 .../docs/en/concepts-replication/index.html        |   2 +-
 .../staging/docs/en/concepts-schema-registry.html  |   2 +-
 .../docs/en/concepts-schema-registry/index.html    |   2 +-
 .../staging/docs/en/concepts-tiered-storage.html   |   2 +-
 .../docs/en/concepts-tiered-storage/index.html     |   2 +-
 .../staging/docs/en/concepts-topic-compaction.html |   2 +-
 .../docs/en/concepts-topic-compaction/index.html   |   2 +-
 content/staging/docs/en/cookbooks-compaction.html  |   2 +-
 .../docs/en/cookbooks-compaction/index.html        |   2 +-
 .../staging/docs/en/cookbooks-deduplication.html   |   2 +-
 .../docs/en/cookbooks-deduplication/index.html     |   2 +-
 content/staging/docs/en/cookbooks-encryption.html  |   2 +-
 .../docs/en/cookbooks-encryption/index.html        |   2 +-
 .../staging/docs/en/cookbooks-message-queue.html   |   2 +-
 .../docs/en/cookbooks-message-queue/index.html     |   2 +-
 .../staging/docs/en/cookbooks-non-persistent.html  |   2 +-
 .../docs/en/cookbooks-non-persistent/index.html    |   2 +-
 content/staging/docs/en/cookbooks-partitioned.html |   2 +-
 .../docs/en/cookbooks-partitioned/index.html       |   2 +-
 .../docs/en/cookbooks-retention-expiry.html        |   2 +-
 .../docs/en/cookbooks-retention-expiry/index.html  |   2 +-
 .../staging/docs/en/cookbooks-tiered-storage.html  |   2 +-
 .../docs/en/cookbooks-tiered-storage/index.html    |   2 +-
 content/staging/docs/en/deploy-aws.html            |   2 +-
 content/staging/docs/en/deploy-aws/index.html      |   2 +-
 .../docs/en/deploy-bare-metal-multi-cluster.html   |   2 +-
 .../en/deploy-bare-metal-multi-cluster/index.html  |   2 +-
 content/staging/docs/en/deploy-bare-metal.html     |   2 +-
 .../staging/docs/en/deploy-bare-metal/index.html   |   2 +-
 content/staging/docs/en/deploy-dcos.html           |   2 +-
 content/staging/docs/en/deploy-dcos/index.html     |   2 +-
 content/staging/docs/en/deploy-kubernetes.html     |   2 +-
 .../staging/docs/en/deploy-kubernetes/index.html   |   2 +-
 content/staging/docs/en/deploy-monitoring.html     |   2 +-
 .../staging/docs/en/deploy-monitoring/index.html   |   2 +-
 .../staging/docs/en/develop-binary-protocol.html   |   2 +-
 .../docs/en/develop-binary-protocol/index.html     |   2 +-
 content/staging/docs/en/develop-cpp.html           |   2 +-
 content/staging/docs/en/develop-cpp/index.html     |   2 +-
 content/staging/docs/en/develop-load-manager.html  |   2 +-
 .../docs/en/develop-load-manager/index.html        |   2 +-
 content/staging/docs/en/develop-schema.html        |   2 +-
 content/staging/docs/en/develop-schema/index.html  |   2 +-
 content/staging/docs/en/develop-tools.html         |   2 +-
 content/staging/docs/en/develop-tools/index.html   |   2 +-
 content/staging/docs/en/functions-api.html         |  85 ++++++-----
 content/staging/docs/en/functions-api/index.html   |  85 ++++++-----
 content/staging/docs/en/functions-deploying.html   |  36 ++---
 .../staging/docs/en/functions-deploying/index.html |  36 ++---
 content/staging/docs/en/functions-guarantees.html  |  10 +-
 .../docs/en/functions-guarantees/index.html        |  10 +-
 content/staging/docs/en/functions-metrics.html     |  10 +-
 .../staging/docs/en/functions-metrics/index.html   |  10 +-
 content/staging/docs/en/functions-overview.html    |  54 +++----
 .../staging/docs/en/functions-overview/index.html  |  54 +++----
 content/staging/docs/en/functions-quickstart.html  |  24 +--
 .../docs/en/functions-quickstart/index.html        |  24 +--
 content/staging/docs/en/functions-state.html       | 167 +++++++++++++++++++++
 content/staging/docs/en/functions-state/index.html | 167 +++++++++++++++++++++
 content/staging/docs/en/io-connectors.html         |   2 +-
 content/staging/docs/en/io-connectors/index.html   |   2 +-
 content/staging/docs/en/io-develop.html            |   2 +-
 content/staging/docs/en/io-develop/index.html      |   2 +-
 content/staging/docs/en/io-managing.html           |   2 +-
 content/staging/docs/en/io-managing/index.html     |   2 +-
 content/staging/docs/en/io-overview.html           |   2 +-
 content/staging/docs/en/io-overview/index.html     |   2 +-
 content/staging/docs/en/io-quickstart.html         |   2 +-
 content/staging/docs/en/io-quickstart/index.html   |   2 +-
 content/staging/docs/en/pulsar-2.0.html            |   2 +-
 content/staging/docs/en/pulsar-2.0/index.html      |   2 +-
 content/staging/docs/en/pulsar-admin.html          |   2 +-
 content/staging/docs/en/pulsar-admin/index.html    |   2 +-
 content/staging/docs/en/reference-cli-tools.html   |   2 +-
 .../staging/docs/en/reference-cli-tools/index.html |   2 +-
 .../staging/docs/en/reference-configuration.html   |   2 +-
 .../docs/en/reference-configuration/index.html     |   2 +-
 content/staging/docs/en/reference-terminology.html |   2 +-
 .../docs/en/reference-terminology/index.html       |   2 +-
 content/staging/docs/en/security-athenz.html       |   2 +-
 content/staging/docs/en/security-athenz/index.html |   2 +-
 .../staging/docs/en/security-authorization.html    |   2 +-
 .../docs/en/security-authorization/index.html      |   2 +-
 content/staging/docs/en/security-encryption.html   |   2 +-
 .../staging/docs/en/security-encryption/index.html |   2 +-
 content/staging/docs/en/security-extending.html    |   2 +-
 .../staging/docs/en/security-extending/index.html  |   2 +-
 content/staging/docs/en/security-overview.html     |   2 +-
 .../staging/docs/en/security-overview/index.html   |   2 +-
 .../docs/en/security-tls-authentication.html       |   2 +-
 .../docs/en/security-tls-authentication/index.html |   2 +-
 .../staging/docs/en/security-tls-transport.html    |   2 +-
 .../docs/en/security-tls-transport/index.html      |   2 +-
 content/staging/docs/en/standalone-docker.html     |   2 +-
 .../staging/docs/en/standalone-docker/index.html   |   2 +-
 content/staging/docs/en/standalone.html            |   2 +-
 content/staging/docs/en/standalone/index.html      |   2 +-
 content/staging/docs/functions-state.html          |   5 +
 content/staging/docs/functions-state/index.html    |   5 +
 content/staging/docs/ja/adaptors-kafka.html        |   2 +-
 content/staging/docs/ja/adaptors-kafka/index.html  |   2 +-
 content/staging/docs/ja/adaptors-spark.html        |   2 +-
 content/staging/docs/ja/adaptors-spark/index.html  |   2 +-
 content/staging/docs/ja/adaptors-storm.html        |   2 +-
 content/staging/docs/ja/adaptors-storm/index.html  |   2 +-
 content/staging/docs/ja/admin-api-brokers.html     |   2 +-
 .../staging/docs/ja/admin-api-brokers/index.html   |   2 +-
 content/staging/docs/ja/admin-api-clusters.html    |   2 +-
 .../staging/docs/ja/admin-api-clusters/index.html  |   2 +-
 content/staging/docs/ja/admin-api-namespaces.html  |   2 +-
 .../docs/ja/admin-api-namespaces/index.html        |   2 +-
 .../docs/ja/admin-api-non-persistent-topics.html   |   2 +-
 .../ja/admin-api-non-persistent-topics/index.html  |   2 +-
 content/staging/docs/ja/admin-api-overview.html    |   2 +-
 .../staging/docs/ja/admin-api-overview/index.html  |   2 +-
 .../docs/ja/admin-api-partitioned-topics.html      |   2 +-
 .../ja/admin-api-partitioned-topics/index.html     |   2 +-
 content/staging/docs/ja/admin-api-permissions.html |   2 +-
 .../docs/ja/admin-api-permissions/index.html       |   2 +-
 .../docs/ja/admin-api-persistent-topics.html       |   2 +-
 .../docs/ja/admin-api-persistent-topics/index.html |   2 +-
 content/staging/docs/ja/admin-api-tenants.html     |   2 +-
 .../staging/docs/ja/admin-api-tenants/index.html   |   2 +-
 .../staging/docs/ja/administration-dashboard.html  |   2 +-
 .../docs/ja/administration-dashboard/index.html    |   2 +-
 content/staging/docs/ja/administration-geo.html    |   2 +-
 .../staging/docs/ja/administration-geo/index.html  |   2 +-
 .../docs/ja/administration-load-distribution.html  |   2 +-
 .../ja/administration-load-distribution/index.html |   2 +-
 content/staging/docs/ja/administration-proxy.html  |   2 +-
 .../docs/ja/administration-proxy/index.html        |   2 +-
 content/staging/docs/ja/administration-stats.html  |   2 +-
 .../docs/ja/administration-stats/index.html        |   2 +-
 content/staging/docs/ja/administration-zk-bk.html  |   2 +-
 .../docs/ja/administration-zk-bk/index.html        |   2 +-
 content/staging/docs/ja/client-libraries-cpp.html  |   2 +-
 .../docs/ja/client-libraries-cpp/index.html        |   2 +-
 content/staging/docs/ja/client-libraries-go.html   |   2 +-
 .../staging/docs/ja/client-libraries-go/index.html |   2 +-
 content/staging/docs/ja/client-libraries-java.html |   2 +-
 .../docs/ja/client-libraries-java/index.html       |   2 +-
 .../staging/docs/ja/client-libraries-python.html   |   2 +-
 .../docs/ja/client-libraries-python/index.html     |   2 +-
 .../docs/ja/client-libraries-websocket.html        |   2 +-
 .../docs/ja/client-libraries-websocket/index.html  |   2 +-
 content/staging/docs/ja/client-libraries.html      |   2 +-
 .../staging/docs/ja/client-libraries/index.html    |   2 +-
 .../docs/ja/concepts-architecture-overview.html    |   2 +-
 .../ja/concepts-architecture-overview/index.html   |   2 +-
 .../staging/docs/ja/concepts-authentication.html   |   2 +-
 .../docs/ja/concepts-authentication/index.html     |   2 +-
 content/staging/docs/ja/concepts-clients.html      |   2 +-
 .../staging/docs/ja/concepts-clients/index.html    |   2 +-
 content/staging/docs/ja/concepts-messaging.html    |   2 +-
 .../staging/docs/ja/concepts-messaging/index.html  |   2 +-
 .../staging/docs/ja/concepts-multi-tenancy.html    |   2 +-
 .../docs/ja/concepts-multi-tenancy/index.html      |   2 +-
 content/staging/docs/ja/concepts-overview.html     |   2 +-
 .../staging/docs/ja/concepts-overview/index.html   |   2 +-
 content/staging/docs/ja/concepts-replication.html  |   2 +-
 .../docs/ja/concepts-replication/index.html        |   2 +-
 .../staging/docs/ja/concepts-schema-registry.html  |   2 +-
 .../docs/ja/concepts-schema-registry/index.html    |   2 +-
 .../staging/docs/ja/concepts-tiered-storage.html   |   2 +-
 .../docs/ja/concepts-tiered-storage/index.html     |   2 +-
 .../staging/docs/ja/concepts-topic-compaction.html |   2 +-
 .../docs/ja/concepts-topic-compaction/index.html   |   2 +-
 content/staging/docs/ja/cookbooks-compaction.html  |   2 +-
 .../docs/ja/cookbooks-compaction/index.html        |   2 +-
 .../staging/docs/ja/cookbooks-deduplication.html   |   2 +-
 .../docs/ja/cookbooks-deduplication/index.html     |   2 +-
 content/staging/docs/ja/cookbooks-encryption.html  |   2 +-
 .../docs/ja/cookbooks-encryption/index.html        |   2 +-
 .../staging/docs/ja/cookbooks-message-queue.html   |   2 +-
 .../docs/ja/cookbooks-message-queue/index.html     |   2 +-
 .../staging/docs/ja/cookbooks-non-persistent.html  |   2 +-
 .../docs/ja/cookbooks-non-persistent/index.html    |   2 +-
 content/staging/docs/ja/cookbooks-partitioned.html |   2 +-
 .../docs/ja/cookbooks-partitioned/index.html       |   2 +-
 .../docs/ja/cookbooks-retention-expiry.html        |   2 +-
 .../docs/ja/cookbooks-retention-expiry/index.html  |   2 +-
 .../staging/docs/ja/cookbooks-tiered-storage.html  |   2 +-
 .../docs/ja/cookbooks-tiered-storage/index.html    |   2 +-
 content/staging/docs/ja/deploy-aws.html            |   2 +-
 content/staging/docs/ja/deploy-aws/index.html      |   2 +-
 .../docs/ja/deploy-bare-metal-multi-cluster.html   |   2 +-
 .../ja/deploy-bare-metal-multi-cluster/index.html  |   2 +-
 content/staging/docs/ja/deploy-bare-metal.html     |   2 +-
 .../staging/docs/ja/deploy-bare-metal/index.html   |   2 +-
 content/staging/docs/ja/deploy-dcos.html           |   2 +-
 content/staging/docs/ja/deploy-dcos/index.html     |   2 +-
 content/staging/docs/ja/deploy-kubernetes.html     |   2 +-
 .../staging/docs/ja/deploy-kubernetes/index.html   |   2 +-
 content/staging/docs/ja/deploy-monitoring.html     |   2 +-
 .../staging/docs/ja/deploy-monitoring/index.html   |   2 +-
 .../staging/docs/ja/develop-binary-protocol.html   |   2 +-
 .../docs/ja/develop-binary-protocol/index.html     |   2 +-
 content/staging/docs/ja/develop-cpp.html           |   2 +-
 content/staging/docs/ja/develop-cpp/index.html     |   2 +-
 content/staging/docs/ja/develop-load-manager.html  |   2 +-
 .../docs/ja/develop-load-manager/index.html        |   2 +-
 content/staging/docs/ja/develop-schema.html        |   2 +-
 content/staging/docs/ja/develop-schema/index.html  |   2 +-
 content/staging/docs/ja/develop-tools.html         |   2 +-
 content/staging/docs/ja/develop-tools/index.html   |   2 +-
 content/staging/docs/ja/functions-api.html         |  85 ++++++-----
 content/staging/docs/ja/functions-api/index.html   |  85 ++++++-----
 content/staging/docs/ja/functions-deploying.html   |  36 ++---
 .../staging/docs/ja/functions-deploying/index.html |  36 ++---
 content/staging/docs/ja/functions-guarantees.html  |   8 +-
 .../docs/ja/functions-guarantees/index.html        |   8 +-
 content/staging/docs/ja/functions-metrics.html     |  10 +-
 .../staging/docs/ja/functions-metrics/index.html   |  10 +-
 content/staging/docs/ja/functions-overview.html    |  54 +++----
 .../staging/docs/ja/functions-overview/index.html  |  54 +++----
 content/staging/docs/ja/functions-quickstart.html  |  24 +--
 .../docs/ja/functions-quickstart/index.html        |  24 +--
 content/staging/docs/ja/functions-state.html       | 161 ++++++++++++++++++++
 content/staging/docs/ja/functions-state/index.html | 161 ++++++++++++++++++++
 content/staging/docs/ja/io-connectors.html         |   2 +-
 content/staging/docs/ja/io-connectors/index.html   |   2 +-
 content/staging/docs/ja/io-develop.html            |   2 +-
 content/staging/docs/ja/io-develop/index.html      |   2 +-
 content/staging/docs/ja/io-managing.html           |   2 +-
 content/staging/docs/ja/io-managing/index.html     |   2 +-
 content/staging/docs/ja/io-overview.html           |   2 +-
 content/staging/docs/ja/io-overview/index.html     |   2 +-
 content/staging/docs/ja/io-quickstart.html         |   2 +-
 content/staging/docs/ja/io-quickstart/index.html   |   2 +-
 content/staging/docs/ja/pulsar-2.0.html            |   2 +-
 content/staging/docs/ja/pulsar-2.0/index.html      |   2 +-
 content/staging/docs/ja/pulsar-admin.html          |   2 +-
 content/staging/docs/ja/pulsar-admin/index.html    |   2 +-
 content/staging/docs/ja/reference-cli-tools.html   |   2 +-
 .../staging/docs/ja/reference-cli-tools/index.html |   2 +-
 .../staging/docs/ja/reference-configuration.html   |   2 +-
 .../docs/ja/reference-configuration/index.html     |   2 +-
 content/staging/docs/ja/reference-terminology.html |   2 +-
 .../docs/ja/reference-terminology/index.html       |   2 +-
 content/staging/docs/ja/security-athenz.html       |   2 +-
 content/staging/docs/ja/security-athenz/index.html |   2 +-
 .../staging/docs/ja/security-authorization.html    |   2 +-
 .../docs/ja/security-authorization/index.html      |   2 +-
 content/staging/docs/ja/security-encryption.html   |   2 +-
 .../staging/docs/ja/security-encryption/index.html |   2 +-
 content/staging/docs/ja/security-extending.html    |   2 +-
 .../staging/docs/ja/security-extending/index.html  |   2 +-
 content/staging/docs/ja/security-overview.html     |   2 +-
 .../staging/docs/ja/security-overview/index.html   |   2 +-
 .../docs/ja/security-tls-authentication.html       |   2 +-
 .../docs/ja/security-tls-authentication/index.html |   2 +-
 .../staging/docs/ja/security-tls-transport.html    |   2 +-
 .../docs/ja/security-tls-transport/index.html      |   2 +-
 content/staging/docs/ja/standalone-docker.html     |   2 +-
 .../staging/docs/ja/standalone-docker/index.html   |   2 +-
 content/staging/docs/ja/standalone.html            |   2 +-
 content/staging/docs/ja/standalone/index.html      |   2 +-
 content/staging/docs/zh-CN/adaptors-kafka.html     |   2 +-
 .../staging/docs/zh-CN/adaptors-kafka/index.html   |   2 +-
 content/staging/docs/zh-CN/adaptors-spark.html     |   2 +-
 .../staging/docs/zh-CN/adaptors-spark/index.html   |   2 +-
 content/staging/docs/zh-CN/adaptors-storm.html     |   2 +-
 .../staging/docs/zh-CN/adaptors-storm/index.html   |   2 +-
 content/staging/docs/zh-CN/admin-api-brokers.html  |   2 +-
 .../docs/zh-CN/admin-api-brokers/index.html        |   2 +-
 content/staging/docs/zh-CN/admin-api-clusters.html |   2 +-
 .../docs/zh-CN/admin-api-clusters/index.html       |   2 +-
 .../staging/docs/zh-CN/admin-api-namespaces.html   |   2 +-
 .../docs/zh-CN/admin-api-namespaces/index.html     |   2 +-
 .../zh-CN/admin-api-non-persistent-topics.html     |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 content/staging/docs/zh-CN/admin-api-overview.html |   2 +-
 .../docs/zh-CN/admin-api-overview/index.html       |   2 +-
 .../docs/zh-CN/admin-api-partitioned-topics.html   |   2 +-
 .../zh-CN/admin-api-partitioned-topics/index.html  |   2 +-
 .../staging/docs/zh-CN/admin-api-permissions.html  |   2 +-
 .../docs/zh-CN/admin-api-permissions/index.html    |   2 +-
 .../docs/zh-CN/admin-api-persistent-topics.html    |   2 +-
 .../zh-CN/admin-api-persistent-topics/index.html   |   2 +-
 content/staging/docs/zh-CN/admin-api-tenants.html  |   2 +-
 .../docs/zh-CN/admin-api-tenants/index.html        |   2 +-
 .../docs/zh-CN/administration-dashboard.html       |   2 +-
 .../docs/zh-CN/administration-dashboard/index.html |   2 +-
 content/staging/docs/zh-CN/administration-geo.html |   2 +-
 .../docs/zh-CN/administration-geo/index.html       |   2 +-
 .../zh-CN/administration-load-distribution.html    |   2 +-
 .../administration-load-distribution/index.html    |   2 +-
 .../staging/docs/zh-CN/administration-proxy.html   |   2 +-
 .../docs/zh-CN/administration-proxy/index.html     |   2 +-
 .../staging/docs/zh-CN/administration-stats.html   |   2 +-
 .../docs/zh-CN/administration-stats/index.html     |   2 +-
 .../staging/docs/zh-CN/administration-zk-bk.html   |   2 +-
 .../docs/zh-CN/administration-zk-bk/index.html     |   2 +-
 .../staging/docs/zh-CN/client-libraries-cpp.html   |   2 +-
 .../docs/zh-CN/client-libraries-cpp/index.html     |   2 +-
 .../staging/docs/zh-CN/client-libraries-go.html    |   2 +-
 .../docs/zh-CN/client-libraries-go/index.html      |   2 +-
 .../staging/docs/zh-CN/client-libraries-java.html  |   2 +-
 .../docs/zh-CN/client-libraries-java/index.html    |   2 +-
 .../docs/zh-CN/client-libraries-python.html        |   2 +-
 .../docs/zh-CN/client-libraries-python/index.html  |   2 +-
 .../docs/zh-CN/client-libraries-websocket.html     |   2 +-
 .../zh-CN/client-libraries-websocket/index.html    |   2 +-
 content/staging/docs/zh-CN/client-libraries.html   |   2 +-
 .../staging/docs/zh-CN/client-libraries/index.html |   2 +-
 .../docs/zh-CN/concepts-architecture-overview.html |   2 +-
 .../concepts-architecture-overview/index.html      |   2 +-
 .../docs/zh-CN/concepts-authentication.html        |   2 +-
 .../docs/zh-CN/concepts-authentication/index.html  |   2 +-
 content/staging/docs/zh-CN/concepts-clients.html   |   2 +-
 .../staging/docs/zh-CN/concepts-clients/index.html |   2 +-
 content/staging/docs/zh-CN/concepts-messaging.html |   2 +-
 .../docs/zh-CN/concepts-messaging/index.html       |   2 +-
 .../staging/docs/zh-CN/concepts-multi-tenancy.html |   2 +-
 .../docs/zh-CN/concepts-multi-tenancy/index.html   |   2 +-
 content/staging/docs/zh-CN/concepts-overview.html  |   2 +-
 .../docs/zh-CN/concepts-overview/index.html        |   2 +-
 .../staging/docs/zh-CN/concepts-replication.html   |   2 +-
 .../docs/zh-CN/concepts-replication/index.html     |   2 +-
 .../docs/zh-CN/concepts-schema-registry.html       |   2 +-
 .../docs/zh-CN/concepts-schema-registry/index.html |   2 +-
 .../docs/zh-CN/concepts-tiered-storage.html        |   2 +-
 .../docs/zh-CN/concepts-tiered-storage/index.html  |   2 +-
 .../docs/zh-CN/concepts-topic-compaction.html      |   2 +-
 .../zh-CN/concepts-topic-compaction/index.html     |   2 +-
 .../staging/docs/zh-CN/cookbooks-compaction.html   |   2 +-
 .../docs/zh-CN/cookbooks-compaction/index.html     |   2 +-
 .../docs/zh-CN/cookbooks-deduplication.html        |   2 +-
 .../docs/zh-CN/cookbooks-deduplication/index.html  |   2 +-
 .../staging/docs/zh-CN/cookbooks-encryption.html   |   2 +-
 .../docs/zh-CN/cookbooks-encryption/index.html     |   2 +-
 .../docs/zh-CN/cookbooks-message-queue.html        |   2 +-
 .../docs/zh-CN/cookbooks-message-queue/index.html  |   2 +-
 .../docs/zh-CN/cookbooks-non-persistent.html       |   2 +-
 .../docs/zh-CN/cookbooks-non-persistent/index.html |   2 +-
 .../staging/docs/zh-CN/cookbooks-partitioned.html  |   2 +-
 .../docs/zh-CN/cookbooks-partitioned/index.html    |   2 +-
 .../docs/zh-CN/cookbooks-retention-expiry.html     |   2 +-
 .../zh-CN/cookbooks-retention-expiry/index.html    |   2 +-
 .../docs/zh-CN/cookbooks-tiered-storage.html       |   2 +-
 .../docs/zh-CN/cookbooks-tiered-storage/index.html |   2 +-
 content/staging/docs/zh-CN/deploy-aws.html         |   2 +-
 content/staging/docs/zh-CN/deploy-aws/index.html   |   2 +-
 .../zh-CN/deploy-bare-metal-multi-cluster.html     |   2 +-
 .../deploy-bare-metal-multi-cluster/index.html     |   2 +-
 content/staging/docs/zh-CN/deploy-bare-metal.html  |   2 +-
 .../docs/zh-CN/deploy-bare-metal/index.html        |   2 +-
 content/staging/docs/zh-CN/deploy-dcos.html        |   2 +-
 content/staging/docs/zh-CN/deploy-dcos/index.html  |   2 +-
 content/staging/docs/zh-CN/deploy-kubernetes.html  |   2 +-
 .../docs/zh-CN/deploy-kubernetes/index.html        |   2 +-
 content/staging/docs/zh-CN/deploy-monitoring.html  |   2 +-
 .../docs/zh-CN/deploy-monitoring/index.html        |   2 +-
 .../docs/zh-CN/develop-binary-protocol.html        |   2 +-
 .../docs/zh-CN/develop-binary-protocol/index.html  |   2 +-
 content/staging/docs/zh-CN/develop-cpp.html        |   2 +-
 content/staging/docs/zh-CN/develop-cpp/index.html  |   2 +-
 .../staging/docs/zh-CN/develop-load-manager.html   |   2 +-
 .../docs/zh-CN/develop-load-manager/index.html     |   2 +-
 content/staging/docs/zh-CN/develop-schema.html     |   2 +-
 .../staging/docs/zh-CN/develop-schema/index.html   |   2 +-
 content/staging/docs/zh-CN/develop-tools.html      |   2 +-
 .../staging/docs/zh-CN/develop-tools/index.html    |   2 +-
 content/staging/docs/zh-CN/functions-api.html      |  85 ++++++-----
 .../staging/docs/zh-CN/functions-api/index.html    |  85 ++++++-----
 .../staging/docs/zh-CN/functions-deploying.html    |  36 ++---
 .../docs/zh-CN/functions-deploying/index.html      |  36 ++---
 .../staging/docs/zh-CN/functions-guarantees.html   |   8 +-
 .../docs/zh-CN/functions-guarantees/index.html     |   8 +-
 content/staging/docs/zh-CN/functions-metrics.html  |  10 +-
 .../docs/zh-CN/functions-metrics/index.html        |  10 +-
 content/staging/docs/zh-CN/functions-overview.html |  54 +++----
 .../docs/zh-CN/functions-overview/index.html       |  54 +++----
 .../staging/docs/zh-CN/functions-quickstart.html   |  24 +--
 .../docs/zh-CN/functions-quickstart/index.html     |  24 +--
 content/staging/docs/zh-CN/functions-state.html    | 161 ++++++++++++++++++++
 .../staging/docs/zh-CN/functions-state/index.html  | 161 ++++++++++++++++++++
 content/staging/docs/zh-CN/io-connectors.html      |   2 +-
 .../staging/docs/zh-CN/io-connectors/index.html    |   2 +-
 content/staging/docs/zh-CN/io-develop.html         |   2 +-
 content/staging/docs/zh-CN/io-develop/index.html   |   2 +-
 content/staging/docs/zh-CN/io-managing.html        |   2 +-
 content/staging/docs/zh-CN/io-managing/index.html  |   2 +-
 content/staging/docs/zh-CN/io-overview.html        |   2 +-
 content/staging/docs/zh-CN/io-overview/index.html  |   2 +-
 content/staging/docs/zh-CN/io-quickstart.html      |   2 +-
 .../staging/docs/zh-CN/io-quickstart/index.html    |   2 +-
 content/staging/docs/zh-CN/pulsar-2.0.html         |   2 +-
 content/staging/docs/zh-CN/pulsar-2.0/index.html   |   2 +-
 content/staging/docs/zh-CN/pulsar-admin.html       |   2 +-
 content/staging/docs/zh-CN/pulsar-admin/index.html |   2 +-
 .../staging/docs/zh-CN/reference-cli-tools.html    |   2 +-
 .../docs/zh-CN/reference-cli-tools/index.html      |   2 +-
 .../docs/zh-CN/reference-configuration.html        |   2 +-
 .../docs/zh-CN/reference-configuration/index.html  |   2 +-
 .../staging/docs/zh-CN/reference-terminology.html  |   2 +-
 .../docs/zh-CN/reference-terminology/index.html    |   2 +-
 content/staging/docs/zh-CN/security-athenz.html    |   2 +-
 .../staging/docs/zh-CN/security-athenz/index.html  |   2 +-
 .../staging/docs/zh-CN/security-authorization.html |   2 +-
 .../docs/zh-CN/security-authorization/index.html   |   2 +-
 .../staging/docs/zh-CN/security-encryption.html    |   2 +-
 .../docs/zh-CN/security-encryption/index.html      |   2 +-
 content/staging/docs/zh-CN/security-extending.html |   2 +-
 .../docs/zh-CN/security-extending/index.html       |   2 +-
 content/staging/docs/zh-CN/security-overview.html  |   2 +-
 .../docs/zh-CN/security-overview/index.html        |   2 +-
 .../docs/zh-CN/security-tls-authentication.html    |   2 +-
 .../zh-CN/security-tls-authentication/index.html   |   2 +-
 .../staging/docs/zh-CN/security-tls-transport.html |   2 +-
 .../docs/zh-CN/security-tls-transport/index.html   |   2 +-
 content/staging/docs/zh-CN/standalone-docker.html  |   2 +-
 .../docs/zh-CN/standalone-docker/index.html        |   2 +-
 content/staging/docs/zh-CN/standalone.html         |   2 +-
 content/staging/docs/zh-CN/standalone/index.html   |   2 +-
 content/staging/en/release-notes.html              |  23 +++
 content/staging/en/release-notes/index.html        |  23 +++
 content/staging/ja/release-notes.html              |  23 +++
 content/staging/ja/release-notes/index.html        |  23 +++
 content/staging/release-notes.html                 |  23 +++
 content/staging/release-notes/index.html           |  23 +++
 content/staging/sitemap.xml                        |   1 +
 content/staging/swagger/swagger.json               |  34 ++---
 content/staging/zh-CN/release-notes.html           |  23 +++
 content/staging/zh-CN/release-notes/index.html     |  23 +++
 535 files changed, 2448 insertions(+), 1293 deletions(-)

diff --git a/content/docs/latest/adaptors/PulsarSpark/index.html b/content/docs/latest/adaptors/PulsarSpark/index.html
index d130108..a30d928 100644
--- a/content/docs/latest/adaptors/PulsarSpark/index.html
+++ b/content/docs/latest/adaptors/PulsarSpark/index.html
@@ -1079,9 +1079,9 @@
           
           
           
-          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
+          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
           
@@ -1325,9 +1325,9 @@
           
           
           
-          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
+          <li><a href="/docs/latest/adaptors/PulsarSpark/">Spark Streaming Pulsar receiver</a></li>
           
           
           
@@ -1537,6 +1537,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1615,8 +1617,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/adaptors/PulsarStorm/index.html b/content/docs/latest/adaptors/PulsarStorm/index.html
index 67a4256..3059cf5 100644
--- a/content/docs/latest/adaptors/PulsarStorm/index.html
+++ b/content/docs/latest/adaptors/PulsarStorm/index.html
@@ -1083,9 +1083,9 @@
           
           
           
-          <li><a href="/docs/latest/adaptors/PulsarStorm/">Pulsar adaptor for Apache Storm</a></li>
           
           
+          <li><a href="/docs/latest/adaptors/PulsarStorm/">Pulsar adaptor for Apache Storm</a></li>
           
           
           
@@ -1291,6 +1291,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1369,8 +1371,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/admin-api/overview/index.html b/content/docs/latest/admin-api/overview/index.html
index a2bc7c5..80a6f28 100644
--- a/content/docs/latest/admin-api/overview/index.html
+++ b/content/docs/latest/admin-api/overview/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1271,9 +1271,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1805,6 +1805,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1883,8 +1885,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/clients/Cpp/index.html b/content/docs/latest/clients/Cpp/index.html
index eb824c6..1cf8ac7 100644
--- a/content/docs/latest/clients/Cpp/index.html
+++ b/content/docs/latest/clients/Cpp/index.html
@@ -1005,9 +1005,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1033,6 +1033,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
@@ -1155,8 +1157,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1287,9 +1287,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
           
diff --git a/content/docs/latest/clients/Java/index.html b/content/docs/latest/clients/Java/index.html
index 08bb479..4e14ab7 100644
--- a/content/docs/latest/clients/Java/index.html
+++ b/content/docs/latest/clients/Java/index.html
@@ -1005,9 +1005,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1033,6 +1033,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
@@ -1155,8 +1157,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1301,6 +1301,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1379,8 +1381,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1557,9 +1557,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
@@ -1805,9 +1805,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
diff --git a/content/docs/latest/clients/Python/index.html b/content/docs/latest/clients/Python/index.html
index 60bea8e..4d34e49 100644
--- a/content/docs/latest/clients/Python/index.html
+++ b/content/docs/latest/clients/Python/index.html
@@ -1005,9 +1005,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1033,6 +1033,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
@@ -1155,8 +1157,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1343,9 +1343,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
           
@@ -1365,9 +1365,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
diff --git a/content/docs/latest/clients/WebSocket/index.html b/content/docs/latest/clients/WebSocket/index.html
index b881453..0c3f19d 100644
--- a/content/docs/latest/clients/WebSocket/index.html
+++ b/content/docs/latest/clients/WebSocket/index.html
@@ -1107,9 +1107,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
@@ -1353,9 +1353,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
@@ -1579,9 +1579,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
           
@@ -1601,9 +1601,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
diff --git a/content/docs/latest/clients/go/index.html b/content/docs/latest/clients/go/index.html
index a06ad5f..1492ffb 100644
--- a/content/docs/latest/clients/go/index.html
+++ b/content/docs/latest/clients/go/index.html
@@ -1005,9 +1005,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1033,6 +1033,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
@@ -1155,8 +1157,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
diff --git a/content/docs/latest/cookbooks/Encryption/index.html b/content/docs/latest/cookbooks/Encryption/index.html
index a6132a3..18ca402 100644
--- a/content/docs/latest/cookbooks/Encryption/index.html
+++ b/content/docs/latest/cookbooks/Encryption/index.html
@@ -1567,9 +1567,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1823,9 +1823,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1851,9 +1851,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/PartitionedTopics/index.html b/content/docs/latest/cookbooks/PartitionedTopics/index.html
index b385286..c5c0499 100644
--- a/content/docs/latest/cookbooks/PartitionedTopics/index.html
+++ b/content/docs/latest/cookbooks/PartitionedTopics/index.html
@@ -1069,9 +1069,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1315,9 +1315,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1497,6 +1497,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1615,8 +1617,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1829,9 +1829,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -2085,9 +2085,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -2113,9 +2113,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/RetentionExpiry/index.html b/content/docs/latest/cookbooks/RetentionExpiry/index.html
index 48e2d65..763a81c 100644
--- a/content/docs/latest/cookbooks/RetentionExpiry/index.html
+++ b/content/docs/latest/cookbooks/RetentionExpiry/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1361,9 +1361,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
@@ -1607,9 +1607,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
@@ -1853,9 +1853,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
@@ -2075,9 +2075,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -2103,9 +2103,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/compaction/index.html b/content/docs/latest/cookbooks/compaction/index.html
index 0d47061..e0c2266 100644
--- a/content/docs/latest/cookbooks/compaction/index.html
+++ b/content/docs/latest/cookbooks/compaction/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1337,9 +1337,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/message-deduplication/index.html b/content/docs/latest/cookbooks/message-deduplication/index.html
index 5505920..7767ce8 100644
--- a/content/docs/latest/cookbooks/message-deduplication/index.html
+++ b/content/docs/latest/cookbooks/message-deduplication/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1287,9 +1287,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
           
@@ -1585,9 +1585,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1613,9 +1613,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/message-queue/index.html b/content/docs/latest/cookbooks/message-queue/index.html
index 3aed975..32e4e8f 100644
--- a/content/docs/latest/cookbooks/message-queue/index.html
+++ b/content/docs/latest/cookbooks/message-queue/index.html
@@ -1071,9 +1071,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1301,6 +1301,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -1379,8 +1381,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1599,9 +1599,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Python/">The Pulsar Python client</a></li>
           
           
           
@@ -1621,9 +1621,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
+          <li><a href="/docs/latest/clients/WebSocket/">Pulsar's WebSocket API</a></li>
           
           
           
@@ -2079,9 +2079,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -2107,9 +2107,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/tiered-storage/index.html b/content/docs/latest/cookbooks/tiered-storage/index.html
index 9358ee6..9260e45 100644
--- a/content/docs/latest/cookbooks/tiered-storage/index.html
+++ b/content/docs/latest/cookbooks/tiered-storage/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/deployment/Kubernetes/index.html b/content/docs/latest/deployment/Kubernetes/index.html
index 82e2140..868a18b 100644
--- a/content/docs/latest/deployment/Kubernetes/index.html
+++ b/content/docs/latest/deployment/Kubernetes/index.html
@@ -1051,9 +1051,9 @@
           
           
           
-          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
+          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
           
@@ -1297,9 +1297,9 @@
           
           
           
-          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
+          <li><a href="/docs/latest/deployment/Kubernetes/">Deploying Pulsar on Kubernetes</a></li>
           
           
           
diff --git a/content/docs/latest/deployment/aws-cluster/index.html b/content/docs/latest/deployment/aws-cluster/index.html
index c0f626a..47a5a53 100644
--- a/content/docs/latest/deployment/aws-cluster/index.html
+++ b/content/docs/latest/deployment/aws-cluster/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/deployment/cluster/index.html b/content/docs/latest/deployment/cluster/index.html
index 64813ca..3113ea1 100644
--- a/content/docs/latest/deployment/cluster/index.html
+++ b/content/docs/latest/deployment/cluster/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/deployment/instance/index.html b/content/docs/latest/deployment/instance/index.html
index cf29458..9a49d19 100644
--- a/content/docs/latest/deployment/instance/index.html
+++ b/content/docs/latest/deployment/instance/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
diff --git a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
index c31a02a..c4bf12b 100644
--- a/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
+++ b/content/docs/latest/getting-started/ConceptsAndArchitecture/index.html
@@ -1021,9 +1021,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
           
@@ -1267,9 +1267,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/ConceptsAndArchitecture/">Pulsar concepts and architecture</a></li>
           
           
           
diff --git a/content/docs/latest/getting-started/LocalCluster/index.html b/content/docs/latest/getting-started/LocalCluster/index.html
index dcceda6..564bdd5 100644
--- a/content/docs/latest/getting-started/LocalCluster/index.html
+++ b/content/docs/latest/getting-started/LocalCluster/index.html
@@ -1057,9 +1057,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
@@ -1305,9 +1305,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
diff --git a/content/docs/latest/getting-started/Pulsar-2.0/index.html b/content/docs/latest/getting-started/Pulsar-2.0/index.html
index 2018e47..45ec5ca 100644
--- a/content/docs/latest/getting-started/Pulsar-2.0/index.html
+++ b/content/docs/latest/getting-started/Pulsar-2.0/index.html
@@ -1563,9 +1563,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
diff --git a/content/docs/latest/getting-started/docker/index.html b/content/docs/latest/getting-started/docker/index.html
index d67525e..9bd32cd 100644
--- a/content/docs/latest/getting-started/docker/index.html
+++ b/content/docs/latest/getting-started/docker/index.html
@@ -1057,9 +1057,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
@@ -1305,9 +1305,9 @@
           
           
           
-          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
+          <li><a href="/docs/latest/getting-started/LocalCluster/">Setting up a local standalone cluster</a></li>
           
           
           
diff --git a/content/docs/latest/project/BinaryProtocol/index.html b/content/docs/latest/project/BinaryProtocol/index.html
index c764805..4bc8170 100644
--- a/content/docs/latest/project/BinaryProtocol/index.html
+++ b/content/docs/latest/project/BinaryProtocol/index.html
@@ -1001,9 +1001,9 @@
           
           
           
-          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
+          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
           
@@ -1247,9 +1247,9 @@
           
           
           
-          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
+          <li><a href="/docs/latest/project/BinaryProtocol/">Pulsar binary protocol specification</a></li>
           
           
           
diff --git a/content/docs/latest/project/CompileCpp/index.html b/content/docs/latest/project/CompileCpp/index.html
index 0b1376a..bd1db5f 100644
--- a/content/docs/latest/project/CompileCpp/index.html
+++ b/content/docs/latest/project/CompileCpp/index.html
@@ -1005,9 +1005,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1033,6 +1033,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
@@ -1155,8 +1157,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1287,9 +1287,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
           
diff --git a/content/docs/latest/project/SimulationTools/index.html b/content/docs/latest/project/SimulationTools/index.html
index 8857516..e601624 100644
--- a/content/docs/latest/project/SimulationTools/index.html
+++ b/content/docs/latest/project/SimulationTools/index.html
@@ -1099,9 +1099,9 @@
           
           
           
-          <li><a href="/docs/latest/project/SimulationTools/">Simulation tools</a></li>
           
           
+          <li><a href="/docs/latest/project/SimulationTools/">Simulation tools</a></li>
           
           
           
diff --git a/content/docs/latest/project/schema-storage/index.html b/content/docs/latest/project/schema-storage/index.html
index 9d6b5fd..333ed51 100644
--- a/content/docs/latest/project/schema-storage/index.html
+++ b/content/docs/latest/project/schema-storage/index.html
@@ -1045,9 +1045,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
@@ -1293,9 +1293,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
           
diff --git a/content/docs/latest/reference/CliTools/index.html b/content/docs/latest/reference/CliTools/index.html
index 6956c81..1f6ea9f 100644
--- a/content/docs/latest/reference/CliTools/index.html
+++ b/content/docs/latest/reference/CliTools/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -1271,9 +1271,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1519,9 +1519,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -1547,6 +1547,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
@@ -1669,8 +1671,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/clients/go/">The Pulsar Go client</a></li>
           
           
@@ -1775,9 +1775,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -2021,9 +2021,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
@@ -2267,9 +2267,9 @@
           
           
           
-          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
+          <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
           
diff --git a/content/docs/latest/security/authorization/index.html b/content/docs/latest/security/authorization/index.html
index 60072fc..d82a9f9 100644
--- a/content/docs/latest/security/authorization/index.html
+++ b/content/docs/latest/security/authorization/index.html
@@ -1005,6 +1005,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/reference/CliTools/">Pulsar command-line tools</a></li>
           
           
@@ -1123,8 +1125,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -2299,6 +2299,8 @@
           
           
           
+          
+          
           <li><a href="/docs/latest/clients/Java/">The Pulsar Java client</a></li>
           
           
@@ -2377,8 +2379,6 @@
           
           
           
-          
-          
           <li><a href="/docs/latest/security/authorization/">Authentication and authorization in Pulsar</a></li>
           
           
@@ -2541,9 +2541,9 @@
           
           
           
-          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
+          <li><a href="/docs/latest/clients/Cpp/">The Pulsar C++ client</a></li>
           
           
           
diff --git a/content/docs/latest/security/encryption/index.html b/content/docs/latest/security/encryption/index.html
index a6132a3..18ca402 100644
--- a/content/docs/latest/security/encryption/index.html
+++ b/content/docs/latest/security/encryption/index.html
@@ -1567,9 +1567,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1823,9 +1823,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/PartitionedTopics/">Partitioned topics</a></li>
           
           
           
@@ -1851,9 +1851,9 @@
           
           
           
-          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
+          <li><a href="/docs/latest/cookbooks/RetentionExpiry/">Message retention and expiry</a></li>
           
           
           
diff --git a/content/ja/adaptors/PulsarSpark/index.html b/content/ja/adaptors/PulsarSpark/index.html
index 51c3895..34dd969 100644
--- a/content/ja/adaptors/PulsarSpark/index.html
+++ b/content/ja/adaptors/PulsarSpark/index.html
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
-          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
           
@@ -1008,9 +1008,9 @@
           
           
           
+          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
-          <li><a href="/ja/adaptors/PulsarSpark/">Spark Streaming Pulsar Receiver</a></li>
           
           
           
@@ -1224,8 +1224,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1387,6 +1385,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
diff --git a/content/ja/adaptors/PulsarStorm/index.html b/content/ja/adaptors/PulsarStorm/index.html
index 8d8ca73..d24d155 100644
--- a/content/ja/adaptors/PulsarStorm/index.html
+++ b/content/ja/adaptors/PulsarStorm/index.html
@@ -766,9 +766,9 @@
           
           
           
+          <li><a href="/ja/adaptors/PulsarStorm/">Apache StormのためのPulsarアダプタ</a></li>
           
           
-          <li><a href="/ja/adaptors/PulsarStorm/">Apache StormのためのPulsarアダプタ</a></li>
           
           
           
@@ -978,8 +978,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1141,6 +1139,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
diff --git a/content/ja/admin/AdminInterface/index.html b/content/ja/admin/AdminInterface/index.html
index 9a1d3fa..5a8fbe4 100644
--- a/content/ja/admin/AdminInterface/index.html
+++ b/content/ja/admin/AdminInterface/index.html
@@ -692,9 +692,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -950,9 +950,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1486,8 +1486,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1649,6 +1647,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
diff --git a/content/ja/admin/Authz/index.html b/content/ja/admin/Authz/index.html
index f31d19b..910e23f 100644
--- a/content/ja/admin/Authz/index.html
+++ b/content/ja/admin/Authz/index.html
@@ -692,9 +692,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1976,8 +1976,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -2139,6 +2137,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
@@ -2212,9 +2212,9 @@
           
           
           
+          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
-          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
           
diff --git a/content/ja/admin/ClustersBrokers/index.html b/content/ja/admin/ClustersBrokers/index.html
index 0c37b98..ad4bdb4 100644
--- a/content/ja/admin/ClustersBrokers/index.html
+++ b/content/ja/admin/ClustersBrokers/index.html
@@ -692,9 +692,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/admin/PropertiesNamespaces/index.html b/content/ja/admin/PropertiesNamespaces/index.html
index 050393b..807551e 100644
--- a/content/ja/admin/PropertiesNamespaces/index.html
+++ b/content/ja/admin/PropertiesNamespaces/index.html
@@ -1184,9 +1184,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1254,9 +1254,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/advanced/PartitionedTopics/index.html b/content/ja/advanced/PartitionedTopics/index.html
index 3ab5407..4297a12 100644
--- a/content/ja/advanced/PartitionedTopics/index.html
+++ b/content/ja/advanced/PartitionedTopics/index.html
@@ -752,9 +752,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -998,9 +998,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -1184,9 +1184,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1254,9 +1254,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1504,9 +1504,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
diff --git a/content/ja/advanced/RetentionExpiry/index.html b/content/ja/advanced/RetentionExpiry/index.html
index eb7d4b0..fd6137c 100644
--- a/content/ja/advanced/RetentionExpiry/index.html
+++ b/content/ja/advanced/RetentionExpiry/index.html
@@ -692,9 +692,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1038,9 +1038,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1284,9 +1284,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -1530,9 +1530,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/clients/Cpp/index.html b/content/ja/clients/Cpp/index.html
index e51d5eb..e6411a1 100644
--- a/content/ja/clients/Cpp/index.html
+++ b/content/ja/clients/Cpp/index.html
@@ -688,8 +688,6 @@
           
           
           
-          
-          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -893,6 +891,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
@@ -966,9 +966,9 @@
           
           
           
+          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
-          <li><a href="/ja/clients/Cpp/">Pulsar C++クライアント</a></li>
           
           
           
diff --git a/content/ja/clients/Java/index.html b/content/ja/clients/Java/index.html
index 2a626c7..e543182 100644
--- a/content/ja/clients/Java/index.html
+++ b/content/ja/clients/Java/index.html
@@ -688,8 +688,6 @@
           
           
           
-          
-          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -893,6 +891,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
@@ -984,8 +984,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Java/">Pulsar Javaクライアント</a></li>
           
           
@@ -1147,6 +1145,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
diff --git a/content/ja/clients/Python/index.html b/content/ja/clients/Python/index.html
index b937ecf..ed49516 100644
--- a/content/ja/clients/Python/index.html
+++ b/content/ja/clients/Python/index.html
@@ -688,8 +688,6 @@
           
           
           
-          
-          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -893,6 +891,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
@@ -1022,8 +1022,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Python/">Pulsar Pythonクライアント</a></li>
           
           
@@ -1141,6 +1139,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
diff --git a/content/ja/clients/WebSocket/index.html b/content/ja/clients/WebSocket/index.html
index ee0d865..b7b7730 100644
--- a/content/ja/clients/WebSocket/index.html
+++ b/content/ja/clients/WebSocket/index.html
@@ -790,9 +790,9 @@
           
           
           
+          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
-          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
           
@@ -1036,9 +1036,9 @@
           
           
           
+          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
-          <li><a href="/ja/clients/WebSocket/">PulsarにおけるWebSocket API</a></li>
           
           
           
@@ -1262,8 +1262,6 @@
           
           
           
-          
-          
           <li><a href="/ja/clients/Python/">Pulsar Pythonクライアント</a></li>
           
           
@@ -1381,6 +1379,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
diff --git a/content/ja/deployment/InstanceSetup/index.html b/content/ja/deployment/InstanceSetup/index.html
index d12999b..6499654 100644
--- a/content/ja/deployment/InstanceSetup/index.html
+++ b/content/ja/deployment/InstanceSetup/index.html
@@ -692,9 +692,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
diff --git a/content/ja/deployment/Kubernetes/index.html b/content/ja/deployment/Kubernetes/index.html
index 4dd17d9..dd736d4 100644
--- a/content/ja/deployment/Kubernetes/index.html
+++ b/content/ja/deployment/Kubernetes/index.html
@@ -734,9 +734,9 @@
           
           
           
+          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
-          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
           
@@ -980,9 +980,9 @@
           
           
           
+          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
-          <li><a href="/ja/deployment/Kubernetes/">Kubernetes上でのPulsarのデプロイ</a></li>
           
           
           
diff --git a/content/ja/getting-started/ConceptsAndArchitecture/index.html b/content/ja/getting-started/ConceptsAndArchitecture/index.html
index 0efaab5..6c57f6a 100644
--- a/content/ja/getting-started/ConceptsAndArchitecture/index.html
+++ b/content/ja/getting-started/ConceptsAndArchitecture/index.html
@@ -704,9 +704,9 @@
           
           
           
+          <li><a href="/ja/getting-started/ConceptsAndArchitecture/">Pulsarのコンセプトとアーキテクチャ</a></li>
           
           
-          <li><a href="/ja/getting-started/ConceptsAndArchitecture/">Pulsarのコンセプトとアーキテクチャ</a></li>
           
           
           
diff --git a/content/ja/getting-started/LocalCluster/index.html b/content/ja/getting-started/LocalCluster/index.html
index bcf9413..f3a8dca 100644
--- a/content/ja/getting-started/LocalCluster/index.html
+++ b/content/ja/getting-started/LocalCluster/index.html
@@ -740,9 +740,9 @@
           
           
           
+          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
-          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
           
@@ -986,9 +986,9 @@
           
           
           
+          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
-          <li><a href="/ja/getting-started/LocalCluster/">ローカルスタンドアローンクラスタのセットアップ</a></li>
           
           
           
diff --git a/content/ja/project/BinaryProtocol/index.html b/content/ja/project/BinaryProtocol/index.html
index bf3cc82..f2a8f00 100644
--- a/content/ja/project/BinaryProtocol/index.html
+++ b/content/ja/project/BinaryProtocol/index.html
@@ -684,9 +684,9 @@
           
           
           
+          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
-          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
           
@@ -930,9 +930,9 @@
           
           
           
+          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
-          <li><a href="/ja/project/BinaryProtocol/">Pulsarのバイナリプロトコルの仕様</a></li>
           
           
           
diff --git a/content/ja/project/SimulationTools/index.html b/content/ja/project/SimulationTools/index.html
index b9b8152..e5a28bb 100644
--- a/content/ja/project/SimulationTools/index.html
+++ b/content/ja/project/SimulationTools/index.html
@@ -782,9 +782,9 @@
           
           
           
+          <li><a href="/ja/project/SimulationTools/">シミュレーションツール</a></li>
           
           
-          <li><a href="/ja/project/SimulationTools/">シミュレーションツール</a></li>
           
           
           
diff --git a/content/ja/reference/CliTools/index.html b/content/ja/reference/CliTools/index.html
index 97c8e05..eb25626 100644
--- a/content/ja/reference/CliTools/index.html
+++ b/content/ja/reference/CliTools/index.html
@@ -692,9 +692,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -762,9 +762,9 @@
           
           
           
+          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
-          <li><a href="/ja/advanced/PartitionedTopics/">パーティションドトピック</a></li>
           
           
           
@@ -792,9 +792,9 @@
           
           
           
+          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
-          <li><a href="/ja/advanced/RetentionExpiry/">メッセージの保存と有効期限</a></li>
           
           
           
@@ -950,9 +950,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1196,8 +1196,6 @@
           
           
           
-          
-          
           <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
@@ -1401,6 +1399,8 @@
           
           
           
+          
+          
         </ul>
       </div>
     </div>
@@ -1448,9 +1448,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1694,9 +1694,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
@@ -1940,9 +1940,9 @@
           
           
           
+          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
-          <li><a href="/ja/reference/CliTools/">Pulsarコマンドラインツール</a></li>
           
           
           
diff --git a/content/staging/docs/en/adaptors-kafka.html b/content/staging/docs/en/adaptors-kafka.html
index 55a92eb..5f397e4 100644
--- a/content/staging/docs/en/adaptors-kafka.html
+++ b/content/staging/docs/en/adaptors-kafka.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/adaptors-kafka/index.html b/content/staging/docs/en/adaptors-kafka/index.html
index 55a92eb..5f397e4 100644
--- a/content/staging/docs/en/adaptors-kafka/index.html
+++ b/content/staging/docs/en/adaptors-kafka/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/adaptors-spark.html b/content/staging/docs/en/adaptors-spark.html
index fbfcc3f..c31b30d 100644
--- a/content/staging/docs/en/adaptors-spark.html
+++ b/content/staging/docs/en/adaptors-spark.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/adaptors-spark/index.html b/content/staging/docs/en/adaptors-spark/index.html
index fbfcc3f..c31b30d 100644
--- a/content/staging/docs/en/adaptors-spark/index.html
+++ b/content/staging/docs/en/adaptors-spark/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/adaptors-storm.html b/content/staging/docs/en/adaptors-storm.html
index e9c27f6..1761dcb 100644
--- a/content/staging/docs/en/adaptors-storm.html
+++ b/content/staging/docs/en/adaptors-storm.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/adaptors-storm/index.html b/content/staging/docs/en/adaptors-storm/index.html
index e9c27f6..1761dcb 100644
--- a/content/staging/docs/en/adaptors-storm/index.html
+++ b/content/staging/docs/en/adaptors-storm/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-brokers.html b/content/staging/docs/en/admin-api-brokers.html
index 4afb01d..a179d9e 100644
--- a/content/staging/docs/en/admin-api-brokers.html
+++ b/content/staging/docs/en/admin-api-brokers.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-brokers/index.html b/content/staging/docs/en/admin-api-brokers/index.html
index 4afb01d..a179d9e 100644
--- a/content/staging/docs/en/admin-api-brokers/index.html
+++ b/content/staging/docs/en/admin-api-brokers/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-clusters.html b/content/staging/docs/en/admin-api-clusters.html
index bd9c85f..fd05757 100644
--- a/content/staging/docs/en/admin-api-clusters.html
+++ b/content/staging/docs/en/admin-api-clusters.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-clusters/index.html b/content/staging/docs/en/admin-api-clusters/index.html
index bd9c85f..fd05757 100644
--- a/content/staging/docs/en/admin-api-clusters/index.html
+++ b/content/staging/docs/en/admin-api-clusters/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-namespaces.html b/content/staging/docs/en/admin-api-namespaces.html
index 9a90703..5521037 100644
--- a/content/staging/docs/en/admin-api-namespaces.html
+++ b/content/staging/docs/en/admin-api-namespaces.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-namespaces/index.html b/content/staging/docs/en/admin-api-namespaces/index.html
index 9a90703..5521037 100644
--- a/content/staging/docs/en/admin-api-namespaces/index.html
+++ b/content/staging/docs/en/admin-api-namespaces/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-non-persistent-topics.html b/content/staging/docs/en/admin-api-non-persistent-topics.html
index 86a9a49..32630ed 100644
--- a/content/staging/docs/en/admin-api-non-persistent-topics.html
+++ b/content/staging/docs/en/admin-api-non-persistent-topics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-non-persistent-topics/index.html b/content/staging/docs/en/admin-api-non-persistent-topics/index.html
index 86a9a49..32630ed 100644
--- a/content/staging/docs/en/admin-api-non-persistent-topics/index.html
+++ b/content/staging/docs/en/admin-api-non-persistent-topics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-overview.html b/content/staging/docs/en/admin-api-overview.html
index 1eee2a5..5a31b75 100644
--- a/content/staging/docs/en/admin-api-overview.html
+++ b/content/staging/docs/en/admin-api-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-overview/index.html b/content/staging/docs/en/admin-api-overview/index.html
index 1eee2a5..5a31b75 100644
--- a/content/staging/docs/en/admin-api-overview/index.html
+++ b/content/staging/docs/en/admin-api-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-partitioned-topics.html b/content/staging/docs/en/admin-api-partitioned-topics.html
index 8b9a8c1..8a5bfe0 100644
--- a/content/staging/docs/en/admin-api-partitioned-topics.html
+++ b/content/staging/docs/en/admin-api-partitioned-topics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-partitioned-topics/index.html b/content/staging/docs/en/admin-api-partitioned-topics/index.html
index 8b9a8c1..8a5bfe0 100644
--- a/content/staging/docs/en/admin-api-partitioned-topics/index.html
+++ b/content/staging/docs/en/admin-api-partitioned-topics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-permissions.html b/content/staging/docs/en/admin-api-permissions.html
index 820ba76..0b49352 100644
--- a/content/staging/docs/en/admin-api-permissions.html
+++ b/content/staging/docs/en/admin-api-permissions.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-permissions/index.html b/content/staging/docs/en/admin-api-permissions/index.html
index 820ba76..0b49352 100644
--- a/content/staging/docs/en/admin-api-permissions/index.html
+++ b/content/staging/docs/en/admin-api-permissions/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-persistent-topics.html b/content/staging/docs/en/admin-api-persistent-topics.html
index bdf594b..c98f70b 100644
--- a/content/staging/docs/en/admin-api-persistent-topics.html
+++ b/content/staging/docs/en/admin-api-persistent-topics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-persistent-topics/index.html b/content/staging/docs/en/admin-api-persistent-topics/index.html
index bdf594b..c98f70b 100644
--- a/content/staging/docs/en/admin-api-persistent-topics/index.html
+++ b/content/staging/docs/en/admin-api-persistent-topics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-tenants.html b/content/staging/docs/en/admin-api-tenants.html
index f461685..012432c 100644
--- a/content/staging/docs/en/admin-api-tenants.html
+++ b/content/staging/docs/en/admin-api-tenants.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/admin-api-tenants/index.html b/content/staging/docs/en/admin-api-tenants/index.html
index f461685..012432c 100644
--- a/content/staging/docs/en/admin-api-tenants/index.html
+++ b/content/staging/docs/en/admin-api-tenants/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-dashboard.html b/content/staging/docs/en/administration-dashboard.html
index e753e9e..4b01559 100644
--- a/content/staging/docs/en/administration-dashboard.html
+++ b/content/staging/docs/en/administration-dashboard.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-dashboard/index.html b/content/staging/docs/en/administration-dashboard/index.html
index e753e9e..4b01559 100644
--- a/content/staging/docs/en/administration-dashboard/index.html
+++ b/content/staging/docs/en/administration-dashboard/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-geo.html b/content/staging/docs/en/administration-geo.html
index 62124de..c6f2a7c 100644
--- a/content/staging/docs/en/administration-geo.html
+++ b/content/staging/docs/en/administration-geo.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-geo/index.html b/content/staging/docs/en/administration-geo/index.html
index 62124de..c6f2a7c 100644
--- a/content/staging/docs/en/administration-geo/index.html
+++ b/content/staging/docs/en/administration-geo/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-load-distribution.html b/content/staging/docs/en/administration-load-distribution.html
index e38fb5d..3877249 100644
--- a/content/staging/docs/en/administration-load-distribution.html
+++ b/content/staging/docs/en/administration-load-distribution.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-load-distribution/index.html b/content/staging/docs/en/administration-load-distribution/index.html
index e38fb5d..3877249 100644
--- a/content/staging/docs/en/administration-load-distribution/index.html
+++ b/content/staging/docs/en/administration-load-distribution/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-proxy.html b/content/staging/docs/en/administration-proxy.html
index 93bd4f3..8ff2d20 100644
--- a/content/staging/docs/en/administration-proxy.html
+++ b/content/staging/docs/en/administration-proxy.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-proxy/index.html b/content/staging/docs/en/administration-proxy/index.html
index 93bd4f3..8ff2d20 100644
--- a/content/staging/docs/en/administration-proxy/index.html
+++ b/content/staging/docs/en/administration-proxy/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-stats.html b/content/staging/docs/en/administration-stats.html
index 45350eb..0c8d160 100644
--- a/content/staging/docs/en/administration-stats.html
+++ b/content/staging/docs/en/administration-stats.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-stats/index.html b/content/staging/docs/en/administration-stats/index.html
index 45350eb..0c8d160 100644
--- a/content/staging/docs/en/administration-stats/index.html
+++ b/content/staging/docs/en/administration-stats/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-zk-bk.html b/content/staging/docs/en/administration-zk-bk.html
index 2a59689..8a268a4 100644
--- a/content/staging/docs/en/administration-zk-bk.html
+++ b/content/staging/docs/en/administration-zk-bk.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/administration-zk-bk/index.html b/content/staging/docs/en/administration-zk-bk/index.html
index 2a59689..8a268a4 100644
--- a/content/staging/docs/en/administration-zk-bk/index.html
+++ b/content/staging/docs/en/administration-zk-bk/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-cpp.html b/content/staging/docs/en/client-libraries-cpp.html
index 97eefcf..adca3c5 100644
--- a/content/staging/docs/en/client-libraries-cpp.html
+++ b/content/staging/docs/en/client-libraries-cpp.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-cpp/index.html b/content/staging/docs/en/client-libraries-cpp/index.html
index 97eefcf..adca3c5 100644
--- a/content/staging/docs/en/client-libraries-cpp/index.html
+++ b/content/staging/docs/en/client-libraries-cpp/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-go.html b/content/staging/docs/en/client-libraries-go.html
index 60ccd13..8243cf8 100644
--- a/content/staging/docs/en/client-libraries-go.html
+++ b/content/staging/docs/en/client-libraries-go.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-go/index.html b/content/staging/docs/en/client-libraries-go/index.html
index 60ccd13..8243cf8 100644
--- a/content/staging/docs/en/client-libraries-go/index.html
+++ b/content/staging/docs/en/client-libraries-go/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-java.html b/content/staging/docs/en/client-libraries-java.html
index 1469793..17fb62b 100644
--- a/content/staging/docs/en/client-libraries-java.html
+++ b/content/staging/docs/en/client-libraries-java.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-java/index.html b/content/staging/docs/en/client-libraries-java/index.html
index 1469793..17fb62b 100644
--- a/content/staging/docs/en/client-libraries-java/index.html
+++ b/content/staging/docs/en/client-libraries-java/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-python.html b/content/staging/docs/en/client-libraries-python.html
index 33f3ec9..ef06fab 100644
--- a/content/staging/docs/en/client-libraries-python.html
+++ b/content/staging/docs/en/client-libraries-python.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-python/index.html b/content/staging/docs/en/client-libraries-python/index.html
index 33f3ec9..ef06fab 100644
--- a/content/staging/docs/en/client-libraries-python/index.html
+++ b/content/staging/docs/en/client-libraries-python/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-websocket.html b/content/staging/docs/en/client-libraries-websocket.html
index 597a134..c7e9d20 100644
--- a/content/staging/docs/en/client-libraries-websocket.html
+++ b/content/staging/docs/en/client-libraries-websocket.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries-websocket/index.html b/content/staging/docs/en/client-libraries-websocket/index.html
index 597a134..c7e9d20 100644
--- a/content/staging/docs/en/client-libraries-websocket/index.html
+++ b/content/staging/docs/en/client-libraries-websocket/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries.html b/content/staging/docs/en/client-libraries.html
index 71ed7dd..30c2156 100644
--- a/content/staging/docs/en/client-libraries.html
+++ b/content/staging/docs/en/client-libraries.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/client-libraries/index.html b/content/staging/docs/en/client-libraries/index.html
index 71ed7dd..30c2156 100644
--- a/content/staging/docs/en/client-libraries/index.html
+++ b/content/staging/docs/en/client-libraries/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-architecture-overview.html b/content/staging/docs/en/concepts-architecture-overview.html
index 98001b4..bfe6e98 100644
--- a/content/staging/docs/en/concepts-architecture-overview.html
+++ b/content/staging/docs/en/concepts-architecture-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-architecture-overview/index.html b/content/staging/docs/en/concepts-architecture-overview/index.html
index 98001b4..bfe6e98 100644
--- a/content/staging/docs/en/concepts-architecture-overview/index.html
+++ b/content/staging/docs/en/concepts-architecture-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-authentication.html b/content/staging/docs/en/concepts-authentication.html
index 639fd3f..b5b6111 100644
--- a/content/staging/docs/en/concepts-authentication.html
+++ b/content/staging/docs/en/concepts-authentication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-authentication/index.html b/content/staging/docs/en/concepts-authentication/index.html
index 639fd3f..b5b6111 100644
--- a/content/staging/docs/en/concepts-authentication/index.html
+++ b/content/staging/docs/en/concepts-authentication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-clients.html b/content/staging/docs/en/concepts-clients.html
index 48a7686..710be5e 100644
--- a/content/staging/docs/en/concepts-clients.html
+++ b/content/staging/docs/en/concepts-clients.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-clients/index.html b/content/staging/docs/en/concepts-clients/index.html
index 48a7686..710be5e 100644
--- a/content/staging/docs/en/concepts-clients/index.html
+++ b/content/staging/docs/en/concepts-clients/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-messaging.html b/content/staging/docs/en/concepts-messaging.html
index d7c8052..4411674 100644
--- a/content/staging/docs/en/concepts-messaging.html
+++ b/content/staging/docs/en/concepts-messaging.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-messaging/index.html b/content/staging/docs/en/concepts-messaging/index.html
index d7c8052..4411674 100644
--- a/content/staging/docs/en/concepts-messaging/index.html
+++ b/content/staging/docs/en/concepts-messaging/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-multi-tenancy.html b/content/staging/docs/en/concepts-multi-tenancy.html
index 679ce63..aa95d18 100644
--- a/content/staging/docs/en/concepts-multi-tenancy.html
+++ b/content/staging/docs/en/concepts-multi-tenancy.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-multi-tenancy/index.html b/content/staging/docs/en/concepts-multi-tenancy/index.html
index 679ce63..aa95d18 100644
--- a/content/staging/docs/en/concepts-multi-tenancy/index.html
+++ b/content/staging/docs/en/concepts-multi-tenancy/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-overview.html b/content/staging/docs/en/concepts-overview.html
index 6971a2d..af01b08 100644
--- a/content/staging/docs/en/concepts-overview.html
+++ b/content/staging/docs/en/concepts-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-overview/index.html b/content/staging/docs/en/concepts-overview/index.html
index 6971a2d..af01b08 100644
--- a/content/staging/docs/en/concepts-overview/index.html
+++ b/content/staging/docs/en/concepts-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-replication.html b/content/staging/docs/en/concepts-replication.html
index c621378..c61c70c 100644
--- a/content/staging/docs/en/concepts-replication.html
+++ b/content/staging/docs/en/concepts-replication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-replication/index.html b/content/staging/docs/en/concepts-replication/index.html
index c621378..c61c70c 100644
--- a/content/staging/docs/en/concepts-replication/index.html
+++ b/content/staging/docs/en/concepts-replication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-schema-registry.html b/content/staging/docs/en/concepts-schema-registry.html
index e87e2d6..5a74432 100644
--- a/content/staging/docs/en/concepts-schema-registry.html
+++ b/content/staging/docs/en/concepts-schema-registry.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-schema-registry/index.html b/content/staging/docs/en/concepts-schema-registry/index.html
index e87e2d6..5a74432 100644
--- a/content/staging/docs/en/concepts-schema-registry/index.html
+++ b/content/staging/docs/en/concepts-schema-registry/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-tiered-storage.html b/content/staging/docs/en/concepts-tiered-storage.html
index 0eb57aa..d6fce1d 100644
--- a/content/staging/docs/en/concepts-tiered-storage.html
+++ b/content/staging/docs/en/concepts-tiered-storage.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-tiered-storage/index.html b/content/staging/docs/en/concepts-tiered-storage/index.html
index 0eb57aa..d6fce1d 100644
--- a/content/staging/docs/en/concepts-tiered-storage/index.html
+++ b/content/staging/docs/en/concepts-tiered-storage/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-topic-compaction.html b/content/staging/docs/en/concepts-topic-compaction.html
index 3b9485c..d10fc9a 100644
--- a/content/staging/docs/en/concepts-topic-compaction.html
+++ b/content/staging/docs/en/concepts-topic-compaction.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/concepts-topic-compaction/index.html b/content/staging/docs/en/concepts-topic-compaction/index.html
index 3b9485c..d10fc9a 100644
--- a/content/staging/docs/en/concepts-topic-compaction/index.html
+++ b/content/staging/docs/en/concepts-topic-compaction/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-compaction.html b/content/staging/docs/en/cookbooks-compaction.html
index 9c71f61..04f4fd2 100644
--- a/content/staging/docs/en/cookbooks-compaction.html
+++ b/content/staging/docs/en/cookbooks-compaction.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-compaction/index.html b/content/staging/docs/en/cookbooks-compaction/index.html
index 9c71f61..04f4fd2 100644
--- a/content/staging/docs/en/cookbooks-compaction/index.html
+++ b/content/staging/docs/en/cookbooks-compaction/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-deduplication.html b/content/staging/docs/en/cookbooks-deduplication.html
index d66ee75..537f3c0 100644
--- a/content/staging/docs/en/cookbooks-deduplication.html
+++ b/content/staging/docs/en/cookbooks-deduplication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-deduplication/index.html b/content/staging/docs/en/cookbooks-deduplication/index.html
index d66ee75..537f3c0 100644
--- a/content/staging/docs/en/cookbooks-deduplication/index.html
+++ b/content/staging/docs/en/cookbooks-deduplication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-encryption.html b/content/staging/docs/en/cookbooks-encryption.html
index 0643823..6d3a7b2 100644
--- a/content/staging/docs/en/cookbooks-encryption.html
+++ b/content/staging/docs/en/cookbooks-encryption.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-encryption/index.html b/content/staging/docs/en/cookbooks-encryption/index.html
index 0643823..6d3a7b2 100644
--- a/content/staging/docs/en/cookbooks-encryption/index.html
+++ b/content/staging/docs/en/cookbooks-encryption/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-message-queue.html b/content/staging/docs/en/cookbooks-message-queue.html
index fea053f..705b48c 100644
--- a/content/staging/docs/en/cookbooks-message-queue.html
+++ b/content/staging/docs/en/cookbooks-message-queue.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-message-queue/index.html b/content/staging/docs/en/cookbooks-message-queue/index.html
index fea053f..705b48c 100644
--- a/content/staging/docs/en/cookbooks-message-queue/index.html
+++ b/content/staging/docs/en/cookbooks-message-queue/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-non-persistent.html b/content/staging/docs/en/cookbooks-non-persistent.html
index 874062d..8c4e7fb 100644
--- a/content/staging/docs/en/cookbooks-non-persistent.html
+++ b/content/staging/docs/en/cookbooks-non-persistent.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-non-persistent/index.html b/content/staging/docs/en/cookbooks-non-persistent/index.html
index 874062d..8c4e7fb 100644
--- a/content/staging/docs/en/cookbooks-non-persistent/index.html
+++ b/content/staging/docs/en/cookbooks-non-persistent/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-partitioned.html b/content/staging/docs/en/cookbooks-partitioned.html
index bf379fc..88740dc 100644
--- a/content/staging/docs/en/cookbooks-partitioned.html
+++ b/content/staging/docs/en/cookbooks-partitioned.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-partitioned/index.html b/content/staging/docs/en/cookbooks-partitioned/index.html
index bf379fc..88740dc 100644
--- a/content/staging/docs/en/cookbooks-partitioned/index.html
+++ b/content/staging/docs/en/cookbooks-partitioned/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-retention-expiry.html b/content/staging/docs/en/cookbooks-retention-expiry.html
index a6ff7a6..f928525 100644
--- a/content/staging/docs/en/cookbooks-retention-expiry.html
+++ b/content/staging/docs/en/cookbooks-retention-expiry.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-retention-expiry/index.html b/content/staging/docs/en/cookbooks-retention-expiry/index.html
index a6ff7a6..f928525 100644
--- a/content/staging/docs/en/cookbooks-retention-expiry/index.html
+++ b/content/staging/docs/en/cookbooks-retention-expiry/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-tiered-storage.html b/content/staging/docs/en/cookbooks-tiered-storage.html
index 53daad7..975826d 100644
--- a/content/staging/docs/en/cookbooks-tiered-storage.html
+++ b/content/staging/docs/en/cookbooks-tiered-storage.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/cookbooks-tiered-storage/index.html b/content/staging/docs/en/cookbooks-tiered-storage/index.html
index 53daad7..975826d 100644
--- a/content/staging/docs/en/cookbooks-tiered-storage/index.html
+++ b/content/staging/docs/en/cookbooks-tiered-storage/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-aws.html b/content/staging/docs/en/deploy-aws.html
index f730221..8289380 100644
--- a/content/staging/docs/en/deploy-aws.html
+++ b/content/staging/docs/en/deploy-aws.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-aws/index.html b/content/staging/docs/en/deploy-aws/index.html
index f730221..8289380 100644
--- a/content/staging/docs/en/deploy-aws/index.html
+++ b/content/staging/docs/en/deploy-aws/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-bare-metal-multi-cluster.html b/content/staging/docs/en/deploy-bare-metal-multi-cluster.html
index 3329974..9b0ecd1 100644
--- a/content/staging/docs/en/deploy-bare-metal-multi-cluster.html
+++ b/content/staging/docs/en/deploy-bare-metal-multi-cluster.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-bare-metal-multi-cluster/index.html b/content/staging/docs/en/deploy-bare-metal-multi-cluster/index.html
index 3329974..9b0ecd1 100644
--- a/content/staging/docs/en/deploy-bare-metal-multi-cluster/index.html
+++ b/content/staging/docs/en/deploy-bare-metal-multi-cluster/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-bare-metal.html b/content/staging/docs/en/deploy-bare-metal.html
index b17e2d8..aa37e56 100644
--- a/content/staging/docs/en/deploy-bare-metal.html
+++ b/content/staging/docs/en/deploy-bare-metal.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-bare-metal/index.html b/content/staging/docs/en/deploy-bare-metal/index.html
index b17e2d8..aa37e56 100644
--- a/content/staging/docs/en/deploy-bare-metal/index.html
+++ b/content/staging/docs/en/deploy-bare-metal/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-dcos.html b/content/staging/docs/en/deploy-dcos.html
index 27786b8..661e464 100644
--- a/content/staging/docs/en/deploy-dcos.html
+++ b/content/staging/docs/en/deploy-dcos.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-dcos/index.html b/content/staging/docs/en/deploy-dcos/index.html
index 27786b8..661e464 100644
--- a/content/staging/docs/en/deploy-dcos/index.html
+++ b/content/staging/docs/en/deploy-dcos/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-kubernetes.html b/content/staging/docs/en/deploy-kubernetes.html
index 1400cad..bb1c07f 100644
--- a/content/staging/docs/en/deploy-kubernetes.html
+++ b/content/staging/docs/en/deploy-kubernetes.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-kubernetes/index.html b/content/staging/docs/en/deploy-kubernetes/index.html
index 1400cad..bb1c07f 100644
--- a/content/staging/docs/en/deploy-kubernetes/index.html
+++ b/content/staging/docs/en/deploy-kubernetes/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-monitoring.html b/content/staging/docs/en/deploy-monitoring.html
index 1266188..dad9fd8 100644
--- a/content/staging/docs/en/deploy-monitoring.html
+++ b/content/staging/docs/en/deploy-monitoring.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/deploy-monitoring/index.html b/content/staging/docs/en/deploy-monitoring/index.html
index 1266188..dad9fd8 100644
--- a/content/staging/docs/en/deploy-monitoring/index.html
+++ b/content/staging/docs/en/deploy-monitoring/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-binary-protocol.html b/content/staging/docs/en/develop-binary-protocol.html
index 8be72bd..e039bf8 100644
--- a/content/staging/docs/en/develop-binary-protocol.html
+++ b/content/staging/docs/en/develop-binary-protocol.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-binary-protocol/index.html b/content/staging/docs/en/develop-binary-protocol/index.html
index 8be72bd..e039bf8 100644
--- a/content/staging/docs/en/develop-binary-protocol/index.html
+++ b/content/staging/docs/en/develop-binary-protocol/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-cpp.html b/content/staging/docs/en/develop-cpp.html
index 212e5f6..80f80a8 100644
--- a/content/staging/docs/en/develop-cpp.html
+++ b/content/staging/docs/en/develop-cpp.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-cpp/index.html b/content/staging/docs/en/develop-cpp/index.html
index 212e5f6..80f80a8 100644
--- a/content/staging/docs/en/develop-cpp/index.html
+++ b/content/staging/docs/en/develop-cpp/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-load-manager.html b/content/staging/docs/en/develop-load-manager.html
index a0850de..780ee19 100644
--- a/content/staging/docs/en/develop-load-manager.html
+++ b/content/staging/docs/en/develop-load-manager.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-load-manager/index.html b/content/staging/docs/en/develop-load-manager/index.html
index a0850de..780ee19 100644
--- a/content/staging/docs/en/develop-load-manager/index.html
+++ b/content/staging/docs/en/develop-load-manager/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-schema.html b/content/staging/docs/en/develop-schema.html
index 1fba5b6..0f20754 100644
--- a/content/staging/docs/en/develop-schema.html
+++ b/content/staging/docs/en/develop-schema.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-schema/index.html b/content/staging/docs/en/develop-schema/index.html
index 1fba5b6..0f20754 100644
--- a/content/staging/docs/en/develop-schema/index.html
+++ b/content/staging/docs/en/develop-schema/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-tools.html b/content/staging/docs/en/develop-tools.html
index 27436d6..88eb942 100644
--- a/content/staging/docs/en/develop-tools.html
+++ b/content/staging/docs/en/develop-tools.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/develop-tools/index.html b/content/staging/docs/en/develop-tools/index.html
index 27436d6..88eb942 100644
--- a/content/staging/docs/en/develop-tools/index.html
+++ b/content/staging/docs/en/develop-tools/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/functions-api.html b/content/staging/docs/en/functions-api.html
index 8028104..2c1589a 100644
--- a/content/staging/docs/en/functions-api.html
+++ b/content/staging/docs/en/functions-api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/en/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/en/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-api.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/en/functions-overview">Pulsar Functions</a> provides an easy-to-use API tha [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-api.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/en/functions-overview">Pulsar Functions</a> provides an easy-to-use API tha [...]
 <blockquote>
 <p>For a more in-depth overview of the Pulsar Functions feature, see the <a href="/staging/docs/en/functions-overview">Pulsar Functions overview</a>.</p>
 </blockquote>
@@ -49,8 +49,8 @@
 </ul>
 <p>You could use Pulsar Functions, for example, to set up the following processing chain:</p>
 <ul>
-<li>A <a href="#python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
-<li>A <a href="#java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
+<li>A <a href="#functions-for-python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
+<li>A <a href="#functions-for-java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
 <li>Finally, a Python function listens on the <code>results</code> topic and writes the results to a MySQL table</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-function"></a><a href="#example-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -67,7 +67,7 @@
 <li>No topics, subscription types, tenants, or namespaces are specified in the function logic itself. Instead, topics are specified upon <a href="#example-deployment">deployment</a>. This means that you can use and re-use Pulsar Functions across topics, tenants, and namespaces without needing to hard-code those attributes.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-deployment"></a><a href="#example-deployment" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/en/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/en/functions-deploying#local-run">local run</a> mode:</p>
+<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/en/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/en/functions-deploying#local-run-mode">local run</a> mode:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py sanitizer.py \          <span class="hljs-comment"># The Python file with the function's code</span>
   --className sanitizer \      <span class="hljs-comment"># The class or function holding the processing logic</span>
@@ -94,7 +94,7 @@
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{}!"</span>.format(input)
 </code></pre>
-<p>This function, however, would use the Pulsar Functions <a href="#python-sdk">SDK for Python</a>:</p>
+<p>This function, however, would use the Pulsar Functions <a href="#python-sdk-functions">SDK for Python</a>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">DisplayFunctionName</span><span class="hljs-params">(Function)</span>:</span>
@@ -110,22 +110,23 @@
 </ul>
 <p>In both languages, however, you can write your own custom SerDe logic for more complex, application-specific types. See the docs for <a href="#java-serde">Java</a> and <a href="#python-serde">Python</a> for language-specific instructions.</p>
 <h3><a class="anchor" aria-hidden="true" id="context"></a><a href="#context" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Both the <a href="#java-sdk">Java</a> and <a href="#python-sdk">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
+<p>Both the <a href="#java-sdk-functions">Java</a> and <a href="#python-sdk-functions">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
 <ul>
 <li>The name and ID of the Pulsar Function</li>
 <li>The message ID of each message. Each Pulsar message is automatically assigned an ID.</li>
 <li>The name of the topic on which the message was sent</li>
 <li>The names of all input topics as well as the output topic associated with the function</li>
-<li>The name of the class used for <a href="#serde">SerDe</a></li>
+<li>The name of the class used for <a href="#serialization-and-deserialization-serde">SerDe</a></li>
 <li>The <a href="/staging/docs/en/reference-terminology#tenant">tenant</a> and namespace associated with the function</li>
 <li>The ID of the Pulsar Functions instance running the function</li>
 <li>The version of the function</li>
-<li>The <a href="#logging">logger object</a> used by the function, which can be used to create function log messages</li>
+<li>The <a href="/staging/docs/en/functions-overview#logging">logger object</a> used by the function, which can be used to create function log messages</li>
 <li>Access to arbitrary <a href="#user-config">user config</a> values supplied via the CLI</li>
 <li>An interface for recording <a href="/staging/docs/en/functions-metrics">metrics</a></li>
+<li>An interface for storing and retrieving state in <a href="/staging/docs/en/functions-overview#state-storage">state storage</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="user-config"></a><a href="#user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>When you run or update Pulsar Functions created using the <a href="#apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
+<p>When you run or update Pulsar Functions created using the <a href="#available-apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name word-filter \
   <span class="hljs-comment"># Other function configs</span>
@@ -150,17 +151,17 @@
 <p>Writing Pulsar Functions in Java involves implementing one of two interfaces:</p>
 <ul>
 <li>The <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface</li>
-<li>The <a href="https://pulsar.incubator.apache.org/apiclient/org/apache/pulsar/functions/api/Function">Function</a>
- interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/functions/api/Context">Context</a>
+<li>The <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Function">Function</a>
+ interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Context">Context</a>
  object that you can use in a <a href="#context">variety of ways</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started"></a><a href="#getting-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#java-dependencies">dependencies</a> and package your function <a href="#java-packaging">as a JAR</a>.</p>
+<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#dependencies">dependencies</a> and package your function <a href="#packaging">as a JAR</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="dependencies"></a><a href="#dependencies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>How you get started writing Pulsar Functions in Java depends on which API you're using:</p>
 <ul>
-<li><p>If you're writing a <a href="#java-native">Java native function</a>, you won't need any external dependencies.</p></li>
-<li><p>If you're writing a <a href="#java-sdk">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
+<li><p>If you're writing a <a href="#java-native-functions">Java native function</a>, you won't need any external dependencies.</p></li>
+<li><p>If you're writing a <a href="#java-sdk-functions">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
 <p>Here's an example for a Maven <code>pom.xml</code> configuration file:</p>
 <pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
@@ -175,13 +176,13 @@
 </code></pre></li>
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="packaging"></a><a href="#packaging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
+<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native-functions">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk-functions">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="starter-repo"></a><a href="#starter-repo" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>If you'd like to get up and running quickly, you can use <a href="https://github.com/streamlio/pulsar-functions-java-starter">this repo</a>, which contains the necessary Maven configuration to build a fat JAR as well as some example functions.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-native-functions"></a><a href="#java-native-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>If your function doesn't require access to its <a href="#java-context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
+<p>If your function doesn't require access to its <a href="#context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">I</span>, <span class="hljs-title">O</span>&gt; </span>{
     <span class="hljs-function">O <span class="hljs-title">apply</span><span class="hljs-params">(I input)</span></span>;
 }
@@ -196,26 +197,29 @@
     }
 }
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk">Pulsar Functions Java SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk-functions">Pulsar Functions Java SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="java-native-examples"></a><a href="#java-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
-<p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There is one example Java native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="java-sdk-functions"></a><a href="#java-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#java-dependencies">above</a>.</p>
+<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#dependencies">above</a>.</p>
 <blockquote>
 <p>An easy way to get up and running with Pulsar Functions in Java is to clone the <a href="https://github.com/streamlio/pulsar-functions-java-starter"><code>pulsar-functions-java-starter</code></a> repo and follow the instructions there.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="java-sdk-examples"></a><a href="#java-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>There are several example Java SDK functions in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There are several example Java SDK functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function name</th><th style="text-align:left">Description</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ContextFunction.java"><code>ContextFunction</code></a></td><td style="text-align:left">Illustrates <a href="#context">context</a>-specific functionality like <a href="#java-logging">logging</a> and <a href="#java-metrics">metrics</a></td></tr>
-<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/CounterFunction.java"><code>CounterFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/en/functions-overview#counters">counters</a></td></tr>
+<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/WordCountFunction.java"><code>WordCountFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/en/functions-overview#state-storage">state-storage</a></td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ExclamationFunction.java"><code>ExclamationFunction</code></a></td><td style="text-align:left">A basic string manipulation function for the Java SDK</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/LoggingFunction.java"><code>LoggingFunction</code></a></td><td style="text-align:left">A function that shows how <a href="#java-logging">logging</a> works for Java</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/PublishFunction.java"><code>PublishFunction</code></a></td><td style="text-align:left">Publishes results to a topic specified in the function's <a href="#java-user-config">user config</a> (rather than on the function's output topic)</td></tr>
@@ -291,7 +295,7 @@
 <p>When using Java functions in which the output type is <code>Void</code>, the function must <em>always</em> return <code>null</code>.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-serde"></a><a href="#java-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
 <ul>
 <li><code>String</code></li>
 <li><code>Double</code></li>
@@ -345,7 +349,7 @@
 <li>Package the <code>Tweet</code> and <code>TweetSerde</code> classes into a JAR</li>
 <li>Specify a path to the JAR and SerDe class name when deploying the function</li>
 </ul>
-<p>Here's an example <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-create"><code>create</code></a> operation:</p>
+<p>Here's an example <a href="/staging/docs/en/pulsar-admin#create-1"><code>create</code></a> operation:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar /path/to/your.jar \
   --outputSerdeClassName com.example.serde.TweetSerde \
@@ -356,7 +360,7 @@
 <p>Pulsar does not store your custom SerDe classes separately from your Pulsar Functions. That means that you'll need to always include your SerDe classes in your function JARs. If not, Pulsar will return an error.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-logging"></a><a href="#java-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions that use the <a href="#java-sdk">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#java-sdk-functions">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 <span class="hljs-keyword">import</span> org.slf4j.Logger;
@@ -386,7 +390,7 @@
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>persistent://public/default/logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="java-user-config"></a><a href="#java-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>The Java SDK's <a href="#java-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Java SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -424,7 +428,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>For all key/value pairs passed to Java Pulsar Functions, both the key <em>and</em> the value are <code>String</code>s. If you'd like the value to be of a different type, you will need to deserialize from the <code>String</code> type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-metrics"></a><a href="#java-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>You can record metrics using the <a href="#java-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 
@@ -450,7 +454,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>Writing Pulsar Functions in Python entails implementing one of two things:</p>
 <ul>
 <li>A <code>process</code> function that takes an input (message data from the function's input topic(s)), applies some kind of logic to it, and either returns an object (to be published to the function's output topic) or <code>pass</code>es and thus doesn't produce a message</li>
-<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#python-context">context</a> object</li>
+<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#context">context</a> object</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started-1"></a><a href="#getting-started-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>Regardless of which <a href="/staging/docs/en/functions-deploying">deployment mode</a> you're using, you'll need to install the following Python libraries on any machine that's running Pulsar Functions written in Python:</p>
@@ -461,7 +465,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <li>grpcio</li>
 <li>grpcio-tools</li>
 </ul>
-<p>That could be your local machine for <a href="/staging/docs/en/functions-deploying#local-run">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/en/reference-terminology#broker">broker</a> for <a href="/staging/docs/en/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
+<p>That could be your local machine for <a href="/staging/docs/en/functions-deploying#local-run-mode">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/en/reference-terminology#broker">broker</a> for <a href="/staging/docs/en/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
 <pre><code class="hljs css languages- bash">$ pip install pulsar-client protobuf futures grpcio grpcio-tools
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="packaging-1"></a><a href="#packaging-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
@@ -471,16 +475,19 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{0}!"</span>.format(input)
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk">Pulsar Functions Python SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk-functions">Pulsar Functions Python SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-native-examples"></a><a href="#python-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>There is one example Python native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There is one example Python native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="python-sdk-functions"></a><a href="#python-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>To get started developing Pulsar Functions using the Python SDK, you'll need to install the <a href="/api/python"><code>pulsar-client</code></a> library using the instructions <a href="#getting-started">above</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-sdk-examples"></a><a href="#python-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>There are several example Python functions in <a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There are several example Python functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function file</th><th style="text-align:left">Description</th></tr>
@@ -514,7 +521,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="python-serde"></a><a href="#python-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native">native</a> functions and <a href="#python-sdk">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/en/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/en/functions-deploying#local-run">running</a> functions. Here's an example:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native-functions">native</a> functions and <a href="#python-sdk-functions">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/en/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/en/functions-deploying#local-run-mode">running</a> functions. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -569,7 +576,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
         <span class="hljs-keyword">return</span> Tweet(tweet_components[<span class="hljs-number">0</span>], tweet_componentsp[<span class="hljs-number">1</span>])
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-logging"></a><a href="#python-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>Pulsar Functions that use the <a href="#python-sdk">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#python-sdk-functions">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">LoggingFunction</span><span class="hljs-params">(Function)</span>:</span>
@@ -590,7 +597,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="python-user-config"></a><a href="#python-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>The Python SDK's <a href="#python-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Python SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs \</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -608,7 +615,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
             logger.info(<span class="hljs-string">"The word of the day is {0}"</span>.format(wotd))
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-metrics"></a><a href="#python-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>You can record metrics using the <a href="#python-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MetricRecorderFunction</span><span class="hljs-params">(Function)</span>:</span>
diff --git a/content/staging/docs/en/functions-api/index.html b/content/staging/docs/en/functions-api/index.html
index 8028104..2c1589a 100644
--- a/content/staging/docs/en/functions-api/index.html
+++ b/content/staging/docs/en/functions-api/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/en/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/en/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-api.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/en/functions-overview">Pulsar Functions</a> provides an easy-to-use API tha [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-api.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/en/functions-overview">Pulsar Functions</a> provides an easy-to-use API tha [...]
 <blockquote>
 <p>For a more in-depth overview of the Pulsar Functions feature, see the <a href="/staging/docs/en/functions-overview">Pulsar Functions overview</a>.</p>
 </blockquote>
@@ -49,8 +49,8 @@
 </ul>
 <p>You could use Pulsar Functions, for example, to set up the following processing chain:</p>
 <ul>
-<li>A <a href="#python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
-<li>A <a href="#java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
+<li>A <a href="#functions-for-python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
+<li>A <a href="#functions-for-java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
 <li>Finally, a Python function listens on the <code>results</code> topic and writes the results to a MySQL table</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-function"></a><a href="#example-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -67,7 +67,7 @@
 <li>No topics, subscription types, tenants, or namespaces are specified in the function logic itself. Instead, topics are specified upon <a href="#example-deployment">deployment</a>. This means that you can use and re-use Pulsar Functions across topics, tenants, and namespaces without needing to hard-code those attributes.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-deployment"></a><a href="#example-deployment" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/en/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/en/functions-deploying#local-run">local run</a> mode:</p>
+<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/en/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/en/functions-deploying#local-run-mode">local run</a> mode:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py sanitizer.py \          <span class="hljs-comment"># The Python file with the function's code</span>
   --className sanitizer \      <span class="hljs-comment"># The class or function holding the processing logic</span>
@@ -94,7 +94,7 @@
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{}!"</span>.format(input)
 </code></pre>
-<p>This function, however, would use the Pulsar Functions <a href="#python-sdk">SDK for Python</a>:</p>
+<p>This function, however, would use the Pulsar Functions <a href="#python-sdk-functions">SDK for Python</a>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">DisplayFunctionName</span><span class="hljs-params">(Function)</span>:</span>
@@ -110,22 +110,23 @@
 </ul>
 <p>In both languages, however, you can write your own custom SerDe logic for more complex, application-specific types. See the docs for <a href="#java-serde">Java</a> and <a href="#python-serde">Python</a> for language-specific instructions.</p>
 <h3><a class="anchor" aria-hidden="true" id="context"></a><a href="#context" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Both the <a href="#java-sdk">Java</a> and <a href="#python-sdk">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
+<p>Both the <a href="#java-sdk-functions">Java</a> and <a href="#python-sdk-functions">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
 <ul>
 <li>The name and ID of the Pulsar Function</li>
 <li>The message ID of each message. Each Pulsar message is automatically assigned an ID.</li>
 <li>The name of the topic on which the message was sent</li>
 <li>The names of all input topics as well as the output topic associated with the function</li>
-<li>The name of the class used for <a href="#serde">SerDe</a></li>
+<li>The name of the class used for <a href="#serialization-and-deserialization-serde">SerDe</a></li>
 <li>The <a href="/staging/docs/en/reference-terminology#tenant">tenant</a> and namespace associated with the function</li>
 <li>The ID of the Pulsar Functions instance running the function</li>
 <li>The version of the function</li>
-<li>The <a href="#logging">logger object</a> used by the function, which can be used to create function log messages</li>
+<li>The <a href="/staging/docs/en/functions-overview#logging">logger object</a> used by the function, which can be used to create function log messages</li>
 <li>Access to arbitrary <a href="#user-config">user config</a> values supplied via the CLI</li>
 <li>An interface for recording <a href="/staging/docs/en/functions-metrics">metrics</a></li>
+<li>An interface for storing and retrieving state in <a href="/staging/docs/en/functions-overview#state-storage">state storage</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="user-config"></a><a href="#user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>When you run or update Pulsar Functions created using the <a href="#apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
+<p>When you run or update Pulsar Functions created using the <a href="#available-apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name word-filter \
   <span class="hljs-comment"># Other function configs</span>
@@ -150,17 +151,17 @@
 <p>Writing Pulsar Functions in Java involves implementing one of two interfaces:</p>
 <ul>
 <li>The <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface</li>
-<li>The <a href="https://pulsar.incubator.apache.org/apiclient/org/apache/pulsar/functions/api/Function">Function</a>
- interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/functions/api/Context">Context</a>
+<li>The <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Function">Function</a>
+ interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Context">Context</a>
  object that you can use in a <a href="#context">variety of ways</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started"></a><a href="#getting-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#java-dependencies">dependencies</a> and package your function <a href="#java-packaging">as a JAR</a>.</p>
+<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#dependencies">dependencies</a> and package your function <a href="#packaging">as a JAR</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="dependencies"></a><a href="#dependencies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>How you get started writing Pulsar Functions in Java depends on which API you're using:</p>
 <ul>
-<li><p>If you're writing a <a href="#java-native">Java native function</a>, you won't need any external dependencies.</p></li>
-<li><p>If you're writing a <a href="#java-sdk">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
+<li><p>If you're writing a <a href="#java-native-functions">Java native function</a>, you won't need any external dependencies.</p></li>
+<li><p>If you're writing a <a href="#java-sdk-functions">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
 <p>Here's an example for a Maven <code>pom.xml</code> configuration file:</p>
 <pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
@@ -175,13 +176,13 @@
 </code></pre></li>
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="packaging"></a><a href="#packaging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
+<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native-functions">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk-functions">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="starter-repo"></a><a href="#starter-repo" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>If you'd like to get up and running quickly, you can use <a href="https://github.com/streamlio/pulsar-functions-java-starter">this repo</a>, which contains the necessary Maven configuration to build a fat JAR as well as some example functions.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-native-functions"></a><a href="#java-native-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>If your function doesn't require access to its <a href="#java-context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
+<p>If your function doesn't require access to its <a href="#context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">I</span>, <span class="hljs-title">O</span>&gt; </span>{
     <span class="hljs-function">O <span class="hljs-title">apply</span><span class="hljs-params">(I input)</span></span>;
 }
@@ -196,26 +197,29 @@
     }
 }
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk">Pulsar Functions Java SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk-functions">Pulsar Functions Java SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="java-native-examples"></a><a href="#java-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
-<p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There is one example Java native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="java-sdk-functions"></a><a href="#java-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#java-dependencies">above</a>.</p>
+<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#dependencies">above</a>.</p>
 <blockquote>
 <p>An easy way to get up and running with Pulsar Functions in Java is to clone the <a href="https://github.com/streamlio/pulsar-functions-java-starter"><code>pulsar-functions-java-starter</code></a> repo and follow the instructions there.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="java-sdk-examples"></a><a href="#java-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>There are several example Java SDK functions in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There are several example Java SDK functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function name</th><th style="text-align:left">Description</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ContextFunction.java"><code>ContextFunction</code></a></td><td style="text-align:left">Illustrates <a href="#context">context</a>-specific functionality like <a href="#java-logging">logging</a> and <a href="#java-metrics">metrics</a></td></tr>
-<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/CounterFunction.java"><code>CounterFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/en/functions-overview#counters">counters</a></td></tr>
+<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/WordCountFunction.java"><code>WordCountFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/en/functions-overview#state-storage">state-storage</a></td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ExclamationFunction.java"><code>ExclamationFunction</code></a></td><td style="text-align:left">A basic string manipulation function for the Java SDK</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/LoggingFunction.java"><code>LoggingFunction</code></a></td><td style="text-align:left">A function that shows how <a href="#java-logging">logging</a> works for Java</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/PublishFunction.java"><code>PublishFunction</code></a></td><td style="text-align:left">Publishes results to a topic specified in the function's <a href="#java-user-config">user config</a> (rather than on the function's output topic)</td></tr>
@@ -291,7 +295,7 @@
 <p>When using Java functions in which the output type is <code>Void</code>, the function must <em>always</em> return <code>null</code>.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-serde"></a><a href="#java-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
 <ul>
 <li><code>String</code></li>
 <li><code>Double</code></li>
@@ -345,7 +349,7 @@
 <li>Package the <code>Tweet</code> and <code>TweetSerde</code> classes into a JAR</li>
 <li>Specify a path to the JAR and SerDe class name when deploying the function</li>
 </ul>
-<p>Here's an example <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-create"><code>create</code></a> operation:</p>
+<p>Here's an example <a href="/staging/docs/en/pulsar-admin#create-1"><code>create</code></a> operation:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar /path/to/your.jar \
   --outputSerdeClassName com.example.serde.TweetSerde \
@@ -356,7 +360,7 @@
 <p>Pulsar does not store your custom SerDe classes separately from your Pulsar Functions. That means that you'll need to always include your SerDe classes in your function JARs. If not, Pulsar will return an error.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-logging"></a><a href="#java-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions that use the <a href="#java-sdk">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#java-sdk-functions">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 <span class="hljs-keyword">import</span> org.slf4j.Logger;
@@ -386,7 +390,7 @@
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>persistent://public/default/logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="java-user-config"></a><a href="#java-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>The Java SDK's <a href="#java-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Java SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -424,7 +428,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>For all key/value pairs passed to Java Pulsar Functions, both the key <em>and</em> the value are <code>String</code>s. If you'd like the value to be of a different type, you will need to deserialize from the <code>String</code> type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-metrics"></a><a href="#java-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>You can record metrics using the <a href="#java-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 
@@ -450,7 +454,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>Writing Pulsar Functions in Python entails implementing one of two things:</p>
 <ul>
 <li>A <code>process</code> function that takes an input (message data from the function's input topic(s)), applies some kind of logic to it, and either returns an object (to be published to the function's output topic) or <code>pass</code>es and thus doesn't produce a message</li>
-<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#python-context">context</a> object</li>
+<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#context">context</a> object</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started-1"></a><a href="#getting-started-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>Regardless of which <a href="/staging/docs/en/functions-deploying">deployment mode</a> you're using, you'll need to install the following Python libraries on any machine that's running Pulsar Functions written in Python:</p>
@@ -461,7 +465,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <li>grpcio</li>
 <li>grpcio-tools</li>
 </ul>
-<p>That could be your local machine for <a href="/staging/docs/en/functions-deploying#local-run">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/en/reference-terminology#broker">broker</a> for <a href="/staging/docs/en/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
+<p>That could be your local machine for <a href="/staging/docs/en/functions-deploying#local-run-mode">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/en/reference-terminology#broker">broker</a> for <a href="/staging/docs/en/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
 <pre><code class="hljs css languages- bash">$ pip install pulsar-client protobuf futures grpcio grpcio-tools
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="packaging-1"></a><a href="#packaging-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
@@ -471,16 +475,19 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{0}!"</span>.format(input)
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk">Pulsar Functions Python SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk-functions">Pulsar Functions Python SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-native-examples"></a><a href="#python-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>There is one example Python native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There is one example Python native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="python-sdk-functions"></a><a href="#python-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>To get started developing Pulsar Functions using the Python SDK, you'll need to install the <a href="/api/python"><code>pulsar-client</code></a> library using the instructions <a href="#getting-started">above</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-sdk-examples"></a><a href="#python-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>There are several example Python functions in <a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There are several example Python functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function file</th><th style="text-align:left">Description</th></tr>
@@ -514,7 +521,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="python-serde"></a><a href="#python-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native">native</a> functions and <a href="#python-sdk">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/en/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/en/functions-deploying#local-run">running</a> functions. Here's an example:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native-functions">native</a> functions and <a href="#python-sdk-functions">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/en/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/en/functions-deploying#local-run-mode">running</a> functions. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -569,7 +576,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
         <span class="hljs-keyword">return</span> Tweet(tweet_components[<span class="hljs-number">0</span>], tweet_componentsp[<span class="hljs-number">1</span>])
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-logging"></a><a href="#python-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>Pulsar Functions that use the <a href="#python-sdk">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#python-sdk-functions">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">LoggingFunction</span><span class="hljs-params">(Function)</span>:</span>
@@ -590,7 +597,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="python-user-config"></a><a href="#python-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>The Python SDK's <a href="#python-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Python SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs \</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -608,7 +615,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
             logger.info(<span class="hljs-string">"The word of the day is {0}"</span>.format(wotd))
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-metrics"></a><a href="#python-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>You can record metrics using the <a href="#python-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MetricRecorderFunction</span><span class="hljs-params">(Function)</span>:</span>
diff --git a/content/staging/docs/en/functions-deploying.html b/content/staging/docs/en/functions-deploying.html
index ca476dc..8aaf7d5 100644
--- a/content/staging/docs/en/functions-deploying.html
+++ b/content/staging/docs/en/functions-deploying.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -55,7 +55,7 @@
 </ul>
 <p>If you're running a non-<a href="/staging/docs/en/reference-terminology#standalone">standalone</a> cluster, you'll need to obtain the service URL for the cluster. How you obtain the service URL will depend on how you deployed your Pulsar cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="command-line-interface"></a><a href="#command-line-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/en/pulsar-admin#functions-trigger"><code>trigger</code></a> for <a href="#triggering">triggering</a> functions, <a href="/staging/d [...]
+<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/en/pulsar-admin#trigger"><code>trigger</code></a> for <a href="#triggering-pulsar-functions">triggering</a> functions, <a href="/st [...]
 <h3><a class="anchor" aria-hidden="true" id="fully-qualified-function-name-fqfn"></a><a href="#fully-qualified-function-name-fqfn" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <p>Each Pulsar Function has a <strong>Fully Qualified Function Name</strong> (FQFN) that consists of three elements: the function's tenant, namespace, and function name. FQFN's look like this:</p>
 <pre><code class="hljs css languages- http">tenant/namespace/name
@@ -86,7 +86,7 @@
 </code></pre>
 <p>The created function would have default values supplied for the function name (<code>MyFunction</code>), tenant (<code>public</code>), namespace (<code>default</code>), subscription type (<code>SHARED</code>), processing guarantees (<code>ATLEAST_ONCE</code>), and Pulsar service URL (<code>pulsar://localhost:6650</code>).</p>
 <h2><a class="anchor" aria-hidden="true" id="local-run-mode"></a><a href="#local-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#functions-localrun"><code>localrun</code></a> command:</p>
+<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#localrun"><code>localrun</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -99,7 +99,7 @@
   <span class="hljs-comment"># Other function parameters</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="cluster-mode"></a><a href="#cluster-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
+<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run-mode">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#create-1"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -107,7 +107,7 @@
   --output persistent://public/default/output-1
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="updating-cluster-mode-functions"></a><a href="#updating-cluster-mode-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>You can use the <a href="/staging/docs/en/pulsar-admin#functions-update"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
+<p>You can use the <a href="/staging/docs/en/pulsar-admin#update-1"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -115,13 +115,13 @@
   --output persistent://public/default/new-output-topic
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="parallelism"></a><a href="#parallelism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>Pulsar Functions run as processes called <strong>instances</strong>. When you run a Pulsar Function, it runs as a single instance by default (and in <a href="#local-run">local run mode</a> you can <em>only</em> run a single instance of a function).</p>
+<p>Pulsar Functions run as processes called <strong>instances</strong>. When you run a Pulsar Function, it runs as a single instance by default (and in <a href="#local-run-mode">local run mode</a> you can <em>only</em> run a single instance of a function).</p>
 <p>You can also specify the <em>parallelism</em> of a function, i.e. the number of instances to run, when you create the function. You can set the parallelism factor using the <code>--parallelism</code> flag of the <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --parallelism 3 \
   <span class="hljs-comment"># Other function info</span>
 </code></pre>
-<p>You can adjust the parallelism of an already created function using the <a href="/staging/docs/en/pulsar-admin#functions-update"><code>update</code></a> interface.</p>
+<p>You can adjust the parallelism of an already created function using the <a href="/staging/docs/en/pulsar-admin#update-1"><code>update</code></a> interface.</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --parallelism 5 \
   <span class="hljs-comment"># Other function</span>
@@ -139,7 +139,7 @@
   --functionConfigFile <span class="hljs-keyword">function</span>-config.yaml
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="function-instance-resources"></a><a href="#function-instance-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>When you run Pulsar Functions in <a href="#cluster-run">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
+<p>When you run Pulsar Functions in <a href="#cluster-mode">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Resource</th><th style="text-align:left">Specified as...</th><th style="text-align:left">Runtimes</th></tr>
@@ -165,14 +165,14 @@
 <h2><a class="anchor" aria-hidden="true" id="triggering-pulsar-functions"></a><a href="#triggering-pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>If a Pulsar Function is running in <a href="#cluster-mode">cluster mode</a>, you can <strong>trigger</strong> it at any time using the command line. Triggering a function means that you send a message with a specific value to the function and get the function's output (if any) via the command line.</p>
 <blockquote>
-<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#functions-trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
+<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
 </blockquote>
-<p>To show an example of function triggering, let's start with a simple <a href="/staging/docs/en/functions-api#python">Python function</a> that returns a simple string based on the input:</p>
+<p>To show an example of function triggering, let's start with a simple <a href="/staging/docs/en/functions-api#functions-for-python">Python function</a> that returns a simple string based on the input:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-comment"># myfunc.py</span>
 <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"This function has been triggered with a value of {0}"</span>.format(input)
 </code></pre>
-<p>Let's run that function in <a href="/staging/docs/en/functions-deploying#local-run">local run mode</a>:</p>
+<p>Let's run that function in <a href="/staging/docs/en/functions-deploying#local-run-mode">local run mode</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -182,7 +182,7 @@
   --inputs persistent://public/default/<span class="hljs-keyword">in</span> \
   --output persistent://public/default/out
 </code></pre>
-<p>Now let's make a consumer listen on the output topic for messages coming from the <code>myfunc</code> function using the <a href="/staging/docs/en/reference-cli-tools#pulsar-client-consume"><code>pulsar-client consume</code></a> command:</p>
+<p>Now let's make a consumer listen on the output topic for messages coming from the <code>myfunc</code> function using the <a href="/staging/docs/en/reference-cli-tools#consume"><code>pulsar-client consume</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-client consume persistent://public/default/out \
   --subscription-name my-subscription
   --num-messages 0 <span class="hljs-comment"># Listen indefinitely</span>
@@ -202,17 +202,7 @@ This <span class="hljs-keyword">function</span> <span class="hljs-title">has</sp
 <h4><a class="anchor" aria-hidden="true" id="topic-info-not-required"></a><a href="#topic-info-not-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>In the <code>trigger</code> command above, you may have noticed that you only need to specify basic information about the function (tenant, namespace, and name). To trigger the function, you didn't need to know the function's input topic(s).</p>
 </blockquote>
-<!--
-## Subscription types
-<p>Pulsar supports three different <a href="/staging/docs/en/concepts-messaging#subscription-modes">subscription types</a> (or subscription modes) for Pulsar clients:</p>
-<ul>
-<li>With <a href="/staging/docs/en/concepts-messaging#exclusive">exclusive</a> subscriptions, only a single <a href="/staging/docs/en/reference-terminology#consumer">consumer</a> is allowed to attach to the subscription.</li>
-<li>With <a href="/staging/docs/en/concepts-messaging#shared">shared</a> . Please note that strict message ordering is <em>not</em> guaranteed with shared subscriptions.</li>
-<li>With <a href="/staging/docs/en/concepts-messaging#failover">failover</a> subscriptions</li>
-</ul>
-<p>Pulsar Functions can also be assigned a subscription type when you <a href="#cluster-mode">create</a> them or run them <a href="#local-run">locally</a>. In cluster mode, the subscription can also be <a href="#updating">updated</a> after the function has been created.
---&gt;</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-api">← The Pulsar Functions API</a><a class="docs-next button" href="/staging/docs/en/functions-guarantees">Processing guarantees →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements">Requirements</a></li><li><a href="#command-line-interface">Command-line interface</a><ul class="toc-headings"><li><a href="#fully-qualified-functi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-api">← The Pulsar Functions API</a><a class="docs-next button" href="/staging/docs/en/functions-guarantees">Processing guarantees →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements">Requirements</a></li><li><a href="#command-line-interface">Command-line interface</a><ul class="toc-headings"><li><a href="#fully-qualified-functi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/en/functions-deploying/index.html b/content/staging/docs/en/functions-deploying/index.html
index ca476dc..8aaf7d5 100644
--- a/content/staging/docs/en/functions-deploying/index.html
+++ b/content/staging/docs/en/functions-deploying/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -55,7 +55,7 @@
 </ul>
 <p>If you're running a non-<a href="/staging/docs/en/reference-terminology#standalone">standalone</a> cluster, you'll need to obtain the service URL for the cluster. How you obtain the service URL will depend on how you deployed your Pulsar cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="command-line-interface"></a><a href="#command-line-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/en/pulsar-admin#functions-trigger"><code>trigger</code></a> for <a href="#triggering">triggering</a> functions, <a href="/staging/d [...]
+<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/en/pulsar-admin#trigger"><code>trigger</code></a> for <a href="#triggering-pulsar-functions">triggering</a> functions, <a href="/st [...]
 <h3><a class="anchor" aria-hidden="true" id="fully-qualified-function-name-fqfn"></a><a href="#fully-qualified-function-name-fqfn" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <p>Each Pulsar Function has a <strong>Fully Qualified Function Name</strong> (FQFN) that consists of three elements: the function's tenant, namespace, and function name. FQFN's look like this:</p>
 <pre><code class="hljs css languages- http">tenant/namespace/name
@@ -86,7 +86,7 @@
 </code></pre>
 <p>The created function would have default values supplied for the function name (<code>MyFunction</code>), tenant (<code>public</code>), namespace (<code>default</code>), subscription type (<code>SHARED</code>), processing guarantees (<code>ATLEAST_ONCE</code>), and Pulsar service URL (<code>pulsar://localhost:6650</code>).</p>
 <h2><a class="anchor" aria-hidden="true" id="local-run-mode"></a><a href="#local-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#functions-localrun"><code>localrun</code></a> command:</p>
+<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#localrun"><code>localrun</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -99,7 +99,7 @@
   <span class="hljs-comment"># Other function parameters</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="cluster-mode"></a><a href="#cluster-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
+<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run-mode">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#create-1"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -107,7 +107,7 @@
   --output persistent://public/default/output-1
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="updating-cluster-mode-functions"></a><a href="#updating-cluster-mode-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>You can use the <a href="/staging/docs/en/pulsar-admin#functions-update"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
+<p>You can use the <a href="/staging/docs/en/pulsar-admin#update-1"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -115,13 +115,13 @@
   --output persistent://public/default/new-output-topic
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="parallelism"></a><a href="#parallelism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>Pulsar Functions run as processes called <strong>instances</strong>. When you run a Pulsar Function, it runs as a single instance by default (and in <a href="#local-run">local run mode</a> you can <em>only</em> run a single instance of a function).</p>
+<p>Pulsar Functions run as processes called <strong>instances</strong>. When you run a Pulsar Function, it runs as a single instance by default (and in <a href="#local-run-mode">local run mode</a> you can <em>only</em> run a single instance of a function).</p>
 <p>You can also specify the <em>parallelism</em> of a function, i.e. the number of instances to run, when you create the function. You can set the parallelism factor using the <code>--parallelism</code> flag of the <a href="/staging/docs/en/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --parallelism 3 \
   <span class="hljs-comment"># Other function info</span>
 </code></pre>
-<p>You can adjust the parallelism of an already created function using the <a href="/staging/docs/en/pulsar-admin#functions-update"><code>update</code></a> interface.</p>
+<p>You can adjust the parallelism of an already created function using the <a href="/staging/docs/en/pulsar-admin#update-1"><code>update</code></a> interface.</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --parallelism 5 \
   <span class="hljs-comment"># Other function</span>
@@ -139,7 +139,7 @@
   --functionConfigFile <span class="hljs-keyword">function</span>-config.yaml
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="function-instance-resources"></a><a href="#function-instance-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>When you run Pulsar Functions in <a href="#cluster-run">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
+<p>When you run Pulsar Functions in <a href="#cluster-mode">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Resource</th><th style="text-align:left">Specified as...</th><th style="text-align:left">Runtimes</th></tr>
@@ -165,14 +165,14 @@
 <h2><a class="anchor" aria-hidden="true" id="triggering-pulsar-functions"></a><a href="#triggering-pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>If a Pulsar Function is running in <a href="#cluster-mode">cluster mode</a>, you can <strong>trigger</strong> it at any time using the command line. Triggering a function means that you send a message with a specific value to the function and get the function's output (if any) via the command line.</p>
 <blockquote>
-<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#functions-trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
+<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
 </blockquote>
-<p>To show an example of function triggering, let's start with a simple <a href="/staging/docs/en/functions-api#python">Python function</a> that returns a simple string based on the input:</p>
+<p>To show an example of function triggering, let's start with a simple <a href="/staging/docs/en/functions-api#functions-for-python">Python function</a> that returns a simple string based on the input:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-comment"># myfunc.py</span>
 <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"This function has been triggered with a value of {0}"</span>.format(input)
 </code></pre>
-<p>Let's run that function in <a href="/staging/docs/en/functions-deploying#local-run">local run mode</a>:</p>
+<p>Let's run that function in <a href="/staging/docs/en/functions-deploying#local-run-mode">local run mode</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -182,7 +182,7 @@
   --inputs persistent://public/default/<span class="hljs-keyword">in</span> \
   --output persistent://public/default/out
 </code></pre>
-<p>Now let's make a consumer listen on the output topic for messages coming from the <code>myfunc</code> function using the <a href="/staging/docs/en/reference-cli-tools#pulsar-client-consume"><code>pulsar-client consume</code></a> command:</p>
+<p>Now let's make a consumer listen on the output topic for messages coming from the <code>myfunc</code> function using the <a href="/staging/docs/en/reference-cli-tools#consume"><code>pulsar-client consume</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-client consume persistent://public/default/out \
   --subscription-name my-subscription
   --num-messages 0 <span class="hljs-comment"># Listen indefinitely</span>
@@ -202,17 +202,7 @@ This <span class="hljs-keyword">function</span> <span class="hljs-title">has</sp
 <h4><a class="anchor" aria-hidden="true" id="topic-info-not-required"></a><a href="#topic-info-not-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>In the <code>trigger</code> command above, you may have noticed that you only need to specify basic information about the function (tenant, namespace, and name). To trigger the function, you didn't need to know the function's input topic(s).</p>
 </blockquote>
-<!--
-## Subscription types
-<p>Pulsar supports three different <a href="/staging/docs/en/concepts-messaging#subscription-modes">subscription types</a> (or subscription modes) for Pulsar clients:</p>
-<ul>
-<li>With <a href="/staging/docs/en/concepts-messaging#exclusive">exclusive</a> subscriptions, only a single <a href="/staging/docs/en/reference-terminology#consumer">consumer</a> is allowed to attach to the subscription.</li>
-<li>With <a href="/staging/docs/en/concepts-messaging#shared">shared</a> . Please note that strict message ordering is <em>not</em> guaranteed with shared subscriptions.</li>
-<li>With <a href="/staging/docs/en/concepts-messaging#failover">failover</a> subscriptions</li>
-</ul>
-<p>Pulsar Functions can also be assigned a subscription type when you <a href="#cluster-mode">create</a> them or run them <a href="#local-run">locally</a>. In cluster mode, the subscription can also be <a href="#updating">updated</a> after the function has been created.
---&gt;</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-api">← The Pulsar Functions API</a><a class="docs-next button" href="/staging/docs/en/functions-guarantees">Processing guarantees →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements">Requirements</a></li><li><a href="#command-line-interface">Command-line interface</a><ul class="toc-headings"><li><a href="#fully-qualified-functi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-api">← The Pulsar Functions API</a><a class="docs-next button" href="/staging/docs/en/functions-guarantees">Processing guarantees →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements">Requirements</a></li><li><a href="#command-line-interface">Command-line interface</a><ul class="toc-headings"><li><a href="#fully-qualified-functi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/en/functions-guarantees.html b/content/staging/docs/en/functions-guarantees.html
index 4fb8265..bc88e44 100644
--- a/content/staging/docs/en/functions-guarantees.html
+++ b/content/staging/docs/en/functions-guarantees.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-gaurantees.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions provides three different messaging semantics that you can apply to any function:</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-guarantees.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions provides three different messaging semantics that you can apply to any function:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">Description</th></tr>
@@ -45,7 +45,7 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="applying-processing-guarantees-to-a-function"></a><a href="#applying-processing-guarantees-to-a-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v [...]
-<p>You can set the processing guarantees for a Pulsar Function when you create the Function. This <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-create"><code>pulsar-function create</code></a> command, for example, would apply effectively-once guarantees to the Function:</p>
+<p>You can set the processing guarantees for a Pulsar Function when you create the Function. This <a href="/staging/docs/en/pulsar-admin#create-1"><code>pulsar-function create</code></a> command, for example, would apply effectively-once guarantees to the Function:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -60,12 +60,12 @@
 <p>By default, Pulsar Functions provide at-most-once delivery guarantees. So if you create a function without supplying a value for the <code>--processingGuarantees</code> flag, then the function will provide at-most-once guarantees.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="updating-the-processing-guarantees-of-a-function"></a><a href="#updating-the-processing-guarantees-of-a-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9z [...]
-<p>You can change the processing guarantees applied to a function once it's already been created using the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-update"><code>update</code></a> command. Here's an example:</p>
+<p>You can change the processing guarantees applied to a function once it's already been created using the <a href="/staging/docs/en/pulsar-admin#update-1"><code>update</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processingGuarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-deploying">← Deploying and managing Pulsar Functions</a><a class="docs-next button" href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#applying-processing-guarantees-to-a-function">Applying processing guarantees to a function</a></li><li><a href="#updating-the-processin [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-deploying">← Deploying and managing Pulsar Functions</a><a class="docs-next button" href="/staging/docs/en/functions-state">Pulsar Functions State Storage (Developer Preview) →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#applying-processing-guarantees-to-a-function">Applying processing guarantees to a function</a></li><li><a href="#up [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/en/functions-guarantees/index.html b/content/staging/docs/en/functions-guarantees/index.html
index 4fb8265..bc88e44 100644
--- a/content/staging/docs/en/functions-guarantees/index.html
+++ b/content/staging/docs/en/functions-guarantees/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-gaurantees.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions provides three different messaging semantics that you can apply to any function:</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-guarantees.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Processing guarantees</h1></header><article><div><span><p>Pulsar Functions provides three different messaging semantics that you can apply to any function:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Delivery semantics</th><th style="text-align:left">Description</th></tr>
@@ -45,7 +45,7 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="applying-processing-guarantees-to-a-function"></a><a href="#applying-processing-guarantees-to-a-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v [...]
-<p>You can set the processing guarantees for a Pulsar Function when you create the Function. This <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-create"><code>pulsar-function create</code></a> command, for example, would apply effectively-once guarantees to the Function:</p>
+<p>You can set the processing guarantees for a Pulsar Function when you create the Function. This <a href="/staging/docs/en/pulsar-admin#create-1"><code>pulsar-function create</code></a> command, for example, would apply effectively-once guarantees to the Function:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
@@ -60,12 +60,12 @@
 <p>By default, Pulsar Functions provide at-most-once delivery guarantees. So if you create a function without supplying a value for the <code>--processingGuarantees</code> flag, then the function will provide at-most-once guarantees.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="updating-the-processing-guarantees-of-a-function"></a><a href="#updating-the-processing-guarantees-of-a-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9z [...]
-<p>You can change the processing guarantees applied to a function once it's already been created using the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-update"><code>update</code></a> command. Here's an example:</p>
+<p>You can change the processing guarantees applied to a function once it's already been created using the <a href="/staging/docs/en/pulsar-admin#update-1"><code>update</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --processingGuarantees ATMOST_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-deploying">← Deploying and managing Pulsar Functions</a><a class="docs-next button" href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#applying-processing-guarantees-to-a-function">Applying processing guarantees to a function</a></li><li><a href="#updating-the-processin [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-deploying">← Deploying and managing Pulsar Functions</a><a class="docs-next button" href="/staging/docs/en/functions-state">Pulsar Functions State Storage (Developer Preview) →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#applying-processing-guarantees-to-a-function">Applying processing guarantees to a function</a></li><li><a href="#up [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/en/functions-metrics.html b/content/staging/docs/en/functions-metrics.html
index a34b6b6..6265826 100644
--- a/content/staging/docs/en/functions-metrics.html
+++ b/content/staging/docs/en/functions-metrics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -36,12 +36,12 @@
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-metrics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Metrics for Pulsar Functions</h1></header><article><div><span><p>Pulsar Functions can publish arbitrary metrics to the metrics interface which can then be  [...]
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="metrics-and-stats-not-available-through-language-native-interfaces"></a><a href="#metrics-and-stats-not-available-through-language-native-interfaces" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98  [...]
-<p>If a Pulsar Function uses the language-native interface for <a href="/staging/docs/en/functions-api#java-native">Java</a> or <a href="#python-native">Python</a>, that function will not be able to publish metrics and stats to Pulsar.</p>
+<p>If a Pulsar Function uses the language-native interface for <a href="/staging/docs/en/functions-api#java-native-functions">Java</a> or <a href="#python-native-functions">Python</a>, that function will not be able to publish metrics and stats to Pulsar.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="accessing-metrics"></a><a href="#accessing-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>For a guide to accessing metrics created by Pulsar Functions, see the guide to <a href="/staging/docs/en/deploy-monitoring">Monitoring</a> in Pulsar.</p>
 <h2><a class="anchor" aria-hidden="true" id="java-sdk"></a><a href="#java-sdk" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>If you're creating a Pulsar Function using the <a href="/staging/docs/en/functions-api#java-sdk">Java SDK</a>, the <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/functions/api/Context">Context</a>
+<p>If you're creating a Pulsar Function using the <a href="/staging/docs/en/functions-api#java-sdk-functions">Java SDK</a>, the <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Context">Context</a>
  object has a <code>recordMetric</code> method that you can use to register both a name for the metric and a value. Here's the signature for that method:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">recordMetric</span><span class="hljs-params">(String metricName, <span class="hljs-keyword">double</span> value)</span></span>;
 </code></pre>
@@ -59,8 +59,8 @@
 </code></pre>
 <p>This function counts the length of each incoming message (of type <code>String</code>) and then registers that under the <code>number-of-characters</code> metric.</p>
 <h2><a class="anchor" aria-hidden="true" id="python-sdk"></a><a href="#python-sdk" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Documentation for the <a href="/staging/docs/en/functions-api#python-sdk">Python SDK</a> is coming soon.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-guarantees">← Processing guarantees</a><a class="docs-next button" href="/staging/docs/en/io-overview">Pulsar IO Overview →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#accessing-metrics">Accessing metrics</a></li><li><a href="#java-sdk">Java SDK</a></li><li><a href="#python-sdk">Python SDK</a></li></ul></nav></div><footer class="nav-f [...]
+<p>Documentation for the <a href="/staging/docs/en/functions-api#python-sdk-functions">Python SDK</a> is coming soon.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-state">← Pulsar Functions State Storage (Developer Preview)</a><a class="docs-next button" href="/staging/docs/en/io-overview">Pulsar IO Overview →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#accessing-metrics">Accessing metrics</a></li><li><a href="#java-sdk">Java SDK</a></li><li><a href="#python-sdk">Python SDK</a></li></ul></nav></ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/en/functions-metrics/index.html b/content/staging/docs/en/functions-metrics/index.html
index a34b6b6..6265826 100644
--- a/content/staging/docs/en/functions-metrics/index.html
+++ b/content/staging/docs/en/functions-metrics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -36,12 +36,12 @@
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-metrics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Metrics for Pulsar Functions</h1></header><article><div><span><p>Pulsar Functions can publish arbitrary metrics to the metrics interface which can then be  [...]
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="metrics-and-stats-not-available-through-language-native-interfaces"></a><a href="#metrics-and-stats-not-available-through-language-native-interfaces" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98  [...]
-<p>If a Pulsar Function uses the language-native interface for <a href="/staging/docs/en/functions-api#java-native">Java</a> or <a href="#python-native">Python</a>, that function will not be able to publish metrics and stats to Pulsar.</p>
+<p>If a Pulsar Function uses the language-native interface for <a href="/staging/docs/en/functions-api#java-native-functions">Java</a> or <a href="#python-native-functions">Python</a>, that function will not be able to publish metrics and stats to Pulsar.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="accessing-metrics"></a><a href="#accessing-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>For a guide to accessing metrics created by Pulsar Functions, see the guide to <a href="/staging/docs/en/deploy-monitoring">Monitoring</a> in Pulsar.</p>
 <h2><a class="anchor" aria-hidden="true" id="java-sdk"></a><a href="#java-sdk" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>If you're creating a Pulsar Function using the <a href="/staging/docs/en/functions-api#java-sdk">Java SDK</a>, the <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/functions/api/Context">Context</a>
+<p>If you're creating a Pulsar Function using the <a href="/staging/docs/en/functions-api#java-sdk-functions">Java SDK</a>, the <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Context">Context</a>
  object has a <code>recordMetric</code> method that you can use to register both a name for the metric and a value. Here's the signature for that method:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">recordMetric</span><span class="hljs-params">(String metricName, <span class="hljs-keyword">double</span> value)</span></span>;
 </code></pre>
@@ -59,8 +59,8 @@
 </code></pre>
 <p>This function counts the length of each incoming message (of type <code>String</code>) and then registers that under the <code>number-of-characters</code> metric.</p>
 <h2><a class="anchor" aria-hidden="true" id="python-sdk"></a><a href="#python-sdk" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Documentation for the <a href="/staging/docs/en/functions-api#python-sdk">Python SDK</a> is coming soon.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-guarantees">← Processing guarantees</a><a class="docs-next button" href="/staging/docs/en/io-overview">Pulsar IO Overview →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#accessing-metrics">Accessing metrics</a></li><li><a href="#java-sdk">Java SDK</a></li><li><a href="#python-sdk">Python SDK</a></li></ul></nav></div><footer class="nav-f [...]
+<p>Documentation for the <a href="/staging/docs/en/functions-api#python-sdk-functions">Python SDK</a> is coming soon.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-state">← Pulsar Functions State Storage (Developer Preview)</a><a class="docs-next button" href="/staging/docs/en/io-overview">Pulsar IO Overview →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#accessing-metrics">Accessing metrics</a></li><li><a href="#java-sdk">Java SDK</a></li><li><a href="#python-sdk">Python SDK</a></li></ul></nav></ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/en/functions-overview.html b/content/staging/docs/en/functions-overview.html
index ec4a3d5..f58e61c 100644
--- a/content/staging/docs/en/functions-overview.html
+++ b/content/staging/docs/en/functions-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -39,7 +39,7 @@
 <li>apply a user-supplied processing logic to each message,</li>
 <li>publish the results of the computation to another topic</li>
 </ul>
-<p>Here's an example Pulsar Function for Java (using the <a href="/staging/docs/en/functions-api#java-native">native interface</a>):</p>
+<p>Here's an example Pulsar Function for Java (using the <a href="/staging/docs/en/functions-api#java-native-functions">native interface</a>):</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> java.util.Function;
 
 <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ExclamationFunction</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">String</span>, <span class="hljs-title">String</span>&gt; </span>{
@@ -47,7 +47,7 @@
     <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">apply</span><span class="hljs-params">(String input)</span> </span>{ <span class="hljs-keyword">return</span> String.format(<span class="hljs-string">"%s!"</span>, input); }
 }
 </code></pre>
-<p>Here's an equivalent function in Python (also using the <a href="/staging/docs/en/functions-api#python-native">native interface</a>):</p>
+<p>Here's an equivalent function in Python (also using the <a href="/staging/docs/en/functions-api#python-native-functions">native interface</a>):</p>
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{0}!"</span>.format(input)
 </code></pre>
@@ -55,7 +55,7 @@
 <h2><a class="anchor" aria-hidden="true" id="goals"></a><a href="#goals" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>The core goal behind Pulsar Functions is to enable you to easily create processing logic of any level of complexity without needing to deploy a separate neighboring system (such as <a href="http://storm.apache.org/">Apache Storm</a>, <a href="https://apache.github.io/incubator-heron">Apache Heron</a>, <a href="https://flink.apache.org/">Apache Flink</a>, etc.). Pulsar Functions is essentially ready-made compute infrastructure at your disposal as part of your Pulsar messaging system. T [...]
 <ul>
-<li>Developer productivity (<a href="#native">language-native</a> vs. <a href="#sdk">Pulsar Functions SDK</a> functions)</li>
+<li>Developer productivity (<a href="#language-native-functions">language-native</a> vs. <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> functions)</li>
 <li>Easy troubleshooting</li>
 <li>Operational simplicity (no need for an external processing system)</li>
 </ul>
@@ -73,7 +73,7 @@
 <h2><a class="anchor" aria-hidden="true" id="programming-model"></a><a href="#programming-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>The core programming model behind Pulsar Functions is very simple:</p>
 <ul>
-<li>Functions receive messages from one or more <strong>input <a href="reference-teminology.md#topic">topics</a></strong>. Every time a message is received, the function can do a variety of things:
+<li>Functions receive messages from one or more <strong>input <a href="/staging/docs/en/reference-terminology#topic">topics</a></strong>. Every time a message is received, the function can do a variety of things:
 <ul>
 <li>Apply some processing logic to the input and write output to:
 <ul>
@@ -81,14 +81,14 @@
 <li><a href="#state-storage">Apache BookKeeper</a></li>
 </ul></li>
 <li>Write logs to a <strong>log topic</strong> (potentially for debugging purposes)</li>
-<li>Increment a <a href="#counters">counter</a></li>
+<li>Increment a <a href="#word-count-example">counter</a></li>
 </ul></li>
 </ul>
 <p><img src="/staging/docs/assets/pulsar-functions-overview.png" alt="Pulsar Functions core programming model"></p>
 <h3><a class="anchor" aria-hidden="true" id="word-count-example"></a><a href="#word-count-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>If you were to implement the classic word count example using Pulsar Functions, it might look something like this:</p>
 <p><img src="/staging/docs/assets/pulsar-functions-word-count.png" alt="Pulsar Functions word count example"></p>
-<p>If you were writing the function in <a href="/staging/docs/en/functions-api#java">Java</a> using the <a href="/staging/docs/en/functions-api#java-sdk">Pulsar Functions SDK for Java</a>, you could write the function like this...</p>
+<p>If you were writing the function in <a href="/staging/docs/en/functions-api#functions-for-java">Java</a> using the <a href="/staging/docs/en/functions-api#java-sdk-functions">Pulsar Functions SDK for Java</a>, you could write the function like this...</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">package</span> org.example.functions;
 
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
@@ -108,7 +108,7 @@
     }
 }
 </code></pre>
-<p>...and then <a href="#cluster-mode">deploy it</a> in your Pulsar cluster using the <a href="#cli">command line</a> like this:</p>
+<p>...and then <a href="#cluster-run-mode">deploy it</a> in your Pulsar cluster using the <a href="#command-line-interface">command line</a> like this:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar target/my-jar-with-dependencies.jar \
   --className org.example.functions.WordCountFunction \
@@ -146,7 +146,7 @@
             context.get_logger().warn(warning)
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="command-line-interface"></a><a href="#command-line-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Pulsar Functions are managed using the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool (in particular the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions"><code>functions</code></a> command). Here's an example command that would run a function in <a href="#local-run">local run mode</a>:</p>
+<p>Pulsar Functions are managed using the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool (in particular the <a href="/staging/docs/en/pulsar-admin#functions"><code>functions</code></a> command). Here's an example command that would run a function in <a href="#local-run-mode">local run mode</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-functions localrun \
   --inputs persistent://public/default/test_src \
   --output persistent://public/default/test_result \
@@ -161,7 +161,7 @@
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Pulsar Functions can be configured in two ways:</p>
 <ul>
-<li>Via <a href="#cli">command-line arguments</a> passed to the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions"><code>pulsar-admin functions</code></a> interface</li>
+<li>Via <a href="#command-line-interface">command-line arguments</a> passed to the <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface</li>
 <li>Via <a href="http://yaml.org/">YAML</a> configuration files</li>
 </ul>
 <p>If you're supplying a YAML configuration, you must specify a path to the file on the command line. Here's an example:</p>
@@ -180,7 +180,7 @@
 </code></pre>
 <p>You can also mix and match configuration methods by specifying some function attributes via the CLI and others via YAML configuration.</p>
 <h2><a class="anchor" aria-hidden="true" id="supported-languages"></a><a href="#supported-languages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>Pulsar Functions can currently be written in <a href="/staging/docs/en/functions-api#java">Java</a> and <a href="/staging/docs/en/functions-api#python">Python</a>. Support for additional languages is coming soon.</p>
+<p>Pulsar Functions can currently be written in <a href="/staging/docs/en/functions-api#functions-for-java">Java</a> and <a href="/staging/docs/en/functions-api#functions-for-python">Python</a>. Support for additional languages is coming soon.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-api"></a><a href="#the-pulsar-functions-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>The Pulsar Functions API enables you to create processing logic that is:</p>
 <ul>
@@ -188,14 +188,14 @@
 <li>Based on SerDe (<strong>Ser</strong>ialization/<strong>De</strong>serialization). A variety of types are supported &quot;out of the box&quot; but you can also create your own custom SerDe logic.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="function-context"></a><a href="#function-context" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>Each Pulsar Function created using the <a href="#sdk">Pulsar Functions SDK</a> has access to a context object that both provides:</p>
+<p>Each Pulsar Function created using the <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> has access to a context object that both provides:</p>
 <ol>
 <li>A wide variety of information about the function, including:</li>
 </ol>
 <ul>
 <li>The name of the function</li>
 <li>The tenant and namespace of the function</li>
-<li><a href="#user-config">User-supplied configuration</a> values</li>
+<li><a href="#user-configuration">User-supplied configuration</a> values</li>
 </ul>
 <ol start="2">
 <li>Special functionality, including:</li>
@@ -206,9 +206,9 @@
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="language-native-functions"></a><a href="#language-native-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
-<p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-config">user configuration</a>, and more.</p>
+<p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/staging/docs/en/functions-api#java-sdk">Java</a> and <a href="/staging/docs/en/functions-api#python-sdk">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/staging/docs/en/functions-api#functions-for-java">Java</a> and <a href="/staging/docs/en/functions-api#functions-for-python">Pythnon</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
@@ -246,12 +246,12 @@
 <tr><th style="text-align:left">Deployment mode</th><th style="text-align:left">Description</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="#local-run">Local run mode</a></td><td style="text-align:left">The function runs in your local environment, for example on your laptop</td></tr>
-<tr><td style="text-align:left"><a href="#cluster-run">Cluster mode</a></td><td style="text-align:left">The function runs <em>inside of</em> your Pulsar cluster, on the same machines as your Pulsar <a href="/staging/docs/en/reference-terminology#broker">brokers</a></td></tr>
+<tr><td style="text-align:left"><a href="#local-run-mode">Local run mode</a></td><td style="text-align:left">The function runs in your local environment, for example on your laptop</td></tr>
+<tr><td style="text-align:left"><a href="#cluster-run-mode">Cluster mode</a></td><td style="text-align:left">The function runs <em>inside of</em> your Pulsar cluster, on the same machines as your Pulsar <a href="/staging/docs/en/reference-terminology#broker">brokers</a></td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="local-run-mode"></a><a href="#local-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-localrun"><code>localrun</code></a> command:</p>
+<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#localrun"><code>localrun</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -264,7 +264,7 @@
   <span class="hljs-comment"># Other function parameters</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="cluster-run-mode"></a><a href="#cluster-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-create"><code>create</code></a> command. Here's an example:</p>
+<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run-mode">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#create-1"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -273,7 +273,7 @@
 </code></pre>
 <p>This command will upload <code>myfunc.py</code> to Pulsar, which will use the code to start one <a href="#parallelism">or more</a> instances of the function.</p>
 <h3><a class="anchor" aria-hidden="true" id="parallelism"></a><a href="#parallelism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>By default, only one <strong>instance</strong> of a Pulsar Function runs when you create and run it in <a href="#cluster-run">cluster run mode</a>. You can also, however, run multiple instances in parallel. You can specify the number of instances when you create the function, or update an existing single-instance function with a new parallelism factor.</p>
+<p>By default, only one <strong>instance</strong> of a Pulsar Function runs when you create and run it in <a href="#cluster-run-mode">cluster run mode</a>. You can also, however, run multiple instances in parallel. You can specify the number of instances when you create the function, or update an existing single-instance function with a new parallelism factor.</p>
 <p>This command, for example, would create and run a function with a parallelism of 5 (i.e. 5 instances):</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name parallel-fun \
@@ -284,7 +284,7 @@
   --parallelism 5
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="function-instance-resources"></a><a href="#function-instance-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>When you run Pulsar Functions in <a href="#cluster-run">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
+<p>When you run Pulsar Functions in <a href="#cluster-run-mode">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Resource</th><th style="text-align:left">Specified as...</th><th style="text-align:left">Runtimes</th></tr>
@@ -305,7 +305,7 @@
 </code></pre>
 <p>For more information on resources, see the <a href="/staging/docs/en/functions-deploying#resources">Deploying and Managing Pulsar Functions</a> documentation.</p>
 <h3><a class="anchor" aria-hidden="true" id="logging"></a><a href="#logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Pulsar Functions created using the [Pulsar Functions SDK(#sdk) can send logs to a log topic that you specify as part of the function's configuration. The function created using the command below, for example, would produce all logs on the <code>persistent://public/default/my-func-1-log</code> topic:</p>
+<p>Pulsar Functions created using the <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> can send logs to a log topic that you specify as part of the function's configuration. The function created using the command below, for example, would produce all logs on the <code>persistent://public/default/my-func-1-log</code> topic:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name my-func-1 \
   --logTopic persistent://public/default/my-func-1-log \
@@ -343,11 +343,11 @@
 }
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="triggering-pulsar-functions"></a><a href="#triggering-pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>Pulsar Functions running in <a href="#cluster-mode">cluster mode</a> can be <a href="/staging/docs/en/functions-deploying#triggering">triggered</a> via the <a href="#cli">command line</a>. With triggering you can easily pass a specific value to a function and get the function's return value <em>without</em> needing to worry about creating a client, sending a message to the right input topic, etc. Triggering can be very useful for---but is by no means limited to---testing and debugging [...]
+<p>Pulsar Functions running in <a href="#cluster-run-mode">cluster mode</a> can be <a href="/staging/docs/en/functions-deploying#triggering-pulsar-functions">triggered</a> via the <a href="#command-line-interface">command line</a>. With triggering you can easily pass a specific value to a function and get the function's return value <em>without</em> needing to worry about creating a client, sending a message to the right input topic, etc. Triggering can be very useful for---but is by no  [...]
 <blockquote>
-<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/pulsar-admin#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client lib [...]
+<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
 </blockquote>
-<p>Let's take an example Pulsar Function written in Python (using the <a href="/staging/docs/en/functions-api#python-native">native interface</a>) that simply reverses string inputs:</p>
+<p>Let's take an example Pulsar Function written in Python (using the <a href="/staging/docs/en/functions-api#python-native-functions">native interface</a>) that simply reverses string inputs:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> input[::<span class="hljs-number">-1</span>]
 </code></pre>
@@ -374,14 +374,14 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">Each message that is sent to the function will have one output associated with it</td></tr>
 </tbody>
 </table>
-<p>This command, for example, would run a function in <a href="#cluster-mode">cluster mode</a> with effectively-once guarantees applied:</p>
+<p>This command, for example, would run a function in <a href="#cluster-run-mode">cluster mode</a> with effectively-once guarantees applied:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name my-effectively-once-function \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="metrics"></a><a href="#metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Pulsar Functions that use the <a href="#sdk">Pulsar Functions SDK</a> can publish metrics to Pulsar. For more information, see <a href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions</a>.</p>
+<p>Pulsar Functions that use the <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> can publish metrics to Pulsar. For more information, see <a href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="state-storage"></a><a href="#state-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Pulsar Functions use <a href="https://bookkeeper.apache.org">Apache BookKeeper</a> as a state storage interface. All Pulsar installations, including local standalone installations, include a deployment of BookKeeper bookies.</p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/concepts-schema-registry">← Schema Registry</a><a class="docs-next button" href="/staging/docs/en/functions-quickstart">Getting started with Pulsar Functions →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#goals">Goals</a></li><li><a href="#inspirations">Inspirations</a></li><li><a href="#programming-model">Programming model</a><ul class="toc-hea [...]
diff --git a/content/staging/docs/en/functions-overview/index.html b/content/staging/docs/en/functions-overview/index.html
index ec4a3d5..f58e61c 100644
--- a/content/staging/docs/en/functions-overview/index.html
+++ b/content/staging/docs/en/functions-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -39,7 +39,7 @@
 <li>apply a user-supplied processing logic to each message,</li>
 <li>publish the results of the computation to another topic</li>
 </ul>
-<p>Here's an example Pulsar Function for Java (using the <a href="/staging/docs/en/functions-api#java-native">native interface</a>):</p>
+<p>Here's an example Pulsar Function for Java (using the <a href="/staging/docs/en/functions-api#java-native-functions">native interface</a>):</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> java.util.Function;
 
 <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ExclamationFunction</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">String</span>, <span class="hljs-title">String</span>&gt; </span>{
@@ -47,7 +47,7 @@
     <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">apply</span><span class="hljs-params">(String input)</span> </span>{ <span class="hljs-keyword">return</span> String.format(<span class="hljs-string">"%s!"</span>, input); }
 }
 </code></pre>
-<p>Here's an equivalent function in Python (also using the <a href="/staging/docs/en/functions-api#python-native">native interface</a>):</p>
+<p>Here's an equivalent function in Python (also using the <a href="/staging/docs/en/functions-api#python-native-functions">native interface</a>):</p>
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{0}!"</span>.format(input)
 </code></pre>
@@ -55,7 +55,7 @@
 <h2><a class="anchor" aria-hidden="true" id="goals"></a><a href="#goals" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>The core goal behind Pulsar Functions is to enable you to easily create processing logic of any level of complexity without needing to deploy a separate neighboring system (such as <a href="http://storm.apache.org/">Apache Storm</a>, <a href="https://apache.github.io/incubator-heron">Apache Heron</a>, <a href="https://flink.apache.org/">Apache Flink</a>, etc.). Pulsar Functions is essentially ready-made compute infrastructure at your disposal as part of your Pulsar messaging system. T [...]
 <ul>
-<li>Developer productivity (<a href="#native">language-native</a> vs. <a href="#sdk">Pulsar Functions SDK</a> functions)</li>
+<li>Developer productivity (<a href="#language-native-functions">language-native</a> vs. <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> functions)</li>
 <li>Easy troubleshooting</li>
 <li>Operational simplicity (no need for an external processing system)</li>
 </ul>
@@ -73,7 +73,7 @@
 <h2><a class="anchor" aria-hidden="true" id="programming-model"></a><a href="#programming-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>The core programming model behind Pulsar Functions is very simple:</p>
 <ul>
-<li>Functions receive messages from one or more <strong>input <a href="reference-teminology.md#topic">topics</a></strong>. Every time a message is received, the function can do a variety of things:
+<li>Functions receive messages from one or more <strong>input <a href="/staging/docs/en/reference-terminology#topic">topics</a></strong>. Every time a message is received, the function can do a variety of things:
 <ul>
 <li>Apply some processing logic to the input and write output to:
 <ul>
@@ -81,14 +81,14 @@
 <li><a href="#state-storage">Apache BookKeeper</a></li>
 </ul></li>
 <li>Write logs to a <strong>log topic</strong> (potentially for debugging purposes)</li>
-<li>Increment a <a href="#counters">counter</a></li>
+<li>Increment a <a href="#word-count-example">counter</a></li>
 </ul></li>
 </ul>
 <p><img src="/staging/docs/assets/pulsar-functions-overview.png" alt="Pulsar Functions core programming model"></p>
 <h3><a class="anchor" aria-hidden="true" id="word-count-example"></a><a href="#word-count-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>If you were to implement the classic word count example using Pulsar Functions, it might look something like this:</p>
 <p><img src="/staging/docs/assets/pulsar-functions-word-count.png" alt="Pulsar Functions word count example"></p>
-<p>If you were writing the function in <a href="/staging/docs/en/functions-api#java">Java</a> using the <a href="/staging/docs/en/functions-api#java-sdk">Pulsar Functions SDK for Java</a>, you could write the function like this...</p>
+<p>If you were writing the function in <a href="/staging/docs/en/functions-api#functions-for-java">Java</a> using the <a href="/staging/docs/en/functions-api#java-sdk-functions">Pulsar Functions SDK for Java</a>, you could write the function like this...</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">package</span> org.example.functions;
 
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
@@ -108,7 +108,7 @@
     }
 }
 </code></pre>
-<p>...and then <a href="#cluster-mode">deploy it</a> in your Pulsar cluster using the <a href="#cli">command line</a> like this:</p>
+<p>...and then <a href="#cluster-run-mode">deploy it</a> in your Pulsar cluster using the <a href="#command-line-interface">command line</a> like this:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar target/my-jar-with-dependencies.jar \
   --className org.example.functions.WordCountFunction \
@@ -146,7 +146,7 @@
             context.get_logger().warn(warning)
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="command-line-interface"></a><a href="#command-line-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Pulsar Functions are managed using the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool (in particular the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions"><code>functions</code></a> command). Here's an example command that would run a function in <a href="#local-run">local run mode</a>:</p>
+<p>Pulsar Functions are managed using the <a href="/staging/docs/en/pulsar-admin"><code>pulsar-admin</code></a> CLI tool (in particular the <a href="/staging/docs/en/pulsar-admin#functions"><code>functions</code></a> command). Here's an example command that would run a function in <a href="#local-run-mode">local run mode</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-functions localrun \
   --inputs persistent://public/default/test_src \
   --output persistent://public/default/test_result \
@@ -161,7 +161,7 @@
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Pulsar Functions can be configured in two ways:</p>
 <ul>
-<li>Via <a href="#cli">command-line arguments</a> passed to the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions"><code>pulsar-admin functions</code></a> interface</li>
+<li>Via <a href="#command-line-interface">command-line arguments</a> passed to the <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface</li>
 <li>Via <a href="http://yaml.org/">YAML</a> configuration files</li>
 </ul>
 <p>If you're supplying a YAML configuration, you must specify a path to the file on the command line. Here's an example:</p>
@@ -180,7 +180,7 @@
 </code></pre>
 <p>You can also mix and match configuration methods by specifying some function attributes via the CLI and others via YAML configuration.</p>
 <h2><a class="anchor" aria-hidden="true" id="supported-languages"></a><a href="#supported-languages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>Pulsar Functions can currently be written in <a href="/staging/docs/en/functions-api#java">Java</a> and <a href="/staging/docs/en/functions-api#python">Python</a>. Support for additional languages is coming soon.</p>
+<p>Pulsar Functions can currently be written in <a href="/staging/docs/en/functions-api#functions-for-java">Java</a> and <a href="/staging/docs/en/functions-api#functions-for-python">Python</a>. Support for additional languages is coming soon.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-api"></a><a href="#the-pulsar-functions-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>The Pulsar Functions API enables you to create processing logic that is:</p>
 <ul>
@@ -188,14 +188,14 @@
 <li>Based on SerDe (<strong>Ser</strong>ialization/<strong>De</strong>serialization). A variety of types are supported &quot;out of the box&quot; but you can also create your own custom SerDe logic.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="function-context"></a><a href="#function-context" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>Each Pulsar Function created using the <a href="#sdk">Pulsar Functions SDK</a> has access to a context object that both provides:</p>
+<p>Each Pulsar Function created using the <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> has access to a context object that both provides:</p>
 <ol>
 <li>A wide variety of information about the function, including:</li>
 </ol>
 <ul>
 <li>The name of the function</li>
 <li>The tenant and namespace of the function</li>
-<li><a href="#user-config">User-supplied configuration</a> values</li>
+<li><a href="#user-configuration">User-supplied configuration</a> values</li>
 </ul>
 <ol start="2">
 <li>Special functionality, including:</li>
@@ -206,9 +206,9 @@
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="language-native-functions"></a><a href="#language-native-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p>Both Java and Python support writing &quot;native&quot; functions, i.e. Pulsar Functions with no dependencies.</p>
-<p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-config">user configuration</a>, and more.</p>
+<p>The benefit of native functions is that they don't have any dependencies beyond what's already available in Java/Python &quot;out of the box.&quot; The downside is that they don't provide access to the function's <a href="#function-context">context</a>, which is necessary for a variety of functionality, including <a href="#logging">logging</a>, <a href="#user-configuration">user configuration</a>, and more.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-functions-sdk"></a><a href="#the-pulsar-functions-sdk" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>If you'd like a Pulsar Function to have access to a <a href="#context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/staging/docs/en/functions-api#java-sdk">Java</a> and <a href="/staging/docs/en/functions-api#python-sdk">Pythnon</a>.</p>
+<p>If you'd like a Pulsar Function to have access to a <a href="#function-context">context object</a>, you can use the <strong>Pulsar Functions SDK</strong>, available for both <a href="/staging/docs/en/functions-api#functions-for-java">Java</a> and <a href="/staging/docs/en/functions-api#functions-for-python">Pythnon</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>Here's an example Java function that uses information about its context:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
@@ -246,12 +246,12 @@
 <tr><th style="text-align:left">Deployment mode</th><th style="text-align:left">Description</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="#local-run">Local run mode</a></td><td style="text-align:left">The function runs in your local environment, for example on your laptop</td></tr>
-<tr><td style="text-align:left"><a href="#cluster-run">Cluster mode</a></td><td style="text-align:left">The function runs <em>inside of</em> your Pulsar cluster, on the same machines as your Pulsar <a href="/staging/docs/en/reference-terminology#broker">brokers</a></td></tr>
+<tr><td style="text-align:left"><a href="#local-run-mode">Local run mode</a></td><td style="text-align:left">The function runs in your local environment, for example on your laptop</td></tr>
+<tr><td style="text-align:left"><a href="#cluster-run-mode">Cluster mode</a></td><td style="text-align:left">The function runs <em>inside of</em> your Pulsar cluster, on the same machines as your Pulsar <a href="/staging/docs/en/reference-terminology#broker">brokers</a></td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="local-run-mode"></a><a href="#local-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-localrun"><code>localrun</code></a> command:</p>
+<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/en/pulsar-admin#localrun"><code>localrun</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -264,7 +264,7 @@
   <span class="hljs-comment"># Other function parameters</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="cluster-run-mode"></a><a href="#cluster-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-create"><code>create</code></a> command. Here's an example:</p>
+<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run-mode">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/en/pulsar-admin#create-1"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -273,7 +273,7 @@
 </code></pre>
 <p>This command will upload <code>myfunc.py</code> to Pulsar, which will use the code to start one <a href="#parallelism">or more</a> instances of the function.</p>
 <h3><a class="anchor" aria-hidden="true" id="parallelism"></a><a href="#parallelism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>By default, only one <strong>instance</strong> of a Pulsar Function runs when you create and run it in <a href="#cluster-run">cluster run mode</a>. You can also, however, run multiple instances in parallel. You can specify the number of instances when you create the function, or update an existing single-instance function with a new parallelism factor.</p>
+<p>By default, only one <strong>instance</strong> of a Pulsar Function runs when you create and run it in <a href="#cluster-run-mode">cluster run mode</a>. You can also, however, run multiple instances in parallel. You can specify the number of instances when you create the function, or update an existing single-instance function with a new parallelism factor.</p>
 <p>This command, for example, would create and run a function with a parallelism of 5 (i.e. 5 instances):</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name parallel-fun \
@@ -284,7 +284,7 @@
   --parallelism 5
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="function-instance-resources"></a><a href="#function-instance-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>When you run Pulsar Functions in <a href="#cluster-run">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
+<p>When you run Pulsar Functions in <a href="#cluster-run-mode">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Resource</th><th style="text-align:left">Specified as...</th><th style="text-align:left">Runtimes</th></tr>
@@ -305,7 +305,7 @@
 </code></pre>
 <p>For more information on resources, see the <a href="/staging/docs/en/functions-deploying#resources">Deploying and Managing Pulsar Functions</a> documentation.</p>
 <h3><a class="anchor" aria-hidden="true" id="logging"></a><a href="#logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Pulsar Functions created using the [Pulsar Functions SDK(#sdk) can send logs to a log topic that you specify as part of the function's configuration. The function created using the command below, for example, would produce all logs on the <code>persistent://public/default/my-func-1-log</code> topic:</p>
+<p>Pulsar Functions created using the <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> can send logs to a log topic that you specify as part of the function's configuration. The function created using the command below, for example, would produce all logs on the <code>persistent://public/default/my-func-1-log</code> topic:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name my-func-1 \
   --logTopic persistent://public/default/my-func-1-log \
@@ -343,11 +343,11 @@
 }
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="triggering-pulsar-functions"></a><a href="#triggering-pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>Pulsar Functions running in <a href="#cluster-mode">cluster mode</a> can be <a href="/staging/docs/en/functions-deploying#triggering">triggered</a> via the <a href="#cli">command line</a>. With triggering you can easily pass a specific value to a function and get the function's return value <em>without</em> needing to worry about creating a client, sending a message to the right input topic, etc. Triggering can be very useful for---but is by no means limited to---testing and debugging [...]
+<p>Pulsar Functions running in <a href="#cluster-run-mode">cluster mode</a> can be <a href="/staging/docs/en/functions-deploying#triggering-pulsar-functions">triggered</a> via the <a href="#command-line-interface">command line</a>. With triggering you can easily pass a specific value to a function and get the function's return value <em>without</em> needing to worry about creating a client, sending a message to the right input topic, etc. Triggering can be very useful for---but is by no  [...]
 <blockquote>
-<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/pulsar-admin#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client lib [...]
+<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/en/pulsar-admin#trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
 </blockquote>
-<p>Let's take an example Pulsar Function written in Python (using the <a href="/staging/docs/en/functions-api#python-native">native interface</a>) that simply reverses string inputs:</p>
+<p>Let's take an example Pulsar Function written in Python (using the <a href="/staging/docs/en/functions-api#python-native-functions">native interface</a>) that simply reverses string inputs:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> input[::<span class="hljs-number">-1</span>]
 </code></pre>
@@ -374,14 +374,14 @@
 <tr><td style="text-align:left"><strong>Effectively-once</strong> delivery</td><td style="text-align:left">Each message that is sent to the function will have one output associated with it</td></tr>
 </tbody>
 </table>
-<p>This command, for example, would run a function in <a href="#cluster-mode">cluster mode</a> with effectively-once guarantees applied:</p>
+<p>This command, for example, would run a function in <a href="#cluster-run-mode">cluster mode</a> with effectively-once guarantees applied:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name my-effectively-once-function \
   --processingGuarantees EFFECTIVELY_ONCE \
   <span class="hljs-comment"># Other function configs</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="metrics"></a><a href="#metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Pulsar Functions that use the <a href="#sdk">Pulsar Functions SDK</a> can publish metrics to Pulsar. For more information, see <a href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions</a>.</p>
+<p>Pulsar Functions that use the <a href="#the-pulsar-functions-sdk">Pulsar Functions SDK</a> can publish metrics to Pulsar. For more information, see <a href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="state-storage"></a><a href="#state-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Pulsar Functions use <a href="https://bookkeeper.apache.org">Apache BookKeeper</a> as a state storage interface. All Pulsar installations, including local standalone installations, include a deployment of BookKeeper bookies.</p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/concepts-schema-registry">← Schema Registry</a><a class="docs-next button" href="/staging/docs/en/functions-quickstart">Getting started with Pulsar Functions →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#goals">Goals</a></li><li><a href="#inspirations">Inspirations</a></li><li><a href="#programming-model">Programming model</a><ul class="toc-hea [...]
diff --git a/content/staging/docs/en/functions-quickstart.html b/content/staging/docs/en/functions-quickstart.html
index c11efa7..db76787 100644
--- a/content/staging/docs/en/functions-quickstart.html
+++ b/content/staging/docs/en/functions-quickstart.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a [standalone](reference-teminology.md#standalone) Pulsar [cluster](reference-teminology.md#cluster) on your machine and then running y [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a [standalone](/staging/docs/en/reference-terminology#standalone) Pulsar [cluster](/staging/docs/en/reference-terminology#cluster) on y [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,17 +33,17 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-quickstart.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Getting started with Pulsar Functions</h1></header><article><div><span><p>This tutorial will walk you through running a <a href="reference-teminology.md [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-quickstart.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Getting started with Pulsar Functions</h1></header><article><div><span><p>This tutorial will walk you through running a <a href="/staging/docs/en/refere [...]
 <blockquote>
 <p>In local run mode, your Pulsar Function will communicate with your Pulsar cluster but will run outside of the cluster.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>In order to follow along with this tutorial, you'll need to have <a href="https://maven.apache.org/download.cgi">Maven</a> installed on your machine.</p>
 <h2><a class="anchor" aria-hidden="true" id="run-a-standalone-pulsar-cluster"></a><a href="#run-a-standalone-pulsar-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>In order to run our Pulsar Functions, we'll need to run a Pulsar cluster locally first. The easiest way to do that is to run Pulsar in <a href="reference-teminology.md#standalone">standalone</a> mode. Follow these steps to start up a standalone cluster:</p>
-<pre><code class="hljs css languages- bash">$ wget https://repository.apache.org/content/repositories/snapshots/org/apache/pulsar/distribution/2.0.0-incubating-SNAPSHOT/distribution-2.0.0-incubating-{{ site.preview_version_id }}-bin.tar.gz
-$ tar xvf distribution-2.0.0-incubating-{{ site.preview_version_id }}-bin.tar.gz
-$ <span class="hljs-built_in">cd</span> apache-pulsar-2.0.0-incubating-SNAPSHOT
+<p>In order to run our Pulsar Functions, we'll need to run a Pulsar cluster locally first. The easiest way to do that is to run Pulsar in <a href="/staging/docs/en/reference-terminology#standalone">standalone</a> mode. Follow these steps to start up a standalone cluster:</p>
+<pre><code class="hljs css languages- bash">$ wget http://www.apache.org/dyn/closer.cgi/incubator/pulsar/pulsar-2.1.0-incubating/apache-pulsar-2.1.0-incubating-bin.tar.gz
+$ tar xvfz apache-pulsar-2.1.0-incubating-bin.tar.gz
+$ <span class="hljs-built_in">cd</span> apache-pulsar-2.1.0-incubating
 $ bin/pulsar standalone \
   --advertised-address 127.0.0.1
 </code></pre>
@@ -75,7 +75,7 @@ $ bin/pulsar standalone \
 <pre><code class="hljs css languages- bash">--inputs topic1,topic2
 </code></pre>
 </blockquote>
-<p>We can open up another shell and use the <a href="/staging/docs/en/pulsar-admin#pulsar-client"><code>pulsar-client</code></a> tool to listen for messages on the output topic:</p>
+<p>We can open up another shell and use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool to listen for messages on the output topic:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-client consume persistent://public/default/exclamation-output \
   --subscription-name my-subscription \
   --num-messages 0
@@ -100,7 +100,7 @@ $ bin/pulsar standalone \
 <li>If our exclamation function <em>hadn't</em> been running, Pulsar would have durably stored the message data published to the input topic in <a href="https://bookkeeper.apache.org">Apache BookKeeper</a> until a consumer consumed and acknowledged the message</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="run-a-pulsar-function-in-cluster-mode"></a><a href="#run-a-pulsar-function-in-cluster-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 [...]
-<p><a href="#local-run-mode">Local run mode</a> is useful for development and experimentation, but if you want to use Pulsar Functions in a real Pulsar deployment, you'll want to run them in <strong>cluster mode</strong>. In this mode, Pulsar Functions run <em>inside</em> your Pulsar cluster and are managed using the same <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions"><code>pulsar-admin functions</code></a> interface that we've been using thus far.</p>
+<p><a href="#run-a-pulsar-function-in-local-run-mode">Local run mode</a> is useful for development and experimentation, but if you want to use Pulsar Functions in a real Pulsar deployment, you'll want to run them in <strong>cluster mode</strong>. In this mode, Pulsar Functions run <em>inside</em> your Pulsar cluster and are managed using the same <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface that we've been using thus far.</p>
 <p>This command, for example, would deploy the same exclamation function we ran locally above <em>in our Pulsar cluster</em> (rather than outside it):</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar examples/api-examples.jar \
@@ -184,7 +184,7 @@ $ bin/pulsar standalone \
 <p>If you see <code>Deleted successfully</code> in the output, then you've succesfully run, updated, and shut down a Pulsar Function running in cluster mode. Congrats! Now, let's go even further and run a brand new function in the next section.</p>
 <h2><a class="anchor" aria-hidden="true" id="writing-and-running-a-new-function"></a><a href="#writing-and-running-a-new-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <blockquote>
-<p>In order to write and run the <a href="/staging/docs/en/functions-api#python">Python</a> function below, you'll need to install a few dependencies:</p>
+<p>In order to write and run the <a href="/staging/docs/en/functions-api#functions-for-python">Python</a> function below, you'll need to install a few dependencies:</p>
 <pre><code class="hljs css languages- bash">$ pip install pulsar-client protobuf futures grpcio grpcio-tools
 </code></pre>
 </blockquote>
@@ -206,7 +206,7 @@ $ bin/pulsar standalone \
   --namespace default \
   --name reverse
 </code></pre>
-<p>If you see <code>Created successfully</code>, the function is ready to accept incoming messages. Because the function is running in cluster mode, we can <strong>trigger</strong> the function using the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-trigger"><code>trigger</code></a> command. This command will send a message that we specify to the function and also give us the function's output. Here's an example:</p>
+<p>If you see <code>Created successfully</code>, the function is ready to accept incoming messages. Because the function is running in cluster mode, we can <strong>trigger</strong> the function using the <a href="/staging/docs/en/pulsar-admin#trigger"><code>trigger</code></a> command. This command will send a message that we specify to the function and also give us the function's output. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> trigger \
   --name reverse \
   --tenant public \
@@ -216,7 +216,7 @@ $ bin/pulsar standalone \
 <p>You should get this output:</p>
 <pre><code class="hljs">This <span class="hljs-built_in">string</span> was backwards <span class="hljs-keyword">but</span> <span class="hljs-keyword">is</span> now forwards
 </code></pre>
-<p>Once again, success! We created a brand new Pulsar Function, deployed it in our Pulsar standalone cluster in <a href="#cluster-mode">cluster mode</a> and successfully triggered the function. If you're ready for more, check out one of these docs:</p>
+<p>Once again, success! We created a brand new Pulsar Function, deployed it in our Pulsar standalone cluster in <a href="#run-a-pulsar-function-in-cluster-mode">cluster mode</a> and successfully triggered the function. If you're ready for more, check out one of these docs:</p>
 <ul>
 <li><a href="/staging/docs/en/functions-api">The Pulsar Functions API</a></li>
 <li><a href="/staging/docs/en/functions-deploying">Deploying Pulsar Functions</a></li>
diff --git a/content/staging/docs/en/functions-quickstart/index.html b/content/staging/docs/en/functions-quickstart/index.html
index c11efa7..db76787 100644
--- a/content/staging/docs/en/functions-quickstart/index.html
+++ b/content/staging/docs/en/functions-quickstart/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a [standalone](reference-teminology.md#standalone) Pulsar [cluster](reference-teminology.md#cluster) on your machine and then running y [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a [standalone](/staging/docs/en/reference-terminology#standalone) Pulsar [cluster](/staging/docs/en/reference-terminology#cluster) on y [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,17 +33,17 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-quickstart.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Getting started with Pulsar Functions</h1></header><article><div><span><p>This tutorial will walk you through running a <a href="reference-teminology.md [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-quickstart.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Getting started with Pulsar Functions</h1></header><article><div><span><p>This tutorial will walk you through running a <a href="/staging/docs/en/refere [...]
 <blockquote>
 <p>In local run mode, your Pulsar Function will communicate with your Pulsar cluster but will run outside of the cluster.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>In order to follow along with this tutorial, you'll need to have <a href="https://maven.apache.org/download.cgi">Maven</a> installed on your machine.</p>
 <h2><a class="anchor" aria-hidden="true" id="run-a-standalone-pulsar-cluster"></a><a href="#run-a-standalone-pulsar-cluster" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>In order to run our Pulsar Functions, we'll need to run a Pulsar cluster locally first. The easiest way to do that is to run Pulsar in <a href="reference-teminology.md#standalone">standalone</a> mode. Follow these steps to start up a standalone cluster:</p>
-<pre><code class="hljs css languages- bash">$ wget https://repository.apache.org/content/repositories/snapshots/org/apache/pulsar/distribution/2.0.0-incubating-SNAPSHOT/distribution-2.0.0-incubating-{{ site.preview_version_id }}-bin.tar.gz
-$ tar xvf distribution-2.0.0-incubating-{{ site.preview_version_id }}-bin.tar.gz
-$ <span class="hljs-built_in">cd</span> apache-pulsar-2.0.0-incubating-SNAPSHOT
+<p>In order to run our Pulsar Functions, we'll need to run a Pulsar cluster locally first. The easiest way to do that is to run Pulsar in <a href="/staging/docs/en/reference-terminology#standalone">standalone</a> mode. Follow these steps to start up a standalone cluster:</p>
+<pre><code class="hljs css languages- bash">$ wget http://www.apache.org/dyn/closer.cgi/incubator/pulsar/pulsar-2.1.0-incubating/apache-pulsar-2.1.0-incubating-bin.tar.gz
+$ tar xvfz apache-pulsar-2.1.0-incubating-bin.tar.gz
+$ <span class="hljs-built_in">cd</span> apache-pulsar-2.1.0-incubating
 $ bin/pulsar standalone \
   --advertised-address 127.0.0.1
 </code></pre>
@@ -75,7 +75,7 @@ $ bin/pulsar standalone \
 <pre><code class="hljs css languages- bash">--inputs topic1,topic2
 </code></pre>
 </blockquote>
-<p>We can open up another shell and use the <a href="/staging/docs/en/pulsar-admin#pulsar-client"><code>pulsar-client</code></a> tool to listen for messages on the output topic:</p>
+<p>We can open up another shell and use the <a href="/staging/docs/en/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool to listen for messages on the output topic:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-client consume persistent://public/default/exclamation-output \
   --subscription-name my-subscription \
   --num-messages 0
@@ -100,7 +100,7 @@ $ bin/pulsar standalone \
 <li>If our exclamation function <em>hadn't</em> been running, Pulsar would have durably stored the message data published to the input topic in <a href="https://bookkeeper.apache.org">Apache BookKeeper</a> until a consumer consumed and acknowledged the message</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="run-a-pulsar-function-in-cluster-mode"></a><a href="#run-a-pulsar-function-in-cluster-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 [...]
-<p><a href="#local-run-mode">Local run mode</a> is useful for development and experimentation, but if you want to use Pulsar Functions in a real Pulsar deployment, you'll want to run them in <strong>cluster mode</strong>. In this mode, Pulsar Functions run <em>inside</em> your Pulsar cluster and are managed using the same <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions"><code>pulsar-admin functions</code></a> interface that we've been using thus far.</p>
+<p><a href="#run-a-pulsar-function-in-local-run-mode">Local run mode</a> is useful for development and experimentation, but if you want to use Pulsar Functions in a real Pulsar deployment, you'll want to run them in <strong>cluster mode</strong>. In this mode, Pulsar Functions run <em>inside</em> your Pulsar cluster and are managed using the same <a href="/staging/docs/en/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface that we've been using thus far.</p>
 <p>This command, for example, would deploy the same exclamation function we ran locally above <em>in our Pulsar cluster</em> (rather than outside it):</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar examples/api-examples.jar \
@@ -184,7 +184,7 @@ $ bin/pulsar standalone \
 <p>If you see <code>Deleted successfully</code> in the output, then you've succesfully run, updated, and shut down a Pulsar Function running in cluster mode. Congrats! Now, let's go even further and run a brand new function in the next section.</p>
 <h2><a class="anchor" aria-hidden="true" id="writing-and-running-a-new-function"></a><a href="#writing-and-running-a-new-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <blockquote>
-<p>In order to write and run the <a href="/staging/docs/en/functions-api#python">Python</a> function below, you'll need to install a few dependencies:</p>
+<p>In order to write and run the <a href="/staging/docs/en/functions-api#functions-for-python">Python</a> function below, you'll need to install a few dependencies:</p>
 <pre><code class="hljs css languages- bash">$ pip install pulsar-client protobuf futures grpcio grpcio-tools
 </code></pre>
 </blockquote>
@@ -206,7 +206,7 @@ $ bin/pulsar standalone \
   --namespace default \
   --name reverse
 </code></pre>
-<p>If you see <code>Created successfully</code>, the function is ready to accept incoming messages. Because the function is running in cluster mode, we can <strong>trigger</strong> the function using the <a href="/staging/docs/en/pulsar-admin#pulsar-admin-functions-trigger"><code>trigger</code></a> command. This command will send a message that we specify to the function and also give us the function's output. Here's an example:</p>
+<p>If you see <code>Created successfully</code>, the function is ready to accept incoming messages. Because the function is running in cluster mode, we can <strong>trigger</strong> the function using the <a href="/staging/docs/en/pulsar-admin#trigger"><code>trigger</code></a> command. This command will send a message that we specify to the function and also give us the function's output. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> trigger \
   --name reverse \
   --tenant public \
@@ -216,7 +216,7 @@ $ bin/pulsar standalone \
 <p>You should get this output:</p>
 <pre><code class="hljs">This <span class="hljs-built_in">string</span> was backwards <span class="hljs-keyword">but</span> <span class="hljs-keyword">is</span> now forwards
 </code></pre>
-<p>Once again, success! We created a brand new Pulsar Function, deployed it in our Pulsar standalone cluster in <a href="#cluster-mode">cluster mode</a> and successfully triggered the function. If you're ready for more, check out one of these docs:</p>
+<p>Once again, success! We created a brand new Pulsar Function, deployed it in our Pulsar standalone cluster in <a href="#run-a-pulsar-function-in-cluster-mode">cluster mode</a> and successfully triggered the function. If you're ready for more, check out one of these docs:</p>
 <ul>
 <li><a href="/staging/docs/en/functions-api">The Pulsar Functions API</a></li>
 <li><a href="/staging/docs/en/functions-deploying">Deploying Pulsar Functions</a></li>
diff --git a/content/staging/docs/en/functions-state.html b/content/staging/docs/en/functions-state.html
new file mode 100644
index 0000000..19a7dc3
--- /dev/null
+++ b/content/staging/docs/en/functions-state.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Functions State Storage (Developer Preview) · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Since Pulsar 2.1.0 release, Pulsar integrates with Apache BookKeeper [table service](https://docs.google.com/document/d/155xAwWv5IdOitHh1NVMEwCMGgB28M3FyMiQSxEpjE-Y/e [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              const headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                if (event.target.tagName === 'A') {
+                  document.body.classList.remove('tocActive');
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-state.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar Functions State Storage (Developer Preview)</h1></header><article><div><span><p>Since Pulsar 2.1.0 release, Pulsar integrates with Apache BookKeeper < [...]
+for storing the <code>State</code> for functions. For example, A <code>WordCount</code> function can store its <code>counters</code> state into BookKeeper's table service via Pulsar Functions <a href="#api">State API</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="api"></a><a href="#api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
+<h3><a class="anchor" aria-hidden="true" id="java-api"></a><a href="#java-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<p>Currently Pulsar Functions expose following APIs for mutating and accessing State. These APIs are avaible in the <a href="/staging/docs/en/functions-api#context">Context</a> object when
+you are using <a href="/staging/docs/en/functions-api#java-sdk-functions">Java SDK</a> functions.</p>
+<h4><a class="anchor" aria-hidden="true" id="incrcounter"></a><a href="#incrcounter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
+<pre><code class="hljs css languages- java">    <span class="hljs-comment">/**
+     * Increment the builtin distributed counter refered by key
+     * <span class="hljs-doctag">@param</span> key The name of the key
+     * <span class="hljs-doctag">@param</span> amount The amount to be incremented
+     */</span>
+    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">incrCounter</span><span class="hljs-params">(String key, <span class="hljs-keyword">long</span> amount)</span></span>;
+</code></pre>
+<p>Application can use <code>incrCounter</code> to change the counter of a given <code>key</code> by the given <code>amount</code>.</p>
+<h4><a class="anchor" aria-hidden="true" id="getcounter"></a><a href="#getcounter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- java">    <span class="hljs-comment">/**
+     * Retrieve the counter value for the key.
+     *
+     * <span class="hljs-doctag">@param</span> key name of the key
+     * <span class="hljs-doctag">@return</span> the amount of the counter value for this key
+     */</span>
+    <span class="hljs-function"><span class="hljs-keyword">long</span> <span class="hljs-title">getCounter</span><span class="hljs-params">(String key)</span></span>;
+</code></pre>
+<p>Application can use <code>getCounter</code> to retrieve the counter of a given <code>key</code> mutated by <code>incrCounter</code>.</p>
+<p>Besides the <code>counter</code> API, Pulsar also exposes a general key/value API for functions to store
+general key/value state.</p>
+<h4><a class="anchor" aria-hidden="true" id="putstate"></a><a href="#putstate" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<pre><code class="hljs css languages- java">    <span class="hljs-comment">/**
+     * Update the state value for the key.
+     *
+     * <span class="hljs-doctag">@param</span> key name of the key
+     * <span class="hljs-doctag">@param</span> value state value of the key
+     */</span>
+    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">putState</span><span class="hljs-params">(String key, ByteBuffer value)</span></span>;
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="getstate"></a><a href="#getstate" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<pre><code class="hljs">    /**
+     * Retrieve the <span class="hljs-keyword">state</span> value <span class="hljs-keyword">for</span> the key.
+     *
+     * @param key name of the key
+     * @return the <span class="hljs-keyword">state</span> value <span class="hljs-keyword">for</span> the key.
+     */
+    ByteBuffer getState(String key);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<p>State currently is not supported at <a href="/staging/docs/en/functions-api#python-sdk-functions">Python SDK</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="query-state"></a><a href="#query-state" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
+<p>A Pulsar Function can use the <a href="#api">State API</a> for storing state into Pulsar's state storage
+and retrieving state back from Pulsar's state storage. Additionally Pulsar also provides
+CLI commands for querying its state.</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin <span class="hljs-built_in">functions</span> querystate \</span>
+    --tenant &lt;tenant&gt; \
+    --namespace &lt;namespace&gt; \
+    --name &lt;function-name&gt; \
+    --state-storage-url &lt;bookkeeper-service-url&gt; \
+    --key &lt;state-key&gt; \
+    [---watch]
+</code></pre>
+<p>If <code>--watch</code> is specified, the CLI will watch the value of the provided <code>state-key</code>.</p>
+<h2><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<h3><a class="anchor" aria-hidden="true" id="java-example"></a><a href="#java-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/WordCountFunction.java"><code>WordCountFunction</code></a>
+ is a very good example
+demonstrating on how Application can easily store <code>state</code> in Pulsar Functions.</p>
+<pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">WordCountFunction</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">String</span>, <span class="hljs-title">Void</span>&gt; </span>{
+    <span class="hljs-meta">@Override</span>
+    <span class="hljs-function"><span class="hljs-keyword">public</span> Void <span class="hljs-title">process</span><span class="hljs-params">(String input, Context context)</span> <span class="hljs-keyword">throws</span> Exception </span>{
+        Arrays.asList(input.split(<span class="hljs-string">"\\."</span>)).forEach(word -&gt; context.incrCounter(word, <span class="hljs-number">1</span>));
+        <span class="hljs-keyword">return</span> <span class="hljs-keyword">null</span>;
+    }
+}
+</code></pre>
+<p>The logic of this <code>WordCount</code> function is pretty simple and straightforward:</p>
+<ol>
+<li>The function first splits the received <code>String</code> into multiple words using regex <code>\\.</code>.</li>
+<li>For each <code>word</code>, the function increments the corresponding <code>counter</code> by 1 (via <code>incrCounter(key, amount)</code>).</li>
+</ol>
+<h3><a class="anchor" aria-hidden="true" id="python-example"></a><a href="#python-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>State currently is not supported at <a href="/staging/docs/en/functions-api#python-sdk-functions">Python SDK</a>.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-guarantees">← Processing guarantees</a><a class="docs-next button" href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#api">API</a><ul class="toc-headings"><li><a href="#java-api">Java API</a></li><li><a href="#python-api">Python API</a></li></ul></li><li><a href="#query [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/staging/contact">Contact</a></li>' +
+            '<li><a href="/staging/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/incubator-pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/incubator-pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/staging/resources">Resources</a></li>' +
+            '<li><a href="/staging/team">Team</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span><span><script src="/staging/js/pjax-api.min.js"></script><script>window.navfoo = new Pjax({
+            areas: [
+              // try to use the first query.
+              '.mainContainer, .docsNavContainer .toc .navWrapper, .onPageNav',
+              // fallback
+              'body'
+            ],
+            link: '.docsNavContainer:not(.docsSliderActive) a',
+            update: {
+              script: false,
+            }
+          });
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/en/functions-state/index.html b/content/staging/docs/en/functions-state/index.html
new file mode 100644
index 0000000..19a7dc3
--- /dev/null
+++ b/content/staging/docs/en/functions-state/index.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Functions State Storage (Developer Preview) · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Since Pulsar 2.1.0 release, Pulsar integrates with Apache BookKeeper [table service](https://docs.google.com/document/d/155xAwWv5IdOitHh1NVMEwCMGgB28M3FyMiQSxEpjE-Y/e [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              const headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                if (event.target.tagName === 'A') {
+                  document.body.classList.remove('tocActive');
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/functions-state.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar Functions State Storage (Developer Preview)</h1></header><article><div><span><p>Since Pulsar 2.1.0 release, Pulsar integrates with Apache BookKeeper < [...]
+for storing the <code>State</code> for functions. For example, A <code>WordCount</code> function can store its <code>counters</code> state into BookKeeper's table service via Pulsar Functions <a href="#api">State API</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="api"></a><a href="#api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
+<h3><a class="anchor" aria-hidden="true" id="java-api"></a><a href="#java-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<p>Currently Pulsar Functions expose following APIs for mutating and accessing State. These APIs are avaible in the <a href="/staging/docs/en/functions-api#context">Context</a> object when
+you are using <a href="/staging/docs/en/functions-api#java-sdk-functions">Java SDK</a> functions.</p>
+<h4><a class="anchor" aria-hidden="true" id="incrcounter"></a><a href="#incrcounter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
+<pre><code class="hljs css languages- java">    <span class="hljs-comment">/**
+     * Increment the builtin distributed counter refered by key
+     * <span class="hljs-doctag">@param</span> key The name of the key
+     * <span class="hljs-doctag">@param</span> amount The amount to be incremented
+     */</span>
+    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">incrCounter</span><span class="hljs-params">(String key, <span class="hljs-keyword">long</span> amount)</span></span>;
+</code></pre>
+<p>Application can use <code>incrCounter</code> to change the counter of a given <code>key</code> by the given <code>amount</code>.</p>
+<h4><a class="anchor" aria-hidden="true" id="getcounter"></a><a href="#getcounter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- java">    <span class="hljs-comment">/**
+     * Retrieve the counter value for the key.
+     *
+     * <span class="hljs-doctag">@param</span> key name of the key
+     * <span class="hljs-doctag">@return</span> the amount of the counter value for this key
+     */</span>
+    <span class="hljs-function"><span class="hljs-keyword">long</span> <span class="hljs-title">getCounter</span><span class="hljs-params">(String key)</span></span>;
+</code></pre>
+<p>Application can use <code>getCounter</code> to retrieve the counter of a given <code>key</code> mutated by <code>incrCounter</code>.</p>
+<p>Besides the <code>counter</code> API, Pulsar also exposes a general key/value API for functions to store
+general key/value state.</p>
+<h4><a class="anchor" aria-hidden="true" id="putstate"></a><a href="#putstate" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<pre><code class="hljs css languages- java">    <span class="hljs-comment">/**
+     * Update the state value for the key.
+     *
+     * <span class="hljs-doctag">@param</span> key name of the key
+     * <span class="hljs-doctag">@param</span> value state value of the key
+     */</span>
+    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">putState</span><span class="hljs-params">(String key, ByteBuffer value)</span></span>;
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="getstate"></a><a href="#getstate" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<pre><code class="hljs">    /**
+     * Retrieve the <span class="hljs-keyword">state</span> value <span class="hljs-keyword">for</span> the key.
+     *
+     * @param key name of the key
+     * @return the <span class="hljs-keyword">state</span> value <span class="hljs-keyword">for</span> the key.
+     */
+    ByteBuffer getState(String key);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<p>State currently is not supported at <a href="/staging/docs/en/functions-api#python-sdk-functions">Python SDK</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="query-state"></a><a href="#query-state" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
+<p>A Pulsar Function can use the <a href="#api">State API</a> for storing state into Pulsar's state storage
+and retrieving state back from Pulsar's state storage. Additionally Pulsar also provides
+CLI commands for querying its state.</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin <span class="hljs-built_in">functions</span> querystate \</span>
+    --tenant &lt;tenant&gt; \
+    --namespace &lt;namespace&gt; \
+    --name &lt;function-name&gt; \
+    --state-storage-url &lt;bookkeeper-service-url&gt; \
+    --key &lt;state-key&gt; \
+    [---watch]
+</code></pre>
+<p>If <code>--watch</code> is specified, the CLI will watch the value of the provided <code>state-key</code>.</p>
+<h2><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<h3><a class="anchor" aria-hidden="true" id="java-example"></a><a href="#java-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/WordCountFunction.java"><code>WordCountFunction</code></a>
+ is a very good example
+demonstrating on how Application can easily store <code>state</code> in Pulsar Functions.</p>
+<pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">WordCountFunction</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">String</span>, <span class="hljs-title">Void</span>&gt; </span>{
+    <span class="hljs-meta">@Override</span>
+    <span class="hljs-function"><span class="hljs-keyword">public</span> Void <span class="hljs-title">process</span><span class="hljs-params">(String input, Context context)</span> <span class="hljs-keyword">throws</span> Exception </span>{
+        Arrays.asList(input.split(<span class="hljs-string">"\\."</span>)).forEach(word -&gt; context.incrCounter(word, <span class="hljs-number">1</span>));
+        <span class="hljs-keyword">return</span> <span class="hljs-keyword">null</span>;
+    }
+}
+</code></pre>
+<p>The logic of this <code>WordCount</code> function is pretty simple and straightforward:</p>
+<ol>
+<li>The function first splits the received <code>String</code> into multiple words using regex <code>\\.</code>.</li>
+<li>For each <code>word</code>, the function increments the corresponding <code>counter</code> by 1 (via <code>incrCounter(key, amount)</code>).</li>
+</ol>
+<h3><a class="anchor" aria-hidden="true" id="python-example"></a><a href="#python-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>State currently is not supported at <a href="/staging/docs/en/functions-api#python-sdk-functions">Python SDK</a>.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/en/functions-guarantees">← Processing guarantees</a><a class="docs-next button" href="/staging/docs/en/functions-metrics">Metrics for Pulsar Functions →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#api">API</a><ul class="toc-headings"><li><a href="#java-api">Java API</a></li><li><a href="#python-api">Python API</a></li></ul></li><li><a href="#query [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/staging/contact">Contact</a></li>' +
+            '<li><a href="/staging/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/incubator-pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/incubator-pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/staging/resources">Resources</a></li>' +
+            '<li><a href="/staging/team">Team</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span><span><script src="/staging/js/pjax-api.min.js"></script><script>window.navfoo = new Pjax({
+            areas: [
+              // try to use the first query.
+              '.mainContainer, .docsNavContainer .toc .navWrapper, .onPageNav',
+              // fallback
+              'body'
+            ],
+            link: '.docsNavContainer:not(.docsSliderActive) a',
+            update: {
+              script: false,
+            }
+          });
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/en/io-connectors.html b/content/staging/docs/en/io-connectors.html
index 2af2262..c967f5a 100644
--- a/content/staging/docs/en/io-connectors.html
+++ b/content/staging/docs/en/io-connectors.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-connectors/index.html b/content/staging/docs/en/io-connectors/index.html
index 2af2262..c967f5a 100644
--- a/content/staging/docs/en/io-connectors/index.html
+++ b/content/staging/docs/en/io-connectors/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-develop.html b/content/staging/docs/en/io-develop.html
index fe3a4dc..bdf343c 100644
--- a/content/staging/docs/en/io-develop.html
+++ b/content/staging/docs/en/io-develop.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-develop/index.html b/content/staging/docs/en/io-develop/index.html
index fe3a4dc..bdf343c 100644
--- a/content/staging/docs/en/io-develop/index.html
+++ b/content/staging/docs/en/io-develop/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-managing.html b/content/staging/docs/en/io-managing.html
index c5b0b38..2020025 100644
--- a/content/staging/docs/en/io-managing.html
+++ b/content/staging/docs/en/io-managing.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-managing/index.html b/content/staging/docs/en/io-managing/index.html
index c5b0b38..2020025 100644
--- a/content/staging/docs/en/io-managing/index.html
+++ b/content/staging/docs/en/io-managing/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-overview.html b/content/staging/docs/en/io-overview.html
index 8444a84..9ad858c 100644
--- a/content/staging/docs/en/io-overview.html
+++ b/content/staging/docs/en/io-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-overview/index.html b/content/staging/docs/en/io-overview/index.html
index 8444a84..9ad858c 100644
--- a/content/staging/docs/en/io-overview/index.html
+++ b/content/staging/docs/en/io-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-quickstart.html b/content/staging/docs/en/io-quickstart.html
index e81ccbe..bcc659c 100644
--- a/content/staging/docs/en/io-quickstart.html
+++ b/content/staging/docs/en/io-quickstart.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/io-quickstart/index.html b/content/staging/docs/en/io-quickstart/index.html
index e81ccbe..bcc659c 100644
--- a/content/staging/docs/en/io-quickstart/index.html
+++ b/content/staging/docs/en/io-quickstart/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/pulsar-2.0.html b/content/staging/docs/en/pulsar-2.0.html
index 0a127c8..c4280c8 100644
--- a/content/staging/docs/en/pulsar-2.0.html
+++ b/content/staging/docs/en/pulsar-2.0.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/pulsar-2.0/index.html b/content/staging/docs/en/pulsar-2.0/index.html
index 0a127c8..c4280c8 100644
--- a/content/staging/docs/en/pulsar-2.0/index.html
+++ b/content/staging/docs/en/pulsar-2.0/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/pulsar-admin.html b/content/staging/docs/en/pulsar-admin.html
index ebee572..38b82f2 100644
--- a/content/staging/docs/en/pulsar-admin.html
+++ b/content/staging/docs/en/pulsar-admin.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/pulsar-admin/index.html b/content/staging/docs/en/pulsar-admin/index.html
index ebee572..38b82f2 100644
--- a/content/staging/docs/en/pulsar-admin/index.html
+++ b/content/staging/docs/en/pulsar-admin/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/reference-cli-tools.html b/content/staging/docs/en/reference-cli-tools.html
index 330e0e5..f1ce0ea 100644
--- a/content/staging/docs/en/reference-cli-tools.html
+++ b/content/staging/docs/en/reference-cli-tools.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/reference-cli-tools/index.html b/content/staging/docs/en/reference-cli-tools/index.html
index 330e0e5..f1ce0ea 100644
--- a/content/staging/docs/en/reference-cli-tools/index.html
+++ b/content/staging/docs/en/reference-cli-tools/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/reference-configuration.html b/content/staging/docs/en/reference-configuration.html
index aed4ab4..bd5ab12 100644
--- a/content/staging/docs/en/reference-configuration.html
+++ b/content/staging/docs/en/reference-configuration.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/reference-configuration/index.html b/content/staging/docs/en/reference-configuration/index.html
index aed4ab4..bd5ab12 100644
--- a/content/staging/docs/en/reference-configuration/index.html
+++ b/content/staging/docs/en/reference-configuration/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/reference-terminology.html b/content/staging/docs/en/reference-terminology.html
index 02cef0a..95cbcf9 100644
--- a/content/staging/docs/en/reference-terminology.html
+++ b/content/staging/docs/en/reference-terminology.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/reference-terminology/index.html b/content/staging/docs/en/reference-terminology/index.html
index 02cef0a..95cbcf9 100644
--- a/content/staging/docs/en/reference-terminology/index.html
+++ b/content/staging/docs/en/reference-terminology/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ref [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-athenz.html b/content/staging/docs/en/security-athenz.html
index 93251f0..d11b871 100644
--- a/content/staging/docs/en/security-athenz.html
+++ b/content/staging/docs/en/security-athenz.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-athenz/index.html b/content/staging/docs/en/security-athenz/index.html
index 93251f0..d11b871 100644
--- a/content/staging/docs/en/security-athenz/index.html
+++ b/content/staging/docs/en/security-athenz/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-authorization.html b/content/staging/docs/en/security-authorization.html
index dd5f71d..1cb52c2 100644
--- a/content/staging/docs/en/security-authorization.html
+++ b/content/staging/docs/en/security-authorization.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-authorization/index.html b/content/staging/docs/en/security-authorization/index.html
index dd5f71d..1cb52c2 100644
--- a/content/staging/docs/en/security-authorization/index.html
+++ b/content/staging/docs/en/security-authorization/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-encryption.html b/content/staging/docs/en/security-encryption.html
index 00430d7..348c51c 100644
--- a/content/staging/docs/en/security-encryption.html
+++ b/content/staging/docs/en/security-encryption.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-encryption/index.html b/content/staging/docs/en/security-encryption/index.html
index 00430d7..348c51c 100644
--- a/content/staging/docs/en/security-encryption/index.html
+++ b/content/staging/docs/en/security-encryption/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-extending.html b/content/staging/docs/en/security-extending.html
index ae5b425..df2b9f0 100644
--- a/content/staging/docs/en/security-extending.html
+++ b/content/staging/docs/en/security-extending.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-extending/index.html b/content/staging/docs/en/security-extending/index.html
index ae5b425..df2b9f0 100644
--- a/content/staging/docs/en/security-extending/index.html
+++ b/content/staging/docs/en/security-extending/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-overview.html b/content/staging/docs/en/security-overview.html
index ba789f0..ec49f8e 100644
--- a/content/staging/docs/en/security-overview.html
+++ b/content/staging/docs/en/security-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-overview/index.html b/content/staging/docs/en/security-overview/index.html
index ba789f0..ec49f8e 100644
--- a/content/staging/docs/en/security-overview/index.html
+++ b/content/staging/docs/en/security-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-tls-authentication.html b/content/staging/docs/en/security-tls-authentication.html
index 311fd51..09f0208 100644
--- a/content/staging/docs/en/security-tls-authentication.html
+++ b/content/staging/docs/en/security-tls-authentication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-tls-authentication/index.html b/content/staging/docs/en/security-tls-authentication/index.html
index 311fd51..09f0208 100644
--- a/content/staging/docs/en/security-tls-authentication/index.html
+++ b/content/staging/docs/en/security-tls-authentication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-tls-transport.html b/content/staging/docs/en/security-tls-transport.html
index c15ba41..1d67ea8 100644
--- a/content/staging/docs/en/security-tls-transport.html
+++ b/content/staging/docs/en/security-tls-transport.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/security-tls-transport/index.html b/content/staging/docs/en/security-tls-transport/index.html
index c15ba41..1d67ea8 100644
--- a/content/staging/docs/en/security-tls-transport/index.html
+++ b/content/staging/docs/en/security-tls-transport/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Sec [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/standalone-docker.html b/content/staging/docs/en/standalone-docker.html
index de90075..775f6cb 100644
--- a/content/staging/docs/en/standalone-docker.html
+++ b/content/staging/docs/en/standalone-docker.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/standalone-docker/index.html b/content/staging/docs/en/standalone-docker/index.html
index de90075..775f6cb 100644
--- a/content/staging/docs/en/standalone-docker/index.html
+++ b/content/staging/docs/en/standalone-docker/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/standalone.html b/content/staging/docs/en/standalone.html
index d8e12d7..e9f270d 100644
--- a/content/staging/docs/en/standalone.html
+++ b/content/staging/docs/en/standalone.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/en/standalone/index.html b/content/staging/docs/en/standalone/index.html
index d8e12d7..e9f270d 100644
--- a/content/staging/docs/en/standalone/index.html
+++ b/content/staging/docs/en/standalone/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/functions-state.html b/content/staging/docs/functions-state.html
new file mode 100644
index 0000000..073b484
--- /dev/null
+++ b/content/staging/docs/functions-state.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+                <!--
+                window.location.href = "/staging/docs/en/functions-state";
+                // -->
+                </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-state/index.html b/content/staging/docs/functions-state/index.html
new file mode 100644
index 0000000..073b484
--- /dev/null
+++ b/content/staging/docs/functions-state/index.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+                <!--
+                window.location.href = "/staging/docs/en/functions-state";
+                // -->
+                </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/ja/adaptors-kafka.html b/content/staging/docs/ja/adaptors-kafka.html
index 94a4429..bcd8645 100644
--- a/content/staging/docs/ja/adaptors-kafka.html
+++ b/content/staging/docs/ja/adaptors-kafka.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/adaptors-kafka/index.html b/content/staging/docs/ja/adaptors-kafka/index.html
index 94a4429..bcd8645 100644
--- a/content/staging/docs/ja/adaptors-kafka/index.html
+++ b/content/staging/docs/ja/adaptors-kafka/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/adaptors-spark.html b/content/staging/docs/ja/adaptors-spark.html
index 34f04b4..8e9c485 100644
--- a/content/staging/docs/ja/adaptors-spark.html
+++ b/content/staging/docs/ja/adaptors-spark.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/adaptors-spark/index.html b/content/staging/docs/ja/adaptors-spark/index.html
index 34f04b4..8e9c485 100644
--- a/content/staging/docs/ja/adaptors-spark/index.html
+++ b/content/staging/docs/ja/adaptors-spark/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/adaptors-storm.html b/content/staging/docs/ja/adaptors-storm.html
index a0c4dd7..63a8cbc 100644
--- a/content/staging/docs/ja/adaptors-storm.html
+++ b/content/staging/docs/ja/adaptors-storm.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/adaptors-storm/index.html b/content/staging/docs/ja/adaptors-storm/index.html
index a0c4dd7..63a8cbc 100644
--- a/content/staging/docs/ja/adaptors-storm/index.html
+++ b/content/staging/docs/ja/adaptors-storm/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Ada [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-brokers.html b/content/staging/docs/ja/admin-api-brokers.html
index a788645..680155e 100644
--- a/content/staging/docs/ja/admin-api-brokers.html
+++ b/content/staging/docs/ja/admin-api-brokers.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-brokers/index.html b/content/staging/docs/ja/admin-api-brokers/index.html
index a788645..680155e 100644
--- a/content/staging/docs/ja/admin-api-brokers/index.html
+++ b/content/staging/docs/ja/admin-api-brokers/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-clusters.html b/content/staging/docs/ja/admin-api-clusters.html
index b921575..f4eb780 100644
--- a/content/staging/docs/ja/admin-api-clusters.html
+++ b/content/staging/docs/ja/admin-api-clusters.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-clusters/index.html b/content/staging/docs/ja/admin-api-clusters/index.html
index b921575..f4eb780 100644
--- a/content/staging/docs/ja/admin-api-clusters/index.html
+++ b/content/staging/docs/ja/admin-api-clusters/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-namespaces.html b/content/staging/docs/ja/admin-api-namespaces.html
index fcd02b4..f5dc9b0 100644
--- a/content/staging/docs/ja/admin-api-namespaces.html
+++ b/content/staging/docs/ja/admin-api-namespaces.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-namespaces/index.html b/content/staging/docs/ja/admin-api-namespaces/index.html
index fcd02b4..f5dc9b0 100644
--- a/content/staging/docs/ja/admin-api-namespaces/index.html
+++ b/content/staging/docs/ja/admin-api-namespaces/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-non-persistent-topics.html b/content/staging/docs/ja/admin-api-non-persistent-topics.html
index 2da5642..1f09187 100644
--- a/content/staging/docs/ja/admin-api-non-persistent-topics.html
+++ b/content/staging/docs/ja/admin-api-non-persistent-topics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-non-persistent-topics/index.html b/content/staging/docs/ja/admin-api-non-persistent-topics/index.html
index 2da5642..1f09187 100644
--- a/content/staging/docs/ja/admin-api-non-persistent-topics/index.html
+++ b/content/staging/docs/ja/admin-api-non-persistent-topics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-overview.html b/content/staging/docs/ja/admin-api-overview.html
index 1bbedba..501303b 100644
--- a/content/staging/docs/ja/admin-api-overview.html
+++ b/content/staging/docs/ja/admin-api-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-overview/index.html b/content/staging/docs/ja/admin-api-overview/index.html
index 1bbedba..501303b 100644
--- a/content/staging/docs/ja/admin-api-overview/index.html
+++ b/content/staging/docs/ja/admin-api-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-partitioned-topics.html b/content/staging/docs/ja/admin-api-partitioned-topics.html
index 182209c..3e50799 100644
--- a/content/staging/docs/ja/admin-api-partitioned-topics.html
+++ b/content/staging/docs/ja/admin-api-partitioned-topics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-partitioned-topics/index.html b/content/staging/docs/ja/admin-api-partitioned-topics/index.html
index 182209c..3e50799 100644
--- a/content/staging/docs/ja/admin-api-partitioned-topics/index.html
+++ b/content/staging/docs/ja/admin-api-partitioned-topics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-permissions.html b/content/staging/docs/ja/admin-api-permissions.html
index eb40eb2..0a7d6bd 100644
--- a/content/staging/docs/ja/admin-api-permissions.html
+++ b/content/staging/docs/ja/admin-api-permissions.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-permissions/index.html b/content/staging/docs/ja/admin-api-permissions/index.html
index eb40eb2..0a7d6bd 100644
--- a/content/staging/docs/ja/admin-api-permissions/index.html
+++ b/content/staging/docs/ja/admin-api-permissions/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-persistent-topics.html b/content/staging/docs/ja/admin-api-persistent-topics.html
index 9a98cbb..6b6af8d 100644
--- a/content/staging/docs/ja/admin-api-persistent-topics.html
+++ b/content/staging/docs/ja/admin-api-persistent-topics.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-persistent-topics/index.html b/content/staging/docs/ja/admin-api-persistent-topics/index.html
index 9a98cbb..6b6af8d 100644
--- a/content/staging/docs/ja/admin-api-persistent-topics/index.html
+++ b/content/staging/docs/ja/admin-api-persistent-topics/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-tenants.html b/content/staging/docs/ja/admin-api-tenants.html
index 3808383..53e8caf 100644
--- a/content/staging/docs/ja/admin-api-tenants.html
+++ b/content/staging/docs/ja/admin-api-tenants.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/admin-api-tenants/index.html b/content/staging/docs/ja/admin-api-tenants/index.html
index 3808383..53e8caf 100644
--- a/content/staging/docs/ja/admin-api-tenants/index.html
+++ b/content/staging/docs/ja/admin-api-tenants/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-dashboard.html b/content/staging/docs/ja/administration-dashboard.html
index 3933ad8..51dd0db 100644
--- a/content/staging/docs/ja/administration-dashboard.html
+++ b/content/staging/docs/ja/administration-dashboard.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-dashboard/index.html b/content/staging/docs/ja/administration-dashboard/index.html
index 3933ad8..51dd0db 100644
--- a/content/staging/docs/ja/administration-dashboard/index.html
+++ b/content/staging/docs/ja/administration-dashboard/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-geo.html b/content/staging/docs/ja/administration-geo.html
index 152b790..c538a8b 100644
--- a/content/staging/docs/ja/administration-geo.html
+++ b/content/staging/docs/ja/administration-geo.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-geo/index.html b/content/staging/docs/ja/administration-geo/index.html
index 152b790..c538a8b 100644
--- a/content/staging/docs/ja/administration-geo/index.html
+++ b/content/staging/docs/ja/administration-geo/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-load-distribution.html b/content/staging/docs/ja/administration-load-distribution.html
index 5bb3c71..c92e96c 100644
--- a/content/staging/docs/ja/administration-load-distribution.html
+++ b/content/staging/docs/ja/administration-load-distribution.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-load-distribution/index.html b/content/staging/docs/ja/administration-load-distribution/index.html
index 5bb3c71..c92e96c 100644
--- a/content/staging/docs/ja/administration-load-distribution/index.html
+++ b/content/staging/docs/ja/administration-load-distribution/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-proxy.html b/content/staging/docs/ja/administration-proxy.html
index 5573d56..61d4af9 100644
--- a/content/staging/docs/ja/administration-proxy.html
+++ b/content/staging/docs/ja/administration-proxy.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-proxy/index.html b/content/staging/docs/ja/administration-proxy/index.html
index 5573d56..61d4af9 100644
--- a/content/staging/docs/ja/administration-proxy/index.html
+++ b/content/staging/docs/ja/administration-proxy/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-stats.html b/content/staging/docs/ja/administration-stats.html
index 7273857..7691de1 100644
--- a/content/staging/docs/ja/administration-stats.html
+++ b/content/staging/docs/ja/administration-stats.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-stats/index.html b/content/staging/docs/ja/administration-stats/index.html
index 7273857..7691de1 100644
--- a/content/staging/docs/ja/administration-stats/index.html
+++ b/content/staging/docs/ja/administration-stats/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-zk-bk.html b/content/staging/docs/ja/administration-zk-bk.html
index 7e19254..060595a 100644
--- a/content/staging/docs/ja/administration-zk-bk.html
+++ b/content/staging/docs/ja/administration-zk-bk.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/administration-zk-bk/index.html b/content/staging/docs/ja/administration-zk-bk/index.html
index 7e19254..060595a 100644
--- a/content/staging/docs/ja/administration-zk-bk/index.html
+++ b/content/staging/docs/ja/administration-zk-bk/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Adm [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-cpp.html b/content/staging/docs/ja/client-libraries-cpp.html
index 984d295..37cae17 100644
--- a/content/staging/docs/ja/client-libraries-cpp.html
+++ b/content/staging/docs/ja/client-libraries-cpp.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-cpp/index.html b/content/staging/docs/ja/client-libraries-cpp/index.html
index 984d295..37cae17 100644
--- a/content/staging/docs/ja/client-libraries-cpp/index.html
+++ b/content/staging/docs/ja/client-libraries-cpp/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-go.html b/content/staging/docs/ja/client-libraries-go.html
index 513db84..3e23d71 100644
--- a/content/staging/docs/ja/client-libraries-go.html
+++ b/content/staging/docs/ja/client-libraries-go.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-go/index.html b/content/staging/docs/ja/client-libraries-go/index.html
index 513db84..3e23d71 100644
--- a/content/staging/docs/ja/client-libraries-go/index.html
+++ b/content/staging/docs/ja/client-libraries-go/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-java.html b/content/staging/docs/ja/client-libraries-java.html
index 198eb32..ba8e315 100644
--- a/content/staging/docs/ja/client-libraries-java.html
+++ b/content/staging/docs/ja/client-libraries-java.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-java/index.html b/content/staging/docs/ja/client-libraries-java/index.html
index 198eb32..ba8e315 100644
--- a/content/staging/docs/ja/client-libraries-java/index.html
+++ b/content/staging/docs/ja/client-libraries-java/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-python.html b/content/staging/docs/ja/client-libraries-python.html
index da4d051..6577351 100644
--- a/content/staging/docs/ja/client-libraries-python.html
+++ b/content/staging/docs/ja/client-libraries-python.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-python/index.html b/content/staging/docs/ja/client-libraries-python/index.html
index da4d051..6577351 100644
--- a/content/staging/docs/ja/client-libraries-python/index.html
+++ b/content/staging/docs/ja/client-libraries-python/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-websocket.html b/content/staging/docs/ja/client-libraries-websocket.html
index 0c84b04..2420e44 100644
--- a/content/staging/docs/ja/client-libraries-websocket.html
+++ b/content/staging/docs/ja/client-libraries-websocket.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries-websocket/index.html b/content/staging/docs/ja/client-libraries-websocket/index.html
index 0c84b04..2420e44 100644
--- a/content/staging/docs/ja/client-libraries-websocket/index.html
+++ b/content/staging/docs/ja/client-libraries-websocket/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Cli [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries.html b/content/staging/docs/ja/client-libraries.html
index ba11ab9..3c5e41e 100644
--- a/content/staging/docs/ja/client-libraries.html
+++ b/content/staging/docs/ja/client-libraries.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/client-libraries/index.html b/content/staging/docs/ja/client-libraries/index.html
index ba11ab9..3c5e41e 100644
--- a/content/staging/docs/ja/client-libraries/index.html
+++ b/content/staging/docs/ja/client-libraries/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Get [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-architecture-overview.html b/content/staging/docs/ja/concepts-architecture-overview.html
index d716084..ff80198 100644
--- a/content/staging/docs/ja/concepts-architecture-overview.html
+++ b/content/staging/docs/ja/concepts-architecture-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-architecture-overview/index.html b/content/staging/docs/ja/concepts-architecture-overview/index.html
index d716084..ff80198 100644
--- a/content/staging/docs/ja/concepts-architecture-overview/index.html
+++ b/content/staging/docs/ja/concepts-architecture-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-authentication.html b/content/staging/docs/ja/concepts-authentication.html
index 0cd996e..ac6fb84 100644
--- a/content/staging/docs/ja/concepts-authentication.html
+++ b/content/staging/docs/ja/concepts-authentication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-authentication/index.html b/content/staging/docs/ja/concepts-authentication/index.html
index 0cd996e..ac6fb84 100644
--- a/content/staging/docs/ja/concepts-authentication/index.html
+++ b/content/staging/docs/ja/concepts-authentication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-clients.html b/content/staging/docs/ja/concepts-clients.html
index 56ab4e5..22f1404 100644
--- a/content/staging/docs/ja/concepts-clients.html
+++ b/content/staging/docs/ja/concepts-clients.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-clients/index.html b/content/staging/docs/ja/concepts-clients/index.html
index 56ab4e5..22f1404 100644
--- a/content/staging/docs/ja/concepts-clients/index.html
+++ b/content/staging/docs/ja/concepts-clients/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-messaging.html b/content/staging/docs/ja/concepts-messaging.html
index 906d697..61cd7e1 100644
--- a/content/staging/docs/ja/concepts-messaging.html
+++ b/content/staging/docs/ja/concepts-messaging.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-messaging/index.html b/content/staging/docs/ja/concepts-messaging/index.html
index 906d697..61cd7e1 100644
--- a/content/staging/docs/ja/concepts-messaging/index.html
+++ b/content/staging/docs/ja/concepts-messaging/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-multi-tenancy.html b/content/staging/docs/ja/concepts-multi-tenancy.html
index 6ef9e4d..2a1bc8a 100644
--- a/content/staging/docs/ja/concepts-multi-tenancy.html
+++ b/content/staging/docs/ja/concepts-multi-tenancy.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-multi-tenancy/index.html b/content/staging/docs/ja/concepts-multi-tenancy/index.html
index 6ef9e4d..2a1bc8a 100644
--- a/content/staging/docs/ja/concepts-multi-tenancy/index.html
+++ b/content/staging/docs/ja/concepts-multi-tenancy/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-overview.html b/content/staging/docs/ja/concepts-overview.html
index 625f8c6..ea4950c 100644
--- a/content/staging/docs/ja/concepts-overview.html
+++ b/content/staging/docs/ja/concepts-overview.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-overview/index.html b/content/staging/docs/ja/concepts-overview/index.html
index 625f8c6..ea4950c 100644
--- a/content/staging/docs/ja/concepts-overview/index.html
+++ b/content/staging/docs/ja/concepts-overview/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-replication.html b/content/staging/docs/ja/concepts-replication.html
index 418fb54..ed73ec4 100644
--- a/content/staging/docs/ja/concepts-replication.html
+++ b/content/staging/docs/ja/concepts-replication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-replication/index.html b/content/staging/docs/ja/concepts-replication/index.html
index 418fb54..ed73ec4 100644
--- a/content/staging/docs/ja/concepts-replication/index.html
+++ b/content/staging/docs/ja/concepts-replication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-schema-registry.html b/content/staging/docs/ja/concepts-schema-registry.html
index 4384932..fe7ff83 100644
--- a/content/staging/docs/ja/concepts-schema-registry.html
+++ b/content/staging/docs/ja/concepts-schema-registry.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-schema-registry/index.html b/content/staging/docs/ja/concepts-schema-registry/index.html
index 4384932..fe7ff83 100644
--- a/content/staging/docs/ja/concepts-schema-registry/index.html
+++ b/content/staging/docs/ja/concepts-schema-registry/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-tiered-storage.html b/content/staging/docs/ja/concepts-tiered-storage.html
index e7a86e9..1fc378c 100644
--- a/content/staging/docs/ja/concepts-tiered-storage.html
+++ b/content/staging/docs/ja/concepts-tiered-storage.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-tiered-storage/index.html b/content/staging/docs/ja/concepts-tiered-storage/index.html
index e7a86e9..1fc378c 100644
--- a/content/staging/docs/ja/concepts-tiered-storage/index.html
+++ b/content/staging/docs/ja/concepts-tiered-storage/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-topic-compaction.html b/content/staging/docs/ja/concepts-topic-compaction.html
index dc2fd1d..391dd6c 100644
--- a/content/staging/docs/ja/concepts-topic-compaction.html
+++ b/content/staging/docs/ja/concepts-topic-compaction.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/concepts-topic-compaction/index.html b/content/staging/docs/ja/concepts-topic-compaction/index.html
index dc2fd1d..391dd6c 100644
--- a/content/staging/docs/ja/concepts-topic-compaction/index.html
+++ b/content/staging/docs/ja/concepts-topic-compaction/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Con [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-compaction.html b/content/staging/docs/ja/cookbooks-compaction.html
index e6934db..0dcb72a 100644
--- a/content/staging/docs/ja/cookbooks-compaction.html
+++ b/content/staging/docs/ja/cookbooks-compaction.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-compaction/index.html b/content/staging/docs/ja/cookbooks-compaction/index.html
index e6934db..0dcb72a 100644
--- a/content/staging/docs/ja/cookbooks-compaction/index.html
+++ b/content/staging/docs/ja/cookbooks-compaction/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-deduplication.html b/content/staging/docs/ja/cookbooks-deduplication.html
index c308c33..cb34c46 100644
--- a/content/staging/docs/ja/cookbooks-deduplication.html
+++ b/content/staging/docs/ja/cookbooks-deduplication.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-deduplication/index.html b/content/staging/docs/ja/cookbooks-deduplication/index.html
index c308c33..cb34c46 100644
--- a/content/staging/docs/ja/cookbooks-deduplication/index.html
+++ b/content/staging/docs/ja/cookbooks-deduplication/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-encryption.html b/content/staging/docs/ja/cookbooks-encryption.html
index c003471..77e16c3 100644
--- a/content/staging/docs/ja/cookbooks-encryption.html
+++ b/content/staging/docs/ja/cookbooks-encryption.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-encryption/index.html b/content/staging/docs/ja/cookbooks-encryption/index.html
index c003471..77e16c3 100644
--- a/content/staging/docs/ja/cookbooks-encryption/index.html
+++ b/content/staging/docs/ja/cookbooks-encryption/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-message-queue.html b/content/staging/docs/ja/cookbooks-message-queue.html
index 91257b9..4328d8d 100644
--- a/content/staging/docs/ja/cookbooks-message-queue.html
+++ b/content/staging/docs/ja/cookbooks-message-queue.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-message-queue/index.html b/content/staging/docs/ja/cookbooks-message-queue/index.html
index 91257b9..4328d8d 100644
--- a/content/staging/docs/ja/cookbooks-message-queue/index.html
+++ b/content/staging/docs/ja/cookbooks-message-queue/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-non-persistent.html b/content/staging/docs/ja/cookbooks-non-persistent.html
index 7c08a88..7e4aec7 100644
--- a/content/staging/docs/ja/cookbooks-non-persistent.html
+++ b/content/staging/docs/ja/cookbooks-non-persistent.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-non-persistent/index.html b/content/staging/docs/ja/cookbooks-non-persistent/index.html
index 7c08a88..7e4aec7 100644
--- a/content/staging/docs/ja/cookbooks-non-persistent/index.html
+++ b/content/staging/docs/ja/cookbooks-non-persistent/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-partitioned.html b/content/staging/docs/ja/cookbooks-partitioned.html
index 4678d2d..be484d9 100644
--- a/content/staging/docs/ja/cookbooks-partitioned.html
+++ b/content/staging/docs/ja/cookbooks-partitioned.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-partitioned/index.html b/content/staging/docs/ja/cookbooks-partitioned/index.html
index 4678d2d..be484d9 100644
--- a/content/staging/docs/ja/cookbooks-partitioned/index.html
+++ b/content/staging/docs/ja/cookbooks-partitioned/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-retention-expiry.html b/content/staging/docs/ja/cookbooks-retention-expiry.html
index 408aaee..ef75ab4 100644
--- a/content/staging/docs/ja/cookbooks-retention-expiry.html
+++ b/content/staging/docs/ja/cookbooks-retention-expiry.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-retention-expiry/index.html b/content/staging/docs/ja/cookbooks-retention-expiry/index.html
index 408aaee..ef75ab4 100644
--- a/content/staging/docs/ja/cookbooks-retention-expiry/index.html
+++ b/content/staging/docs/ja/cookbooks-retention-expiry/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-tiered-storage.html b/content/staging/docs/ja/cookbooks-tiered-storage.html
index bb173a4..67ee5ba 100644
--- a/content/staging/docs/ja/cookbooks-tiered-storage.html
+++ b/content/staging/docs/ja/cookbooks-tiered-storage.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/cookbooks-tiered-storage/index.html b/content/staging/docs/ja/cookbooks-tiered-storage/index.html
index bb173a4..67ee5ba 100644
--- a/content/staging/docs/ja/cookbooks-tiered-storage/index.html
+++ b/content/staging/docs/ja/cookbooks-tiered-storage/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Coo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-aws.html b/content/staging/docs/ja/deploy-aws.html
index d1c4e78..1484a9f 100644
--- a/content/staging/docs/ja/deploy-aws.html
+++ b/content/staging/docs/ja/deploy-aws.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-aws/index.html b/content/staging/docs/ja/deploy-aws/index.html
index d1c4e78..1484a9f 100644
--- a/content/staging/docs/ja/deploy-aws/index.html
+++ b/content/staging/docs/ja/deploy-aws/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-bare-metal-multi-cluster.html b/content/staging/docs/ja/deploy-bare-metal-multi-cluster.html
index a785a85..d14e1f5 100644
--- a/content/staging/docs/ja/deploy-bare-metal-multi-cluster.html
+++ b/content/staging/docs/ja/deploy-bare-metal-multi-cluster.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-bare-metal-multi-cluster/index.html b/content/staging/docs/ja/deploy-bare-metal-multi-cluster/index.html
index a785a85..d14e1f5 100644
--- a/content/staging/docs/ja/deploy-bare-metal-multi-cluster/index.html
+++ b/content/staging/docs/ja/deploy-bare-metal-multi-cluster/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-bare-metal.html b/content/staging/docs/ja/deploy-bare-metal.html
index 3b63159..f66b09f 100644
--- a/content/staging/docs/ja/deploy-bare-metal.html
+++ b/content/staging/docs/ja/deploy-bare-metal.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-bare-metal/index.html b/content/staging/docs/ja/deploy-bare-metal/index.html
index 3b63159..f66b09f 100644
--- a/content/staging/docs/ja/deploy-bare-metal/index.html
+++ b/content/staging/docs/ja/deploy-bare-metal/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-dcos.html b/content/staging/docs/ja/deploy-dcos.html
index dc72ca5..db3d1b8 100644
--- a/content/staging/docs/ja/deploy-dcos.html
+++ b/content/staging/docs/ja/deploy-dcos.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-dcos/index.html b/content/staging/docs/ja/deploy-dcos/index.html
index dc72ca5..db3d1b8 100644
--- a/content/staging/docs/ja/deploy-dcos/index.html
+++ b/content/staging/docs/ja/deploy-dcos/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-kubernetes.html b/content/staging/docs/ja/deploy-kubernetes.html
index bdf61d7..b5a0efb 100644
--- a/content/staging/docs/ja/deploy-kubernetes.html
+++ b/content/staging/docs/ja/deploy-kubernetes.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-kubernetes/index.html b/content/staging/docs/ja/deploy-kubernetes/index.html
index bdf61d7..b5a0efb 100644
--- a/content/staging/docs/ja/deploy-kubernetes/index.html
+++ b/content/staging/docs/ja/deploy-kubernetes/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-monitoring.html b/content/staging/docs/ja/deploy-monitoring.html
index 5246361..69d51a7 100644
--- a/content/staging/docs/ja/deploy-monitoring.html
+++ b/content/staging/docs/ja/deploy-monitoring.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/deploy-monitoring/index.html b/content/staging/docs/ja/deploy-monitoring/index.html
index 5246361..69d51a7 100644
--- a/content/staging/docs/ja/deploy-monitoring/index.html
+++ b/content/staging/docs/ja/deploy-monitoring/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dep [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-binary-protocol.html b/content/staging/docs/ja/develop-binary-protocol.html
index b00adc4..421858a 100644
--- a/content/staging/docs/ja/develop-binary-protocol.html
+++ b/content/staging/docs/ja/develop-binary-protocol.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-binary-protocol/index.html b/content/staging/docs/ja/develop-binary-protocol/index.html
index b00adc4..421858a 100644
--- a/content/staging/docs/ja/develop-binary-protocol/index.html
+++ b/content/staging/docs/ja/develop-binary-protocol/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-cpp.html b/content/staging/docs/ja/develop-cpp.html
index 9ed5d77..c416ea7 100644
--- a/content/staging/docs/ja/develop-cpp.html
+++ b/content/staging/docs/ja/develop-cpp.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-cpp/index.html b/content/staging/docs/ja/develop-cpp/index.html
index 9ed5d77..c416ea7 100644
--- a/content/staging/docs/ja/develop-cpp/index.html
+++ b/content/staging/docs/ja/develop-cpp/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-load-manager.html b/content/staging/docs/ja/develop-load-manager.html
index a71f342..48e7768 100644
--- a/content/staging/docs/ja/develop-load-manager.html
+++ b/content/staging/docs/ja/develop-load-manager.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-load-manager/index.html b/content/staging/docs/ja/develop-load-manager/index.html
index a71f342..48e7768 100644
--- a/content/staging/docs/ja/develop-load-manager/index.html
+++ b/content/staging/docs/ja/develop-load-manager/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-schema.html b/content/staging/docs/ja/develop-schema.html
index 45c6da3..25f2052 100644
--- a/content/staging/docs/ja/develop-schema.html
+++ b/content/staging/docs/ja/develop-schema.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-schema/index.html b/content/staging/docs/ja/develop-schema/index.html
index 45c6da3..25f2052 100644
--- a/content/staging/docs/ja/develop-schema/index.html
+++ b/content/staging/docs/ja/develop-schema/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-tools.html b/content/staging/docs/ja/develop-tools.html
index 5f63b37..d31fb2f 100644
--- a/content/staging/docs/ja/develop-tools.html
+++ b/content/staging/docs/ja/develop-tools.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/develop-tools/index.html b/content/staging/docs/ja/develop-tools/index.html
index 5f63b37..d31fb2f 100644
--- a/content/staging/docs/ja/develop-tools/index.html
+++ b/content/staging/docs/ja/develop-tools/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Dev [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
diff --git a/content/staging/docs/ja/functions-api.html b/content/staging/docs/ja/functions-api.html
index 5743765..373ebcf 100644
--- a/content/staging/docs/ja/functions-api.html
+++ b/content/staging/docs/ja/functions-api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/ja/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/ja/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/ja/functions-overview">Pulsar Functions</a> provides an easy-to-use API that developers can use to create an [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/ja/functions-overview">Pulsar Functions</a> provides an easy-to-use API that developers can use to create an [...]
 <blockquote>
 <p>For a more in-depth overview of the Pulsar Functions feature, see the <a href="/staging/docs/ja/functions-overview">Pulsar Functions overview</a>.</p>
 </blockquote>
@@ -49,8 +49,8 @@
 </ul>
 <p>You could use Pulsar Functions, for example, to set up the following processing chain:</p>
 <ul>
-<li>A <a href="#python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
-<li>A <a href="#java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
+<li>A <a href="#functions-for-python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
+<li>A <a href="#functions-for-java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
 <li>Finally, a Python function listens on the <code>results</code> topic and writes the results to a MySQL table</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-function"></a><a href="#example-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -67,7 +67,7 @@
 <li>No topics, subscription types, tenants, or namespaces are specified in the function logic itself. Instead, topics are specified upon <a href="#example-deployment">deployment</a>. This means that you can use and re-use Pulsar Functions across topics, tenants, and namespaces without needing to hard-code those attributes.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-deployment"></a><a href="#example-deployment" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/ja/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/ja/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/ja/functions-deploying#local-run">local run</a> mode:</p>
+<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/ja/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/ja/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/ja/functions-deploying#local-run-mode">local run</a> mode:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py sanitizer.py \          <span class="hljs-comment"># The Python file with the function's code</span>
   --className sanitizer \      <span class="hljs-comment"># The class or function holding the processing logic</span>
@@ -94,7 +94,7 @@
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{}!"</span>.format(input)
 </code></pre>
-<p>This function, however, would use the Pulsar Functions <a href="#python-sdk">SDK for Python</a>:</p>
+<p>This function, however, would use the Pulsar Functions <a href="#python-sdk-functions">SDK for Python</a>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">DisplayFunctionName</span><span class="hljs-params">(Function)</span>:</span>
@@ -110,22 +110,23 @@
 </ul>
 <p>In both languages, however, you can write your own custom SerDe logic for more complex, application-specific types. See the docs for <a href="#java-serde">Java</a> and <a href="#python-serde">Python</a> for language-specific instructions.</p>
 <h3><a class="anchor" aria-hidden="true" id="context"></a><a href="#context" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Both the <a href="#java-sdk">Java</a> and <a href="#python-sdk">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
+<p>Both the <a href="#java-sdk-functions">Java</a> and <a href="#python-sdk-functions">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
 <ul>
 <li>The name and ID of the Pulsar Function</li>
 <li>The message ID of each message. Each Pulsar message is automatically assigned an ID.</li>
 <li>The name of the topic on which the message was sent</li>
 <li>The names of all input topics as well as the output topic associated with the function</li>
-<li>The name of the class used for <a href="#serde">SerDe</a></li>
+<li>The name of the class used for <a href="#serialization-and-deserialization-serde">SerDe</a></li>
 <li>The <a href="/staging/docs/ja/reference-terminology#tenant">tenant</a> and namespace associated with the function</li>
 <li>The ID of the Pulsar Functions instance running the function</li>
 <li>The version of the function</li>
-<li>The <a href="#logging">logger object</a> used by the function, which can be used to create function log messages</li>
+<li>The <a href="/staging/docs/ja/functions-overview#logging">logger object</a> used by the function, which can be used to create function log messages</li>
 <li>Access to arbitrary <a href="#user-config">user config</a> values supplied via the CLI</li>
 <li>An interface for recording <a href="/staging/docs/ja/functions-metrics">metrics</a></li>
+<li>An interface for storing and retrieving state in <a href="/staging/docs/ja/functions-overview#state-storage">state storage</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="user-config"></a><a href="#user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>When you run or update Pulsar Functions created using the <a href="#apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
+<p>When you run or update Pulsar Functions created using the <a href="#available-apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name word-filter \
   <span class="hljs-comment"># Other function configs</span>
@@ -150,17 +151,17 @@
 <p>Writing Pulsar Functions in Java involves implementing one of two interfaces:</p>
 <ul>
 <li>The <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface</li>
-<li>The <a href="https://pulsar.incubator.apache.org/apiclient/org/apache/pulsar/functions/api/Function">Function</a>
- interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/functions/api/Context">Context</a>
+<li>The <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Function">Function</a>
+ interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Context">Context</a>
  object that you can use in a <a href="#context">variety of ways</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started"></a><a href="#getting-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#java-dependencies">dependencies</a> and package your function <a href="#java-packaging">as a JAR</a>.</p>
+<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#dependencies">dependencies</a> and package your function <a href="#packaging">as a JAR</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="dependencies"></a><a href="#dependencies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>How you get started writing Pulsar Functions in Java depends on which API you're using:</p>
 <ul>
-<li><p>If you're writing a <a href="#java-native">Java native function</a>, you won't need any external dependencies.</p></li>
-<li><p>If you're writing a <a href="#java-sdk">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
+<li><p>If you're writing a <a href="#java-native-functions">Java native function</a>, you won't need any external dependencies.</p></li>
+<li><p>If you're writing a <a href="#java-sdk-functions">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
 <p>Here's an example for a Maven <code>pom.xml</code> configuration file:</p>
 <pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
@@ -175,13 +176,13 @@
 </code></pre></li>
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="packaging"></a><a href="#packaging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
+<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native-functions">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk-functions">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="starter-repo"></a><a href="#starter-repo" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>If you'd like to get up and running quickly, you can use <a href="https://github.com/streamlio/pulsar-functions-java-starter">this repo</a>, which contains the necessary Maven configuration to build a fat JAR as well as some example functions.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-native-functions"></a><a href="#java-native-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>If your function doesn't require access to its <a href="#java-context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
+<p>If your function doesn't require access to its <a href="#context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">I</span>, <span class="hljs-title">O</span>&gt; </span>{
     <span class="hljs-function">O <span class="hljs-title">apply</span><span class="hljs-params">(I input)</span></span>;
 }
@@ -196,26 +197,29 @@
     }
 }
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk">Pulsar Functions Java SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk-functions">Pulsar Functions Java SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="java-native-examples"></a><a href="#java-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
-<p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There is one example Java native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="java-sdk-functions"></a><a href="#java-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#java-dependencies">above</a>.</p>
+<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#dependencies">above</a>.</p>
 <blockquote>
 <p>An easy way to get up and running with Pulsar Functions in Java is to clone the <a href="https://github.com/streamlio/pulsar-functions-java-starter"><code>pulsar-functions-java-starter</code></a> repo and follow the instructions there.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="java-sdk-examples"></a><a href="#java-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>There are several example Java SDK functions in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There are several example Java SDK functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function name</th><th style="text-align:left">Description</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ContextFunction.java"><code>ContextFunction</code></a></td><td style="text-align:left">Illustrates <a href="#context">context</a>-specific functionality like <a href="#java-logging">logging</a> and <a href="#java-metrics">metrics</a></td></tr>
-<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/CounterFunction.java"><code>CounterFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/ja/functions-overview#counters">counters</a></td></tr>
+<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/WordCountFunction.java"><code>WordCountFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/ja/functions-overview#state-storage">state-storage</a></td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ExclamationFunction.java"><code>ExclamationFunction</code></a></td><td style="text-align:left">A basic string manipulation function for the Java SDK</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/LoggingFunction.java"><code>LoggingFunction</code></a></td><td style="text-align:left">A function that shows how <a href="#java-logging">logging</a> works for Java</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/PublishFunction.java"><code>PublishFunction</code></a></td><td style="text-align:left">Publishes results to a topic specified in the function's <a href="#java-user-config">user config</a> (rather than on the function's output topic)</td></tr>
@@ -291,7 +295,7 @@
 <p>When using Java functions in which the output type is <code>Void</code>, the function must <em>always</em> return <code>null</code>.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-serde"></a><a href="#java-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
 <ul>
 <li><code>String</code></li>
 <li><code>Double</code></li>
@@ -345,7 +349,7 @@
 <li>Package the <code>Tweet</code> and <code>TweetSerde</code> classes into a JAR</li>
 <li>Specify a path to the JAR and SerDe class name when deploying the function</li>
 </ul>
-<p>Here's an example <a href="/staging/docs/ja/pulsar-admin#pulsar-admin-functions-create"><code>create</code></a> operation:</p>
+<p>Here's an example <a href="/staging/docs/ja/pulsar-admin#create-1"><code>create</code></a> operation:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar /path/to/your.jar \
   --outputSerdeClassName com.example.serde.TweetSerde \
@@ -356,7 +360,7 @@
 <p>Pulsar does not store your custom SerDe classes separately from your Pulsar Functions. That means that you'll need to always include your SerDe classes in your function JARs. If not, Pulsar will return an error.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-logging"></a><a href="#java-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions that use the <a href="#java-sdk">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#java-sdk-functions">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 <span class="hljs-keyword">import</span> org.slf4j.Logger;
@@ -386,7 +390,7 @@
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>persistent://public/default/logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="java-user-config"></a><a href="#java-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>The Java SDK's <a href="#java-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Java SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -424,7 +428,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>For all key/value pairs passed to Java Pulsar Functions, both the key <em>and</em> the value are <code>String</code>s. If you'd like the value to be of a different type, you will need to deserialize from the <code>String</code> type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-metrics"></a><a href="#java-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>You can record metrics using the <a href="#java-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 
@@ -450,7 +454,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>Writing Pulsar Functions in Python entails implementing one of two things:</p>
 <ul>
 <li>A <code>process</code> function that takes an input (message data from the function's input topic(s)), applies some kind of logic to it, and either returns an object (to be published to the function's output topic) or <code>pass</code>es and thus doesn't produce a message</li>
-<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#python-context">context</a> object</li>
+<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#context">context</a> object</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started-1"></a><a href="#getting-started-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>Regardless of which <a href="/staging/docs/ja/functions-deploying">deployment mode</a> you're using, you'll need to install the following Python libraries on any machine that's running Pulsar Functions written in Python:</p>
@@ -461,7 +465,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <li>grpcio</li>
 <li>grpcio-tools</li>
 </ul>
-<p>That could be your local machine for <a href="/staging/docs/ja/functions-deploying#local-run">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/ja/reference-terminology#broker">broker</a> for <a href="/staging/docs/ja/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
+<p>That could be your local machine for <a href="/staging/docs/ja/functions-deploying#local-run-mode">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/ja/reference-terminology#broker">broker</a> for <a href="/staging/docs/ja/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
 <pre><code class="hljs css languages- bash">$ pip install pulsar-client protobuf futures grpcio grpcio-tools
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="packaging-1"></a><a href="#packaging-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
@@ -471,16 +475,19 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{0}!"</span>.format(input)
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk">Pulsar Functions Python SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk-functions">Pulsar Functions Python SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-native-examples"></a><a href="#python-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>There is one example Python native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There is one example Python native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="python-sdk-functions"></a><a href="#python-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>To get started developing Pulsar Functions using the Python SDK, you'll need to install the <a href="/api/python"><code>pulsar-client</code></a> library using the instructions <a href="#getting-started">above</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-sdk-examples"></a><a href="#python-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>There are several example Python functions in <a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There are several example Python functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function file</th><th style="text-align:left">Description</th></tr>
@@ -514,7 +521,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="python-serde"></a><a href="#python-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native">native</a> functions and <a href="#python-sdk">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/ja/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/ja/functions-deploying#local-run">running</a> functions. Here's an example:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native-functions">native</a> functions and <a href="#python-sdk-functions">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/ja/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/ja/functions-deploying#local-run-mode">running</a> functions. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -569,7 +576,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
         <span class="hljs-keyword">return</span> Tweet(tweet_components[<span class="hljs-number">0</span>], tweet_componentsp[<span class="hljs-number">1</span>])
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-logging"></a><a href="#python-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>Pulsar Functions that use the <a href="#python-sdk">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#python-sdk-functions">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">LoggingFunction</span><span class="hljs-params">(Function)</span>:</span>
@@ -590,7 +597,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="python-user-config"></a><a href="#python-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>The Python SDK's <a href="#python-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Python SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs \</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -608,7 +615,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
             logger.info(<span class="hljs-string">"The word of the day is {0}"</span>.format(wotd))
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-metrics"></a><a href="#python-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>You can record metrics using the <a href="#python-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MetricRecorderFunction</span><span class="hljs-params">(Function)</span>:</span>
diff --git a/content/staging/docs/ja/functions-api/index.html b/content/staging/docs/ja/functions-api/index.html
index 5743765..373ebcf 100644
--- a/content/staging/docs/ja/functions-api/index.html
+++ b/content/staging/docs/ja/functions-api/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/ja/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/ja/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With P [...]
         const languagesMenuItem = document.getElementById("languages-menu");
         const languagesDropDown = document.getElementById("languages-dropdown");
         languagesMenuItem.addEventListener("click", function(event) {
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/ja/functions-overview">Pulsar Functions</a> provides an easy-to-use API that developers can use to create an [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">The Pulsar Functions API</h1></header><article><div><span><p><a href="/staging/docs/ja/functions-overview">Pulsar Functions</a> provides an easy-to-use API that developers can use to create an [...]
 <blockquote>
 <p>For a more in-depth overview of the Pulsar Functions feature, see the <a href="/staging/docs/ja/functions-overview">Pulsar Functions overview</a>.</p>
 </blockquote>
@@ -49,8 +49,8 @@
 </ul>
 <p>You could use Pulsar Functions, for example, to set up the following processing chain:</p>
 <ul>
-<li>A <a href="#python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
-<li>A <a href="#java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
+<li>A <a href="#functions-for-python">Python</a> function listens on the <code>raw-sentences</code> topic and &quot;<a href="#example-function">sanitizes</a>&quot; incoming strings (removing extraneous whitespace and converting all characters to lower case) and then publishes the results to a <code>sanitized-sentences</code> topic</li>
+<li>A <a href="#functions-for-java">Java</a> function listens on the <code>sanitized-sentences</code> topic, counts the number of times each word appears within a specified time window, and publishes the results to a <code>results</code> topic</li>
 <li>Finally, a Python function listens on the <code>results</code> topic and writes the results to a MySQL table</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-function"></a><a href="#example-function" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -67,7 +67,7 @@
 <li>No topics, subscription types, tenants, or namespaces are specified in the function logic itself. Instead, topics are specified upon <a href="#example-deployment">deployment</a>. This means that you can use and re-use Pulsar Functions across topics, tenants, and namespaces without needing to hard-code those attributes.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="example-deployment"></a><a href="#example-deployment" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/ja/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/ja/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/ja/functions-deploying#local-run">local run</a> mode:</p>
+<p>Deploying Pulsar Functions is handled by the <a href="/staging/docs/ja/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/ja/pulsar-admin#functions"><code>functions</code></a> command. Here's an example command that would run our <a href="#example-function">sanitizer</a> function from above in <a href="/staging/docs/ja/functions-deploying#local-run-mode">local run</a> mode:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py sanitizer.py \          <span class="hljs-comment"># The Python file with the function's code</span>
   --className sanitizer \      <span class="hljs-comment"># The class or function holding the processing logic</span>
@@ -94,7 +94,7 @@
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{}!"</span>.format(input)
 </code></pre>
-<p>This function, however, would use the Pulsar Functions <a href="#python-sdk">SDK for Python</a>:</p>
+<p>This function, however, would use the Pulsar Functions <a href="#python-sdk-functions">SDK for Python</a>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">DisplayFunctionName</span><span class="hljs-params">(Function)</span>:</span>
@@ -110,22 +110,23 @@
 </ul>
 <p>In both languages, however, you can write your own custom SerDe logic for more complex, application-specific types. See the docs for <a href="#java-serde">Java</a> and <a href="#python-serde">Python</a> for language-specific instructions.</p>
 <h3><a class="anchor" aria-hidden="true" id="context"></a><a href="#context" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Both the <a href="#java-sdk">Java</a> and <a href="#python-sdk">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
+<p>Both the <a href="#java-sdk-functions">Java</a> and <a href="#python-sdk-functions">Python</a> SDKs provide access to a <strong>context object</strong> that can be used by the function. This context object provides a wide variety of information and functionality to the function:</p>
 <ul>
 <li>The name and ID of the Pulsar Function</li>
 <li>The message ID of each message. Each Pulsar message is automatically assigned an ID.</li>
 <li>The name of the topic on which the message was sent</li>
 <li>The names of all input topics as well as the output topic associated with the function</li>
-<li>The name of the class used for <a href="#serde">SerDe</a></li>
+<li>The name of the class used for <a href="#serialization-and-deserialization-serde">SerDe</a></li>
 <li>The <a href="/staging/docs/ja/reference-terminology#tenant">tenant</a> and namespace associated with the function</li>
 <li>The ID of the Pulsar Functions instance running the function</li>
 <li>The version of the function</li>
-<li>The <a href="#logging">logger object</a> used by the function, which can be used to create function log messages</li>
+<li>The <a href="/staging/docs/ja/functions-overview#logging">logger object</a> used by the function, which can be used to create function log messages</li>
 <li>Access to arbitrary <a href="#user-config">user config</a> values supplied via the CLI</li>
 <li>An interface for recording <a href="/staging/docs/ja/functions-metrics">metrics</a></li>
+<li>An interface for storing and retrieving state in <a href="/staging/docs/ja/functions-overview#state-storage">state storage</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="user-config"></a><a href="#user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>When you run or update Pulsar Functions created using the <a href="#apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
+<p>When you run or update Pulsar Functions created using the <a href="#available-apis">SDK</a>, you can pass arbitrary key/values to them via the command line with the <code>--userConfig</code> flag. Key/values must be specified as JSON. Here's an example of a function creation command that passes a user config key/value to a function:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --name word-filter \
   <span class="hljs-comment"># Other function configs</span>
@@ -150,17 +151,17 @@
 <p>Writing Pulsar Functions in Java involves implementing one of two interfaces:</p>
 <ul>
 <li>The <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface</li>
-<li>The <a href="https://pulsar.incubator.apache.org/apiclient/org/apache/pulsar/functions/api/Function">Function</a>
- interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/client/org/apache/pulsar/functions/api/Context">Context</a>
+<li>The <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Function">Function</a>
+ interface. This interface works much like the <code>java.util.Function</code> interface, but with the important difference that it provides a <a href="https://pulsar.incubator.apache.org/api/pulsar-functions/org/apache/pulsar/functions/api/Context">Context</a>
  object that you can use in a <a href="#context">variety of ways</a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started"></a><a href="#getting-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#java-dependencies">dependencies</a> and package your function <a href="#java-packaging">as a JAR</a>.</p>
+<p>In order to write Pulsar Functions in Java, you'll need to install the proper <a href="#dependencies">dependencies</a> and package your function <a href="#packaging">as a JAR</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="dependencies"></a><a href="#dependencies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>How you get started writing Pulsar Functions in Java depends on which API you're using:</p>
 <ul>
-<li><p>If you're writing a <a href="#java-native">Java native function</a>, you won't need any external dependencies.</p></li>
-<li><p>If you're writing a <a href="#java-sdk">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
+<li><p>If you're writing a <a href="#java-native-functions">Java native function</a>, you won't need any external dependencies.</p></li>
+<li><p>If you're writing a <a href="#java-sdk-functions">Java SDK function</a>, you'll need to import the <code>pulsar-functions-api</code> library.</p>
 <p>Here's an example for a Maven <code>pom.xml</code> configuration file:</p>
 <pre><code class="hljs css languages- xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.pulsar<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
@@ -175,13 +176,13 @@
 </code></pre></li>
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="packaging"></a><a href="#packaging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
+<p>Whether you're writing Java Pulsar Functions using the <a href="#java-native-functions">native</a> Java <code>java.util.Function</code> interface or using the <a href="#java-sdk-functions">Java SDK</a>, you'll need to package your function(s) as a &quot;fat&quot; JAR.</p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="starter-repo"></a><a href="#starter-repo" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>If you'd like to get up and running quickly, you can use <a href="https://github.com/streamlio/pulsar-functions-java-starter">this repo</a>, which contains the necessary Maven configuration to build a fat JAR as well as some example functions.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-native-functions"></a><a href="#java-native-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>If your function doesn't require access to its <a href="#java-context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
+<p>If your function doesn't require access to its <a href="#context">context</a>, you can create a Pulsar Function by implementing the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html"><code>java.util.Function</code></a> interface, which has this very simple, single-method signature:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Function</span>&lt;<span class="hljs-title">I</span>, <span class="hljs-title">O</span>&gt; </span>{
     <span class="hljs-function">O <span class="hljs-title">apply</span><span class="hljs-params">(I input)</span></span>;
 }
@@ -196,26 +197,29 @@
     }
 }
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk">Pulsar Functions Java SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#java-sdk-functions">Pulsar Functions Java SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="java-native-examples"></a><a href="#java-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
-<p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There is one example Java native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="java-sdk-functions"></a><a href="#java-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#java-dependencies">above</a>.</p>
+<p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#dependencies">above</a>.</p>
 <blockquote>
 <p>An easy way to get up and running with Pulsar Functions in Java is to clone the <a href="https://github.com/streamlio/pulsar-functions-java-starter"><code>pulsar-functions-java-starter</code></a> repo and follow the instructions there.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="java-sdk-examples"></a><a href="#java-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>There are several example Java SDK functions in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
+<p>There are several example Java SDK functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function name</th><th style="text-align:left">Description</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ContextFunction.java"><code>ContextFunction</code></a></td><td style="text-align:left">Illustrates <a href="#context">context</a>-specific functionality like <a href="#java-logging">logging</a> and <a href="#java-metrics">metrics</a></td></tr>
-<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/CounterFunction.java"><code>CounterFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/ja/functions-overview#counters">counters</a></td></tr>
+<tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/WordCountFunction.java"><code>WordCountFunction</code></a></td><td style="text-align:left">Illustrates usage of Pulsar Function <a href="/staging/docs/ja/functions-overview#state-storage">state-storage</a></td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/ExclamationFunction.java"><code>ExclamationFunction</code></a></td><td style="text-align:left">A basic string manipulation function for the Java SDK</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/LoggingFunction.java"><code>LoggingFunction</code></a></td><td style="text-align:left">A function that shows how <a href="#java-logging">logging</a> works for Java</td></tr>
 <tr><td style="text-align:left"><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/PublishFunction.java"><code>PublishFunction</code></a></td><td style="text-align:left">Publishes results to a topic specified in the function's <a href="#java-user-config">user config</a> (rather than on the function's output topic)</td></tr>
@@ -291,7 +295,7 @@
 <p>When using Java functions in which the output type is <code>Void</code>, the function must <em>always</em> return <code>null</code>.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-serde"></a><a href="#java-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics. When you're writing Pulsar Functions in Java, the following basic Java types are built in and supported by default:</p>
 <ul>
 <li><code>String</code></li>
 <li><code>Double</code></li>
@@ -345,7 +349,7 @@
 <li>Package the <code>Tweet</code> and <code>TweetSerde</code> classes into a JAR</li>
 <li>Specify a path to the JAR and SerDe class name when deploying the function</li>
 </ul>
-<p>Here's an example <a href="/staging/docs/ja/pulsar-admin#pulsar-admin-functions-create"><code>create</code></a> operation:</p>
+<p>Here's an example <a href="/staging/docs/ja/pulsar-admin#create-1"><code>create</code></a> operation:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --jar /path/to/your.jar \
   --outputSerdeClassName com.example.serde.TweetSerde \
@@ -356,7 +360,7 @@
 <p>Pulsar does not store your custom SerDe classes separately from your Pulsar Functions. That means that you'll need to always include your SerDe classes in your function JARs. If not, Pulsar will return an error.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-logging"></a><a href="#java-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions that use the <a href="#java-sdk">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#java-sdk-functions">Java SDK</a> have access to an <a href="https://www.slf4j.org/">SLF4j</a> <a href="https://www.slf4j.org/api/org/apache/log4j/Logger.html"><code>Logger</code></a> object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 <span class="hljs-keyword">import</span> org.slf4j.Logger;
@@ -386,7 +390,7 @@
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>persistent://public/default/logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="java-user-config"></a><a href="#java-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>The Java SDK's <a href="#java-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Java SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -424,7 +428,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>For all key/value pairs passed to Java Pulsar Functions, both the key <em>and</em> the value are <code>String</code>s. If you'd like the value to be of a different type, you will need to deserialize from the <code>String</code> type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="java-metrics"></a><a href="#java-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>You can record metrics using the <a href="#java-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Context;
 <span class="hljs-keyword">import</span> org.apache.pulsar.functions.api.Function;
 
@@ -450,7 +454,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <p>Writing Pulsar Functions in Python entails implementing one of two things:</p>
 <ul>
 <li>A <code>process</code> function that takes an input (message data from the function's input topic(s)), applies some kind of logic to it, and either returns an object (to be published to the function's output topic) or <code>pass</code>es and thus doesn't produce a message</li>
-<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#python-context">context</a> object</li>
+<li>A <code>Function</code> class that has a <code>process</code> method that provides a message input to process and a <a href="#context">context</a> object</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="getting-started-1"></a><a href="#getting-started-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>Regardless of which <a href="/staging/docs/ja/functions-deploying">deployment mode</a> you're using, you'll need to install the following Python libraries on any machine that's running Pulsar Functions written in Python:</p>
@@ -461,7 +465,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <li>grpcio</li>
 <li>grpcio-tools</li>
 </ul>
-<p>That could be your local machine for <a href="/staging/docs/ja/functions-deploying#local-run">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/ja/reference-terminology#broker">broker</a> for <a href="/staging/docs/ja/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
+<p>That could be your local machine for <a href="/staging/docs/ja/functions-deploying#local-run-mode">local run mode</a> or a machine running a Pulsar <a href="/staging/docs/ja/reference-terminology#broker">broker</a> for <a href="/staging/docs/ja/functions-deploying#cluster-mode">cluster mode</a>. To install those libraries using pip:</p>
 <pre><code class="hljs css languages- bash">$ pip install pulsar-client protobuf futures grpcio grpcio-tools
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="packaging-1"></a><a href="#packaging-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
@@ -471,16 +475,19 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 <pre><code class="hljs css languages- python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"{0}!"</span>.format(input)
 </code></pre>
-<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk">Pulsar Functions Python SDK</a>.</p>
+<p>In general, you should use native functions when you don't need access to the function's <a href="#context">context</a>. If you <em>do</em> need access to the function's context, then we recommend using the <a href="#python-sdk-functions">Pulsar Functions Python SDK</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-native-examples"></a><a href="#python-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>There is one example Python native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There is one example Python native function in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples/native_exclamation_function.py"><code>native_exclamation_function.py</code></a>
+</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="python-sdk-functions"></a><a href="#python-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>To get started developing Pulsar Functions using the Python SDK, you'll need to install the <a href="/api/python"><code>pulsar-client</code></a> library using the instructions <a href="#getting-started">above</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="python-sdk-examples"></a><a href="#python-sdk-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>There are several example Python functions in <a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/python-examples">this folder</a>:</p>
+<p>There are several example Python functions in this <a href="https://github.com/apache/incubator-pulsar/tree/master//pulsar-functions/python-examples">folder</a>
+:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Function file</th><th style="text-align:left">Description</th></tr>
@@ -514,7 +521,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="python-serde"></a><a href="#python-serde" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Pulsar Functions use <a href="#serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native">native</a> functions and <a href="#python-sdk">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/ja/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/ja/functions-deploying#local-run">running</a> functions. Here's an example:</p>
+<p>Pulsar Functions use <a href="#serialization-and-deserialization-serde">SerDe</a> when publishing data to and consuming data from Pulsar topics (this is true of both <a href="#python-native-functions">native</a> functions and <a href="#python-sdk-functions">SDK</a> functions). You can specify the SerDe when <a href="/staging/docs/ja/functions-deploying#cluster-mode">creating</a> or <a href="/staging/docs/ja/functions-deploying#local-run-mode">running</a> functions. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -569,7 +576,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
         <span class="hljs-keyword">return</span> Tweet(tweet_components[<span class="hljs-number">0</span>], tweet_componentsp[<span class="hljs-number">1</span>])
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-logging"></a><a href="#python-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>Pulsar Functions that use the <a href="#python-sdk">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
+<p>Pulsar Functions that use the <a href="#python-sdk-functions">Python SDK</a> have access to a logging object that can be used to produce logs at the chosen log level. Here's a simple example function that logs either a <code>WARNING</code>- or <code>INFO</code>-level log based on whether the incoming string contains the word <code>danger</code>:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">LoggingFunction</span><span class="hljs-params">(Function)</span>:</span>
@@ -590,7 +597,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
 </code></pre>
 <p>Now, all logs produced by the <code>LoggingFunction</code> above can be accessed via the <code>logging-function-logs</code> topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="python-user-config"></a><a href="#python-user-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>The Python SDK's <a href="#python-context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
+<p>The Python SDK's <a href="#context"><code>Context</code></a> object enables you to access key/value pairs provided to the Pulsar Function via the command line (as JSON). Here's an example function creation command that passes a key/value pair:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   <span class="hljs-comment"># Other function configs \</span>
   --userConfig <span class="hljs-string">'{"word-of-the-day":"verdure"}'</span>
@@ -608,7 +615,7 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
             logger.info(<span class="hljs-string">"The word of the day is {0}"</span>.format(wotd))
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="python-metrics"></a><a href="#python-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>You can record metrics using the <a href="#python-context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
+<p>You can record metrics using the <a href="#context"><code>Context</code></a> object on a per-key basis. You can, for example, set a metric for the key <code>process-count</code> and a different metric for the key <code>elevens-count</code> every time the function processes a message. Here's an example:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MetricRecorderFunction</span><span class="hljs-params">(Function)</span>:</span>
diff --git a/content/staging/docs/ja/functions-deploying.html b/content/staging/docs/ja/functions-deploying.html
index 1268cd5..ca12e8a 100644
--- a/content/staging/docs/ja/functions-deploying.html
+++ b/content/staging/docs/ja/functions-deploying.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -55,7 +55,7 @@
 </ul>
 <p>If you're running a non-<a href="/staging/docs/ja/reference-terminology#standalone">standalone</a> cluster, you'll need to obtain the service URL for the cluster. How you obtain the service URL will depend on how you deployed your Pulsar cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="command-line-interface"></a><a href="#command-line-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/ja/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/ja/pulsar-admin#functions-trigger"><code>trigger</code></a> for <a href="#triggering">triggering</a> functions, <a href="/staging/d [...]
+<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/ja/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/ja/pulsar-admin#trigger"><code>trigger</code></a> for <a href="#triggering-pulsar-functions">triggering</a> functions, <a href="/st [...]
 <h3><a class="anchor" aria-hidden="true" id="fully-qualified-function-name-fqfn"></a><a href="#fully-qualified-function-name-fqfn" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <p>Each Pulsar Function has a <strong>Fully Qualified Function Name</strong> (FQFN) that consists of three elements: the function's tenant, namespace, and function name. FQFN's look like this:</p>
 <pre><code class="hljs css languages- http">tenant/namespace/name
@@ -86,7 +86,7 @@
 </code></pre>
 <p>The created function would have default values supplied for the function name (<code>MyFunction</code>), tenant (<code>public</code>), namespace (<code>default</code>), subscription type (<code>SHARED</code>), processing guarantees (<code>ATLEAST_ONCE</code>), and Pulsar service URL (<code>pulsar://localhost:6650</code>).</p>
 <h2><a class="anchor" aria-hidden="true" id="local-run-mode"></a><a href="#local-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/ja/pulsar-admin#functions-localrun"><code>localrun</code></a> command:</p>
+<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/ja/pulsar-admin#localrun"><code>localrun</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -99,7 +99,7 @@
   <span class="hljs-comment"># Other function parameters</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="cluster-mode"></a><a href="#cluster-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
+<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run-mode">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/ja/pulsar-admin#create-1"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -107,7 +107,7 @@
   --output persistent://public/default/output-1
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="updating-cluster-mode-functions"></a><a href="#updating-cluster-mode-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>You can use the <a href="/staging/docs/ja/pulsar-admin#functions-update"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
+<p>You can use the <a href="/staging/docs/ja/pulsar-admin#update-1"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -115,13 +115,13 @@
   --output persistent://public/default/new-output-topic
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="parallelism"></a><a href="#parallelism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>Pulsar Functions run as processes called <strong>instances</strong>. When you run a Pulsar Function, it runs as a single instance by default (and in <a href="#local-run">local run mode</a> you can <em>only</em> run a single instance of a function).</p>
+<p>Pulsar Functions run as processes called <strong>instances</strong>. When you run a Pulsar Function, it runs as a single instance by default (and in <a href="#local-run-mode">local run mode</a> you can <em>only</em> run a single instance of a function).</p>
 <p>You can also specify the <em>parallelism</em> of a function, i.e. the number of instances to run, when you create the function. You can set the parallelism factor using the <code>--parallelism</code> flag of the <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --parallelism 3 \
   <span class="hljs-comment"># Other function info</span>
 </code></pre>
-<p>You can adjust the parallelism of an already created function using the <a href="/staging/docs/ja/pulsar-admin#functions-update"><code>update</code></a> interface.</p>
+<p>You can adjust the parallelism of an already created function using the <a href="/staging/docs/ja/pulsar-admin#update-1"><code>update</code></a> interface.</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --parallelism 5 \
   <span class="hljs-comment"># Other function</span>
@@ -139,7 +139,7 @@
   --functionConfigFile <span class="hljs-keyword">function</span>-config.yaml
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="function-instance-resources"></a><a href="#function-instance-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
-<p>When you run Pulsar Functions in <a href="#cluster-run">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
+<p>When you run Pulsar Functions in <a href="#cluster-mode">cluster run</a> mode, you can specify the resources that are assigned to each function <a href="#parallelism">instance</a>:</p>
 <table>
 <thead>
 <tr><th style="text-align:left">Resource</th><th style="text-align:left">Specified as...</th><th style="text-align:left">Runtimes</th></tr>
@@ -165,14 +165,14 @@
 <h2><a class="anchor" aria-hidden="true" id="triggering-pulsar-functions"></a><a href="#triggering-pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>If a Pulsar Function is running in <a href="#cluster-mode">cluster mode</a>, you can <strong>trigger</strong> it at any time using the command line. Triggering a function means that you send a message with a specific value to the function and get the function's output (if any) via the command line.</p>
 <blockquote>
-<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/ja/pulsar-admin#functions-trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/ja/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
+<p>Triggering a function is ultimately no different from invoking a function by producing a message on one of the function's input topics. The <a href="/staging/docs/ja/pulsar-admin#trigger"><code>pulsar-admin functions trigger</code></a> command is essentially a convenient mechanism for sending messages to functions without needing to use the <a href="/staging/docs/ja/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> tool or a language-specific client library.</p>
 </blockquote>
-<p>To show an example of function triggering, let's start with a simple <a href="/staging/docs/ja/functions-api#python">Python function</a> that returns a simple string based on the input:</p>
+<p>To show an example of function triggering, let's start with a simple <a href="/staging/docs/ja/functions-api#functions-for-python">Python function</a> that returns a simple string based on the input:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-comment"># myfunc.py</span>
 <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">process</span><span class="hljs-params">(input)</span>:</span>
     <span class="hljs-keyword">return</span> <span class="hljs-string">"This function has been triggered with a value of {0}"</span>.format(input)
 </code></pre>
-<p>Let's run that function in <a href="/staging/docs/ja/functions-deploying#local-run">local run mode</a>:</p>
+<p>Let's run that function in <a href="/staging/docs/ja/functions-deploying#local-run-mode">local run mode</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --tenant public \
   --namespace default \
@@ -182,7 +182,7 @@
   --inputs persistent://public/default/<span class="hljs-keyword">in</span> \
   --output persistent://public/default/out
 </code></pre>
-<p>Now let's make a consumer listen on the output topic for messages coming from the <code>myfunc</code> function using the <a href="/staging/docs/ja/reference-cli-tools#pulsar-client-consume"><code>pulsar-client consume</code></a> command:</p>
+<p>Now let's make a consumer listen on the output topic for messages coming from the <code>myfunc</code> function using the <a href="/staging/docs/ja/reference-cli-tools#consume"><code>pulsar-client consume</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-client consume persistent://public/default/out \
   --subscription-name my-subscription
   --num-messages 0 <span class="hljs-comment"># Listen indefinitely</span>
@@ -202,17 +202,7 @@ This function has been triggered with a value of hello world
 <h4><a class="anchor" aria-hidden="true" id="topic-info-not-required"></a><a href="#topic-info-not-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>In the <code>trigger</code> command above, you may have noticed that you only need to specify basic information about the function (tenant, namespace, and name). To trigger the function, you didn't need to know the function's input topic(s).</p>
 </blockquote>
-<!--
-## Subscription types
-<p>Pulsar supports three different <a href="/staging/docs/ja/concepts-messaging#subscription-modes">subscription types</a> (or subscription modes) for Pulsar clients:</p>
-<ul>
-<li>With <a href="/staging/docs/ja/concepts-messaging#exclusive">exclusive</a> subscriptions, only a single <a href="/staging/docs/ja/reference-terminology#consumer">consumer</a> is allowed to attach to the subscription.</li>
-<li>With <a href="/staging/docs/ja/concepts-messaging#shared">shared</a> . Please note that strict message ordering is <em>not</em> guaranteed with shared subscriptions.</li>
-<li>With <a href="/staging/docs/ja/concepts-messaging#failover">failover</a> subscriptions</li>
-</ul>
-<p>Pulsar Functions can also be assigned a subscription type when you <a href="#cluster-mode">create</a> them or run them <a href="#local-run">locally</a>. In cluster mode, the subscription can also be <a href="#updating">updated</a> after the function has been created.
---&gt;</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/ja/functions-api">← The Pulsar Functions API</a><a class="docs-next button" href="/staging/docs/ja/functions-guarantees">Processing guarantees →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements">Requirements</a></li><li><a href="#command-line-interface">Command-line interface</a><ul class="toc-headings"><li><a href="#fully-qualified-functi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/ja/functions-api">← The Pulsar Functions API</a><a class="docs-next button" href="/staging/docs/ja/functions-guarantees">Processing guarantees →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements">Requirements</a></li><li><a href="#command-line-interface">Command-line interface</a><ul class="toc-headings"><li><a href="#fully-qualified-functi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/staging/docs/ja/functions-deploying/index.html b/content/staging/docs/ja/functions-deploying/index.html
index 1268cd5..ca12e8a 100644
--- a/content/staging/docs/ja/functions-deploying/index.html
+++ b/content/staging/docs/ja/functions-deploying/index.html
@@ -10,7 +10,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>Pul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -55,7 +55,7 @@
 </ul>
 <p>If you're running a non-<a href="/staging/docs/ja/reference-terminology#standalone">standalone</a> cluster, you'll need to obtain the service URL for the cluster. How you obtain the service URL will depend on how you deployed your Pulsar cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="command-line-interface"></a><a href="#command-line-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/ja/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/ja/pulsar-admin#functions-trigger"><code>trigger</code></a> for <a href="#triggering">triggering</a> functions, <a href="/staging/d [...]
+<p>Pulsar Functions are deployed and managed using the <a href="/staging/docs/ja/pulsar-admin#functions"><code>pulsar-admin functions</code></a> interface, which contains commands such as <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> for deploying functions in <a href="#cluster-mode">cluster mode</a>, <a href="/staging/docs/ja/pulsar-admin#trigger"><code>trigger</code></a> for <a href="#triggering-pulsar-functions">triggering</a> functions, <a href="/st [...]
 <h3><a class="anchor" aria-hidden="true" id="fully-qualified-function-name-fqfn"></a><a href="#fully-qualified-function-name-fqfn" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
 <p>Each Pulsar Function has a <strong>Fully Qualified Function Name</strong> (FQFN) that consists of three elements: the function's tenant, namespace, and function name. FQFN's look like this:</p>
 <pre><code class="hljs css languages- http">tenant/namespace/name
@@ -86,7 +86,7 @@
 </code></pre>
 <p>The created function would have default values supplied for the function name (<code>MyFunction</code>), tenant (<code>public</code>), namespace (<code>default</code>), subscription type (<code>SHARED</code>), processing guarantees (<code>ATLEAST_ONCE</code>), and Pulsar service URL (<code>pulsar://localhost:6650</code>).</p>
 <h2><a class="anchor" aria-hidden="true" id="local-run-mode"></a><a href="#local-run-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/ja/pulsar-admin#functions-localrun"><code>localrun</code></a> command:</p>
+<p>If you run a Pulsar Function in <strong>local run</strong> mode, it will run on the machine from which the command is run (this could be your laptop, an <a href="https://aws.amazon.com/ec2/">AWS EC2</a> instance, etc.). Here's an example <a href="/staging/docs/ja/pulsar-admin#localrun"><code>localrun</code></a> command:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> localrun \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -99,7 +99,7 @@
   <span class="hljs-comment"># Other function parameters</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="cluster-mode"></a><a href="#cluster-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/ja/pulsar-admin#functions-create"><code>create</code></a> command. Here's an example:</p>
+<p>When you run a Pulsar Function in <strong>cluster mode</strong>, the function code will be uploaded to a Pulsar broker and run <em>alongside the broker</em> rather than in your <a href="#local-run-mode">local environment</a>. You can run a function in cluster mode using the <a href="/staging/docs/ja/pulsar-admin#create-1"><code>create</code></a> command. Here's an example:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> create \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -107,7 +107,7 @@
   --output persistent://public/default/output-1
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="updating-cluster-mode-functions"></a><a href="#updating-cluster-mode-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>You can use the <a href="/staging/docs/ja/pulsar-admin#functions-update"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
+<p>You can use the <a href="/staging/docs/ja/pulsar-admin#update-1"><code>update</code></a> command to update a Pulsar Function running in cluster mode. This command, for example, would update the function created in the section <a href="#cluster-mode">above</a>:</p>
 <pre><code class="hljs css languages- bash">$ bin/pulsar-admin <span class="hljs-built_in">functions</span> update \
   --py myfunc.py \
   --className myfunc.SomeFunction \
@@ -115,13 +115,13 @@
   --output persistent://public/default/new-output-topic
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="parallelism"></a><a href="#parallelism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true"