You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by gi...@apache.org on 2022/03/18 10:49:53 UTC

[bookkeeper] branch asf-staging updated: Updated site at revision

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new 8ed1b45  Updated site at revision
8ed1b45 is described below

commit 8ed1b450fce108250c40e77480c09e7e1652c791
Author: Apache BookKeeper Site Updater <de...@bookkeeper.apache.org>
AuthorDate: Fri Mar 18 10:49:45 2022 +0000

    Updated site at revision
---
 content/404.html                                   |    29 +
 content/assets/css/styles.4caf24b3.css             |     1 +
 content/assets/js/00099f85.3504cb5d.js             |     1 +
 content/assets/js/0012aeda.01533fca.js             |     1 +
 content/assets/js/0187783a.c25db74d.js             |     1 +
 content/assets/js/026a1d69.3b0b595a.js             |     1 +
 content/assets/js/035695b8.43455569.js             |     1 +
 content/assets/js/04da809a.d6715884.js             |     1 +
 content/assets/js/0537c41d.92b672a7.js             |     1 +
 content/assets/js/05c61b00.d2bafab7.js             |     1 +
 content/assets/js/05d43200.64b0358d.js             |     1 +
 content/assets/js/0610fbdd.3f9839de.js             |     1 +
 content/assets/js/07b748cc.9863fb56.js             |     1 +
 content/assets/js/0843cb03.a74ae828.js             |     1 +
 content/assets/js/089cefec.7c7e20c1.js             |     1 +
 content/assets/js/09c5a1ad.5d00d812.js             |     1 +
 content/assets/js/0a59d5b1.fb3ece0f.js             |     1 +
 content/assets/js/0a998885.c6651dbc.js             |     1 +
 content/assets/js/0aaf5a35.e7238adc.js             |     1 +
 content/assets/js/0d0fc48b.1ac36fd3.js             |     1 +
 content/assets/js/0d2aa02e.6f4d441b.js             |     1 +
 content/assets/js/0d53d5be.9c94b9ad.js             |     1 +
 content/assets/js/0de1e94b.f3e9ab42.js             |     1 +
 content/assets/js/11433b40.4d7fc077.js             |     1 +
 content/assets/js/11829f95.e7693ab3.js             |     1 +
 content/assets/js/1268352f.be44101f.js             |     1 +
 content/assets/js/131f50d0.bf9413b9.js             |     1 +
 content/assets/js/136f9a14.300e9c7c.js             |     1 +
 content/assets/js/137061ef.501ab6a6.js             |     1 +
 content/assets/js/13a7da5f.1e32e03e.js             |     1 +
 content/assets/js/14609be1.ccf08115.js             |     1 +
 content/assets/js/14a50b22.e7eba02a.js             |     1 +
 content/assets/js/14da3ce7.22aaa255.js             |     1 +
 content/assets/js/1547da37.c57c18ce.js             |     1 +
 content/assets/js/17896441.22010dfb.js             |     1 +
 content/assets/js/17fed085.c6a295a8.js             |     1 +
 content/assets/js/186b8a18.7f1470de.js             |     1 +
 content/assets/js/18d0950b.35588915.js             |     1 +
 content/assets/js/1a06b953.23cea213.js             |     1 +
 content/assets/js/1a41bcf4.f136b18f.js             |     1 +
 content/assets/js/1ac84465.ddffbcbc.js             |     1 +
 content/assets/js/1bb26576.3ca56c4b.js             |     1 +
 content/assets/js/1be78505.c6ef9f94.js             |     1 +
 content/assets/js/1c223750.6e9932f3.js             |     1 +
 content/assets/js/1c4211eb.14f2daaf.js             |     1 +
 content/assets/js/1cb4afcc.4381f8b1.js             |     1 +
 content/assets/js/1d0a6d4a.f1b8695e.js             |     1 +
 content/assets/js/1d91761b.d773e5da.js             |     1 +
 content/assets/js/1ddcee41.4653929a.js             |     1 +
 content/assets/js/1e033391.cfe1a877.js             |     1 +
 content/assets/js/1f391b9e.90b947ef.js             |     1 +
 content/assets/js/20c15017.377c520f.js             |     1 +
 content/assets/js/218f9744.0f75961d.js             |     1 +
 content/assets/js/21e4306c.e3d92836.js             |     1 +
 content/assets/js/2246c66d.087b6042.js             |     1 +
 content/assets/js/22d76b2d.ca24bdf8.js             |     1 +
 content/assets/js/23200584.2bcfab14.js             |     1 +
 content/assets/js/2440862d.3c514387.js             |     1 +
 content/assets/js/247bfc5d.9f69cf43.js             |     1 +
 content/assets/js/24e8d336.b09d643a.js             |     1 +
 content/assets/js/257152cd.b84d6fe3.js             |     1 +
 content/assets/js/28655793.528fe52f.js             |     1 +
 content/assets/js/2956de9a.9ef565b2.js             |     1 +
 content/assets/js/299e6ba9.830b4079.js             |     1 +
 content/assets/js/2b1d6972.ce3acb65.js             |     1 +
 content/assets/js/2ba8ffb1.e743d325.js             |     1 +
 content/assets/js/2c394507.6c6885b0.js             |     1 +
 content/assets/js/2c6e2254.3989de67.js             |     1 +
 content/assets/js/2cc56763.a6a49e9a.js             |     1 +
 content/assets/js/2d24b11b.1f0b2182.js             |     1 +
 content/assets/js/2d2c1853.2bb6add6.js             |     1 +
 content/assets/js/2e50ccc4.0d6c541e.js             |     1 +
 content/assets/js/2ec0be4c.26acd913.js             |     1 +
 content/assets/js/30c186c7.e21db908.js             |     1 +
 content/assets/js/313a661a.d8c00e1d.js             |     1 +
 content/assets/js/318dfdf9.6d7ef15e.js             |     1 +
 content/assets/js/31b6813e.9394ad15.js             |     1 +
 content/assets/js/331b2a3d.7e134289.js             |     1 +
 content/assets/js/33c915ea.c2b684a1.js             |     1 +
 content/assets/js/3411c643.8905c2ca.js             |     1 +
 content/assets/js/342215bd.80b0de04.js             |     1 +
 content/assets/js/3521ddbf.59cb20d1.js             |     1 +
 content/assets/js/3592d2f2.27a501fb.js             |     1 +
 content/assets/js/3630fad3.be3e1450.js             |     1 +
 content/assets/js/385f273d.55633d52.js             |     1 +
 content/assets/js/39a4b53d.92586d81.js             |     1 +
 content/assets/js/3a07cdee.500741f0.js             |     1 +
 content/assets/js/3b380230.24a0e99c.js             |     1 +
 content/assets/js/3bb6078f.975c1f51.js             |     1 +
 content/assets/js/3c400ed9.512f1f0f.js             |     1 +
 content/assets/js/3cff1016.f95ddbe9.js             |     1 +
 content/assets/js/3d7bb4e0.2a9c57b1.js             |     1 +
 content/assets/js/3d9fe30f.953dd3f8.js             |     1 +
 content/assets/js/3ec050b2.d54b1402.js             |     1 +
 content/assets/js/3f07749a.a7db72fd.js             |     1 +
 content/assets/js/3f48ad20.bd6a358d.js             |     1 +
 content/assets/js/3f753b27.40331707.js             |     1 +
 content/assets/js/3f883def.48f16f57.js             |     1 +
 content/assets/js/40712b22.02b4a307.js             |     1 +
 content/assets/js/41168d35.401c8031.js             |     1 +
 content/assets/js/421258aa.8d84273e.js             |     1 +
 content/assets/js/425c25af.aefc9986.js             |     1 +
 content/assets/js/4287edc9.f500d044.js             |     1 +
 content/assets/js/43a0a41f.0727d0ca.js             |     1 +
 content/assets/js/4608.9a26d7f4.js                 |     1 +
 content/assets/js/4698369b.c3f54b20.js             |     1 +
 content/assets/js/4808995b.b702ca4f.js             |     1 +
 content/assets/js/482c5c29.fa9365f9.js             |     1 +
 content/assets/js/4831039f.cde09a00.js             |     1 +
 content/assets/js/485f610c.885a1530.js             |     1 +
 content/assets/js/4882bd62.e1328caf.js             |     1 +
 content/assets/js/48e6979d.6c130ace.js             |     1 +
 content/assets/js/491836cf.c2f89144.js             |     1 +
 content/assets/js/492440dc.6a275b65.js             |     1 +
 content/assets/js/4a8bd1f6.06acd7cc.js             |     1 +
 content/assets/js/4bfd050d.9bfe3872.js             |     1 +
 content/assets/js/4cd56fdb.2bd966f9.js             |     1 +
 content/assets/js/4ce92582.a0e66bb2.js             |     1 +
 content/assets/js/4cf33c28.f6e7d439.js             |     1 +
 content/assets/js/4d444a1c.edd58956.js             |     1 +
 content/assets/js/4d70f3cf.0c7acbec.js             |     1 +
 content/assets/js/4d71094e.832865a6.js             |     1 +
 content/assets/js/50f3a74f.b0b5b491.js             |     1 +
 content/assets/js/54f44165.6ca8c125.js             |     1 +
 content/assets/js/5531b81f.0670a7c2.js             |     1 +
 content/assets/js/561b6265.6a90f3ee.js             |     1 +
 content/assets/js/561c0d70.8fea6073.js             |     1 +
 content/assets/js/567e6099.cae6d088.js             |     1 +
 content/assets/js/5870ef70.705ef3ac.js             |     1 +
 content/assets/js/5897.a59480ad.js                 |     1 +
 content/assets/js/58efeb0f.d1c1513b.js             |     1 +
 content/assets/js/5a1d798c.795b1e2c.js             |     1 +
 content/assets/js/5acc7ccb.7fc6cace.js             |     1 +
 content/assets/js/5b25eae8.55be60d2.js             |     1 +
 content/assets/js/5b83d837.21e7692d.js             |     1 +
 content/assets/js/5ccf8bb0.599401d9.js             |     1 +
 content/assets/js/5cf2c6e0.c58668f4.js             |     1 +
 content/assets/js/5d50bbf1.a41a6659.js             |     1 +
 content/assets/js/5def8e85.1974541b.js             |     1 +
 content/assets/js/5e6a0b05.6e416f21.js             |     1 +
 content/assets/js/5f20ae4e.208fc874.js             |     1 +
 content/assets/js/6079a9d9.23db09d3.js             |     1 +
 content/assets/js/612db47a.66827726.js             |     1 +
 content/assets/js/61a001f8.1f7ee8ce.js             |     1 +
 content/assets/js/629b6576.ba7b53d4.js             |     1 +
 content/assets/js/62a0d553.b8b5b8e2.js             |     1 +
 content/assets/js/634aee6c.9ddf8f36.js             |     1 +
 content/assets/js/638e6f40.eff5904a.js             |     1 +
 content/assets/js/64258085.71fc980a.js             |     1 +
 content/assets/js/655b2a13.6d1ca351.js             |     1 +
 content/assets/js/65df3d35.143da76b.js             |     1 +
 content/assets/js/6766c2ba.100b0d09.js             |     1 +
 content/assets/js/6789c389.d8b68c8d.js             |     1 +
 content/assets/js/685312ca.08c4c103.js             |     1 +
 content/assets/js/6cdfbbfb.2c17a8d4.js             |     1 +
 content/assets/js/6eb9aa01.abc5e5a1.js             |     1 +
 content/assets/js/6ee89642.f0633965.js             |     1 +
 content/assets/js/6f4e447b.04d14edf.js             |     1 +
 content/assets/js/6ff4dfcf.26dd561e.js             |     1 +
 content/assets/js/71605a32.01388500.js             |     1 +
 content/assets/js/724151f0.e3a07cfb.js             |     1 +
 content/assets/js/72c0ad31.301b9587.js             |     1 +
 content/assets/js/730767f4.9d083152.js             |     1 +
 content/assets/js/739e861c.3119a0f0.js             |     1 +
 content/assets/js/73d377e5.fcf44644.js             |     1 +
 content/assets/js/7472e927.0868d0e9.js             |     1 +
 content/assets/js/7589009a.ad71adda.js             |     1 +
 content/assets/js/76097a60.d12775ca.js             |     1 +
 content/assets/js/772e10c8.75bba34d.js             |     1 +
 content/assets/js/7815c2d3.d56591bf.js             |     1 +
 content/assets/js/78cfffe1.412c4e92.js             |     1 +
 content/assets/js/7917e5c5.ab0342e2.js             |     1 +
 content/assets/js/79fc8720.1b1771eb.js             |     1 +
 content/assets/js/7b3ecbf1.0881c897.js             |     1 +
 content/assets/js/7b3ed863.1bcad08a.js             |     1 +
 content/assets/js/7c8189eb.0e903428.js             |     1 +
 content/assets/js/7cefa220.12af95cb.js             |     1 +
 content/assets/js/7e8a1336.c8c76e4d.js             |     1 +
 content/assets/js/7e8ff14f.eb082055.js             |     1 +
 content/assets/js/7e9c80a9.f7d0e1b9.js             |     1 +
 content/assets/js/7ef71a47.b2f8dc03.js             |     1 +
 content/assets/js/7f23633c.6335cc93.js             |     1 +
 content/assets/js/7f6538f4.8870f848.js             |     1 +
 content/assets/js/7fa58592.0add5310.js             |     1 +
 content/assets/js/80055ea8.d0275993.js             |     1 +
 content/assets/js/807892e9.27b0d9dd.js             |     1 +
 content/assets/js/818526b6.7acc40d7.js             |     1 +
 content/assets/js/8296c7ad.03cd88e5.js             |     1 +
 content/assets/js/8372258a.a94211c2.js             |     1 +
 content/assets/js/83a4731b.5ea40ef0.js             |     1 +
 content/assets/js/83e74c48.12c8ecc6.js             |     1 +
 content/assets/js/850e3a3d.9762719b.js             |     1 +
 content/assets/js/86587f23.278ab48d.js             |     1 +
 content/assets/js/865fc9ab.f523af94.js             |     1 +
 content/assets/js/86a6f4a6.9234e9a6.js             |     1 +
 content/assets/js/86ab4954.f23f12f7.js             |     1 +
 content/assets/js/87726f30.068798b8.js             |     1 +
 content/assets/js/87d315c4.526314c2.js             |     1 +
 content/assets/js/87d8598c.f635f502.js             |     1 +
 content/assets/js/896baf8c.0a816849.js             |     1 +
 content/assets/js/8af1d301.d01ae9f7.js             |     1 +
 content/assets/js/8cc504e2.36346078.js             |     1 +
 content/assets/js/8d306d14.9feeb154.js             |     1 +
 content/assets/js/8d5383ff.94993b73.js             |     1 +
 content/assets/js/8df24095.fe8cce51.js             |     1 +
 content/assets/js/8e8026e2.bcab0e93.js             |     1 +
 content/assets/js/8e901aa8.2a7d444e.js             |     1 +
 content/assets/js/8ef2f9fb.e32f7d9f.js             |     1 +
 content/assets/js/8fde3252.3d17d4ee.js             |     1 +
 content/assets/js/9050039c.b4e88255.js             |     1 +
 content/assets/js/91a9c488.dfd6c5a5.js             |     1 +
 content/assets/js/91c76d4c.617ad3c1.js             |     1 +
 content/assets/js/9260b226.287a0b66.js             |     1 +
 content/assets/js/92fa1062.0a4142b8.js             |     1 +
 content/assets/js/935f2afb.43c0f47f.js             |     1 +
 content/assets/js/93eb8f00.37e672ee.js             |     1 +
 content/assets/js/961398de.c3b2af0d.js             |     1 +
 content/assets/js/97dcfc8e.8ed76879.js             |     1 +
 content/assets/js/985bff7a.344cb64e.js             |     1 +
 content/assets/js/98dbf19d.8b87e212.js             |     1 +
 content/assets/js/9a26ec38.a94efa44.js             |     1 +
 content/assets/js/9a9953e7.629fd89b.js             |     1 +
 content/assets/js/9c4aba92.969a3bbc.js             |     1 +
 content/assets/js/9c5aab0e.02f7d4de.js             |     1 +
 content/assets/js/9ca9b220.7316d591.js             |     1 +
 content/assets/js/9da19abb.f7071224.js             |     1 +
 content/assets/js/9dbc92a7.cf28c391.js             |     1 +
 content/assets/js/9e4087bc.0678c720.js             |     1 +
 content/assets/js/9edca4e9.5ff5b071.js             |     1 +
 content/assets/js/9f61d8e1.3a21892f.js             |     1 +
 content/assets/js/9fedf7e0.37c5d15a.js             |     1 +
 content/assets/js/a19a348a.7b0d1cd5.js             |     1 +
 content/assets/js/a2d2862e.602ef9ae.js             |     1 +
 content/assets/js/a34b52ce.702a8aa4.js             |     1 +
 content/assets/js/a363edce.d218a214.js             |     1 +
 content/assets/js/a386696c.d852ad08.js             |     1 +
 content/assets/js/a3d44527.95d9eb02.js             |     1 +
 content/assets/js/a43fb5c1.783ed310.js             |     1 +
 content/assets/js/a47a33ba.f84924e6.js             |     1 +
 content/assets/js/a4f4c0c8.5aa3897c.js             |     1 +
 content/assets/js/a5854c89.4621c52d.js             |     1 +
 content/assets/js/a647d08a.3c71a46b.js             |     1 +
 content/assets/js/a67f69f8.ad9ea6d0.js             |     1 +
 content/assets/js/a7a77925.36ac7d6f.js             |     1 +
 content/assets/js/a9e28e86.cac6f5bb.js             |     1 +
 content/assets/js/aa9ec3b8.0f2fe2a6.js             |     1 +
 content/assets/js/abb3dda4.fd2f31d8.js             |     1 +
 content/assets/js/abbc0c33.12727a46.js             |     1 +
 content/assets/js/ac63e720.19973228.js             |     1 +
 content/assets/js/aede75d4.cf3086d4.js             |     1 +
 content/assets/js/af30b71e.968d3bb5.js             |     1 +
 content/assets/js/b022ea46.6e1080d5.js             |     1 +
 content/assets/js/b217b1df.e1522aba.js             |     1 +
 content/assets/js/b218484e.6ca2de28.js             |     1 +
 content/assets/js/b26f55a5.e8531a01.js             |     1 +
 content/assets/js/b2f554cd.9a8ea596.js             |     1 +
 content/assets/js/b3c11919.9e8c9ff7.js             |     1 +
 content/assets/js/b4baf230.221e16f0.js             |     1 +
 content/assets/js/b54aa47d.068bb75e.js             |     1 +
 content/assets/js/b672ebd6.6034a3d6.js             |     1 +
 content/assets/js/b68c61f5.ad310ec4.js             |     1 +
 content/assets/js/b6c885a5.bf470559.js             |     1 +
 content/assets/js/b7d359f1.36c9d3ae.js             |     1 +
 content/assets/js/b7fafd37.56cfe2b6.js             |     1 +
 content/assets/js/b800115e.141dabb3.js             |     1 +
 content/assets/js/b929e89b.c405c91c.js             |     1 +
 content/assets/js/ba628d47.0466d8e9.js             |     1 +
 content/assets/js/bb7ded3b.2c0cab75.js             |     1 +
 content/assets/js/bbd70f53.7e298719.js             |     1 +
 content/assets/js/bbde899b.ee15a60b.js             |     1 +
 content/assets/js/bbef9193.e8e72442.js             |     1 +
 content/assets/js/bc29171d.00e0a24e.js             |     1 +
 content/assets/js/bc5400c9.eb78b21c.js             |     1 +
 content/assets/js/be9b1ba5.012c663f.js             |     1 +
 content/assets/js/bf29d81a.9ad233f5.js             |     1 +
 content/assets/js/bf69fc30.cc7a1e41.js             |     1 +
 content/assets/js/c142e639.32efdf48.js             |     1 +
 content/assets/js/c2065ba5.87a6c62e.js             |     1 +
 content/assets/js/c29dbf77.2c702a23.js             |     1 +
 content/assets/js/c34c1aa0.93115d84.js             |     1 +
 content/assets/js/c3917577.1ae8c40d.js             |     1 +
 content/assets/js/c4f5d8e4.4451a7dc.js             |     1 +
 content/assets/js/c53b1d90.104dbcf6.js             |     1 +
 content/assets/js/c56769ee.0145133b.js             |     1 +
 content/assets/js/c6ff1e84.690b1797.js             |     1 +
 content/assets/js/c767f061.b3f1edc7.js             |     1 +
 content/assets/js/c78e0dfd.6fc056eb.js             |     1 +
 content/assets/js/c7f18df2.7a645f88.js             |     1 +
 content/assets/js/c87023c4.b827299a.js             |     1 +
 content/assets/js/c90cac61.997ee59b.js             |     1 +
 content/assets/js/c9cfd710.f423f22c.js             |     1 +
 content/assets/js/ca99f506.5897fd2d.js             |     1 +
 content/assets/js/ca9e19a0.e2ec4622.js             |     1 +
 content/assets/js/caa6cc64.832dfc10.js             |     1 +
 content/assets/js/cb1fb814.8df33663.js             |     1 +
 content/assets/js/cb952911.0937a127.js             |     1 +
 content/assets/js/cbfa528b.3dd0830d.js             |     1 +
 content/assets/js/cf9c4b04.6f6a1756.js             |     1 +
 content/assets/js/d09aafa8.0762c034.js             |     1 +
 content/assets/js/d0a2eb8e.da9a0a19.js             |     1 +
 content/assets/js/d1a9d15c.d8e9160e.js             |     1 +
 content/assets/js/d2113218.eb4812fd.js             |     1 +
 content/assets/js/d288ceb1.ed858779.js             |     1 +
 content/assets/js/d33291bb.9226390c.js             |     1 +
 content/assets/js/d67b6402.85a425d1.js             |     1 +
 content/assets/js/d70b4d73.1d2dfba9.js             |     1 +
 content/assets/js/d86f913f.d13fe80c.js             |     1 +
 content/assets/js/d8aef0aa.d4046053.js             |     1 +
 content/assets/js/d91115c6.6cb2e08e.js             |     1 +
 content/assets/js/d99593c1.6e82454e.js             |     1 +
 content/assets/js/d9c8eb9a.c354b252.js             |     1 +
 content/assets/js/da284785.37935720.js             |     1 +
 content/assets/js/da8fb6e6.2560bb4b.js             |     1 +
 content/assets/js/db1d00c4.43dd085c.js             |     1 +
 content/assets/js/db32d9f1.336ded6b.js             |     1 +
 content/assets/js/db40a819.20559fed.js             |     1 +
 content/assets/js/dc0ec182.0670d8b0.js             |     1 +
 content/assets/js/dca334c0.2fb4223d.js             |     1 +
 content/assets/js/dd523e5f.5809f55a.js             |     1 +
 content/assets/js/ddcb2691.e936cb8f.js             |     1 +
 content/assets/js/de2333f9.0729d6c0.js             |     1 +
 content/assets/js/de85a0a7.0284a9e4.js             |     1 +
 content/assets/js/ded32efe.d8c31560.js             |     1 +
 content/assets/js/deffa85b.dcf95f72.js             |     1 +
 content/assets/js/df9d0e7b.da99e674.js             |     1 +
 content/assets/js/dff2692f.cde316f0.js             |     1 +
 content/assets/js/e0d9e15f.af53b031.js             |     1 +
 content/assets/js/e151506d.2f4b0bb0.js             |     1 +
 content/assets/js/e1797e98.6c46bf1a.js             |     1 +
 content/assets/js/e1e94bbc.c37b6b30.js             |     1 +
 content/assets/js/e2886f4d.4b3b2871.js             |     1 +
 content/assets/js/e2a686c7.218a090b.js             |     1 +
 content/assets/js/e2a8767f.f619da0a.js             |     1 +
 content/assets/js/e39bc689.2b929530.js             |     1 +
 content/assets/js/e494340d.f3927c30.js             |     1 +
 content/assets/js/e526d9fb.ce099b02.js             |     1 +
 content/assets/js/e52fe1ed.32fd816e.js             |     1 +
 content/assets/js/e54bfd1f.762be9d5.js             |     1 +
 content/assets/js/e6a6cdb5.1cd13127.js             |     1 +
 content/assets/js/e94dfc49.8d761b35.js             |     1 +
 content/assets/js/ea0aa512.60444206.js             |     1 +
 content/assets/js/ea5d6149.fa590761.js             |     1 +
 content/assets/js/eba79e96.3ae49e82.js             |     1 +
 content/assets/js/ebba64f8.53687746.js             |     1 +
 content/assets/js/ed08832e.b59935df.js             |     1 +
 content/assets/js/ed30e49e.86375822.js             |     1 +
 content/assets/js/ed8488f0.3cfbf429.js             |     1 +
 content/assets/js/ede2ad5f.188b635c.js             |     1 +
 content/assets/js/ee4ead70.90bcb663.js             |     1 +
 content/assets/js/ef1ef56c.91737d13.js             |     1 +
 content/assets/js/effdd252.fa07bb0f.js             |     1 +
 content/assets/js/f189ee4a.894dfabf.js             |     1 +
 content/assets/js/f1c1c644.03cd792d.js             |     1 +
 content/assets/js/f1ec30d1.f6082093.js             |     1 +
 content/assets/js/f2d5ac7e.f8969d26.js             |     1 +
 content/assets/js/f2d60081.366fca77.js             |     1 +
 content/assets/js/f51846fe.7f255659.js             |     1 +
 content/assets/js/f51baf8e.a28acd00.js             |     1 +
 content/assets/js/f61db2e5.f0fc9bfb.js             |     1 +
 content/assets/js/f69994f3.85696883.js             |     1 +
 content/assets/js/f74a5a7b.810fb406.js             |     1 +
 content/assets/js/f7a674b2.628409da.js             |     1 +
 content/assets/js/f9a3b6b7.dcf8cc53.js             |     1 +
 content/assets/js/f9a9d4c2.e6b0d9a9.js             |     1 +
 content/assets/js/fb18728e.24a2e753.js             |     1 +
 content/assets/js/fca08244.763eceba.js             |     1 +
 content/assets/js/fcea3b45.c1e1ce4d.js             |     1 +
 content/assets/js/fd1c180b.54756ea0.js             |     1 +
 content/assets/js/ff260964.f534af46.js             |     1 +
 content/assets/js/ffb1bb68.2445a8db.js             |     1 +
 content/assets/js/ffbf113e.d508b4c4.js             |     1 +
 content/assets/js/main.86210a10.js                 |     2 +
 content/assets/js/main.86210a10.js.LICENSE.txt     |    68 +
 content/assets/js/runtime~main.57aee014.js         |     1 +
 content/blog/archive/index.html                    |    29 +
 .../index.html                                     |    34 +
 .../BP-21-new-api-close-inconsistencies/index.html |    29 +
 .../index.html                                     |    29 +
 content/bps/BP-25-MovingChecksumToProto/index.html |    29 +
 .../index.html                                     |    40 +
 content/bps/BP-27-new-bookkeeper-cli/index.html    |    32 +
 .../bps/BP-28-etcd-as-metadata-store/index.html    |    36 +
 .../bps/BP-29-metadata-store-api-module/index.html |    46 +
 content/bps/BP-31-durability/index.html            |    53 +
 content/bps/BP-32-advisory-write-close/index.html  |    29 +
 .../index.html                                     |    31 +
 .../bps/BP-34-cluster-metadata-checker/index.html  |    31 +
 content/bps/BP-35-128-bits-support/index.html      |    92 +
 .../index.html                                     |    32 +
 content/bps/BP-37-conf-documentation/index.html    |    43 +
 .../bps/BP-38-bookie-endpoint-discovery/index.html |    47 +
 content/bps/BP-41-bookieid/index.html              |    55 +
 content/bps/BP-42-new-api-list-ledgers/index.html  |    30 +
 content/bps/BP-43-gradle-migration/index.html      |    40 +
 content/bps/BP-44-use-metrics/index.html           |    31 +
 content/bps/BP-46-run-without-journal/index.html   |    29 +
 content/bps/BP-template/index.html                 |    29 +
 content/community/bookkeeper-proposals/index.html  |    32 +
 content/community/coding-guide/index.html          |    32 +
 content/community/contributing/index.html          |    46 +
 content/community/issue-report/index.html          |    33 +
 content/community/licensing/index.html             |    29 +
 content/community/mailing-lists/index.html         |    31 +
 content/community/meeting/index.html               |    29 +
 content/community/presentations/index.html         |    29 +
 content/community/release-guide/index.html         |    61 +
 content/community/releases/index.html              |    30 +
 content/community/slack/index.html                 |    29 +
 content/community/testing/index.html               |    39 +
 content/docs/4.10.0/admin/autorecovery/index.html  |    29 +
 content/docs/4.10.0/admin/bookies/index.html       |    29 +
 .../docs/4.10.0/admin/geo-replication/index.html   |    29 +
 content/docs/4.10.0/admin/http/index.html          |    30 +
 content/docs/4.10.0/admin/metrics/index.html       |    29 +
 content/docs/4.10.0/admin/perf/index.html          |    29 +
 content/docs/4.10.0/admin/placement/index.html     |    29 +
 content/docs/4.10.0/admin/upgrade/index.html       |    36 +
 .../docs/4.10.0/api/distributedlog-api/index.html  |    29 +
 content/docs/4.10.0/api/ledger-adv-api/index.html  |    34 +
 content/docs/4.10.0/api/ledger-api/index.html      |    53 +
 content/docs/4.10.0/api/overview/index.html        |    31 +
 content/docs/4.10.0/deployment/dcos/index.html     |    29 +
 .../docs/4.10.0/deployment/kubernetes/index.html   |    36 +
 content/docs/4.10.0/deployment/manual/index.html   |    29 +
 .../docs/4.10.0/development/codebase/index.html    |    29 +
 .../docs/4.10.0/development/protocol/index.html    |    29 +
 .../4.10.0/getting-started/concepts/index.html     |    29 +
 .../4.10.0/getting-started/installation/index.html |    29 +
 .../4.10.0/getting-started/run-locally/index.html  |    29 +
 content/docs/4.10.0/overview/index.html            |    31 +
 content/docs/4.10.0/reference/cli/index.html       |    36 +
 content/docs/4.10.0/reference/config/index.html    |    29 +
 content/docs/4.10.0/reference/metrics/index.html   |    29 +
 content/docs/4.10.0/security/overview/index.html   |    30 +
 content/docs/4.10.0/security/sasl/index.html       |    52 +
 content/docs/4.10.0/security/tls/index.html        |    60 +
 content/docs/4.10.0/security/zookeeper/index.html  |    36 +
 content/docs/4.11.1/admin/autorecovery/index.html  |    29 +
 content/docs/4.11.1/admin/bookies/index.html       |    29 +
 content/docs/4.11.1/admin/decomission/index.html   |    40 +
 .../docs/4.11.1/admin/geo-replication/index.html   |    29 +
 content/docs/4.11.1/admin/http/index.html          |    30 +
 content/docs/4.11.1/admin/metrics/index.html       |    29 +
 content/docs/4.11.1/admin/perf/index.html          |    29 +
 content/docs/4.11.1/admin/placement/index.html     |    29 +
 content/docs/4.11.1/admin/upgrade/index.html       |    36 +
 .../docs/4.11.1/api/distributedlog-api/index.html  |    29 +
 content/docs/4.11.1/api/ledger-adv-api/index.html  |    34 +
 content/docs/4.11.1/api/ledger-api/index.html      |    53 +
 content/docs/4.11.1/api/overview/index.html        |    31 +
 content/docs/4.11.1/deployment/dcos/index.html     |    29 +
 .../docs/4.11.1/deployment/kubernetes/index.html   |    36 +
 content/docs/4.11.1/deployment/manual/index.html   |    29 +
 .../docs/4.11.1/development/codebase/index.html    |    29 +
 .../docs/4.11.1/development/protocol/index.html    |    29 +
 .../4.11.1/getting-started/concepts/index.html     |    29 +
 .../4.11.1/getting-started/installation/index.html |    29 +
 .../4.11.1/getting-started/run-locally/index.html  |    29 +
 content/docs/4.11.1/overview/index.html            |    31 +
 content/docs/4.11.1/reference/cli/index.html       |    36 +
 content/docs/4.11.1/reference/config/index.html    |    29 +
 content/docs/4.11.1/reference/metrics/index.html   |    29 +
 content/docs/4.11.1/security/overview/index.html   |    30 +
 content/docs/4.11.1/security/sasl/index.html       |    52 +
 content/docs/4.11.1/security/tls/index.html        |    60 +
 content/docs/4.11.1/security/zookeeper/index.html  |    36 +
 content/docs/4.12.1/admin/autorecovery/index.html  |    30 +
 content/docs/4.12.1/admin/bookies/index.html       |    29 +
 content/docs/4.12.1/admin/decomission/index.html   |    40 +
 .../docs/4.12.1/admin/geo-replication/index.html   |    29 +
 content/docs/4.12.1/admin/http/index.html          |    30 +
 content/docs/4.12.1/admin/metrics/index.html       |    29 +
 content/docs/4.12.1/admin/perf/index.html          |    29 +
 content/docs/4.12.1/admin/placement/index.html     |    29 +
 content/docs/4.12.1/admin/upgrade/index.html       |    36 +
 .../docs/4.12.1/api/distributedlog-api/index.html  |    29 +
 content/docs/4.12.1/api/ledger-adv-api/index.html  |    34 +
 content/docs/4.12.1/api/ledger-api/index.html      |    53 +
 content/docs/4.12.1/api/overview/index.html        |    31 +
 content/docs/4.12.1/deployment/dcos/index.html     |    29 +
 .../docs/4.12.1/deployment/kubernetes/index.html   |    36 +
 content/docs/4.12.1/deployment/manual/index.html   |    29 +
 .../docs/4.12.1/development/codebase/index.html    |    29 +
 .../docs/4.12.1/development/protocol/index.html    |    29 +
 .../4.12.1/getting-started/concepts/index.html     |    29 +
 .../4.12.1/getting-started/installation/index.html |    29 +
 .../4.12.1/getting-started/run-locally/index.html  |    29 +
 content/docs/4.12.1/overview/index.html            |    31 +
 content/docs/4.12.1/reference/cli/index.html       |    36 +
 content/docs/4.12.1/reference/config/index.html    |    29 +
 content/docs/4.12.1/reference/metrics/index.html   |    29 +
 content/docs/4.12.1/security/overview/index.html   |    30 +
 content/docs/4.12.1/security/sasl/index.html       |    52 +
 content/docs/4.12.1/security/tls/index.html        |    60 +
 content/docs/4.12.1/security/zookeeper/index.html  |    36 +
 content/docs/4.13.0/admin/autorecovery/index.html  |    30 +
 content/docs/4.13.0/admin/bookies/index.html       |    29 +
 content/docs/4.13.0/admin/decomission/index.html   |    40 +
 .../docs/4.13.0/admin/geo-replication/index.html   |    29 +
 content/docs/4.13.0/admin/http/index.html          |    30 +
 content/docs/4.13.0/admin/metrics/index.html       |    29 +
 content/docs/4.13.0/admin/perf/index.html          |    29 +
 content/docs/4.13.0/admin/placement/index.html     |    29 +
 content/docs/4.13.0/admin/upgrade/index.html       |    36 +
 .../docs/4.13.0/api/distributedlog-api/index.html  |    29 +
 content/docs/4.13.0/api/ledger-adv-api/index.html  |    34 +
 content/docs/4.13.0/api/ledger-api/index.html      |    53 +
 content/docs/4.13.0/api/overview/index.html        |    31 +
 content/docs/4.13.0/deployment/dcos/index.html     |    29 +
 .../docs/4.13.0/deployment/kubernetes/index.html   |    36 +
 content/docs/4.13.0/deployment/manual/index.html   |    29 +
 .../docs/4.13.0/development/codebase/index.html    |    29 +
 .../docs/4.13.0/development/protocol/index.html    |    29 +
 .../4.13.0/getting-started/concepts/index.html     |    29 +
 .../4.13.0/getting-started/installation/index.html |    29 +
 .../4.13.0/getting-started/run-locally/index.html  |    29 +
 content/docs/4.13.0/overview/index.html            |    31 +
 content/docs/4.13.0/reference/cli/index.html       |    36 +
 content/docs/4.13.0/reference/config/index.html    |    29 +
 content/docs/4.13.0/reference/metrics/index.html   |    29 +
 content/docs/4.13.0/security/overview/index.html   |    30 +
 content/docs/4.13.0/security/sasl/index.html       |    52 +
 content/docs/4.13.0/security/tls/index.html        |    60 +
 content/docs/4.13.0/security/zookeeper/index.html  |    36 +
 content/docs/4.5.1/admin/autorecovery/index.html   |    29 +
 content/docs/4.5.1/admin/bookies/index.html        |    29 +
 .../docs/4.5.1/admin/geo-replication/index.html    |    29 +
 content/docs/4.5.1/admin/metrics/index.html        |    29 +
 content/docs/4.5.1/admin/perf/index.html           |    29 +
 content/docs/4.5.1/admin/placement/index.html      |    29 +
 content/docs/4.5.1/admin/upgrade/index.html        |    36 +
 .../docs/4.5.1/api/distributedlog-api/index.html   |    29 +
 content/docs/4.5.1/api/ledger-adv-api/index.html   |    34 +
 content/docs/4.5.1/api/ledger-api/index.html       |    33 +
 content/docs/4.5.1/api/overview/index.html         |    31 +
 content/docs/4.5.1/deployment/dcos/index.html      |    29 +
 .../docs/4.5.1/deployment/kubernetes/index.html    |    29 +
 content/docs/4.5.1/deployment/manual/index.html    |    29 +
 content/docs/4.5.1/development/codebase/index.html |    29 +
 content/docs/4.5.1/development/protocol/index.html |    29 +
 .../docs/4.5.1/getting-started/concepts/index.html |    29 +
 .../4.5.1/getting-started/installation/index.html  |    29 +
 .../4.5.1/getting-started/run-locally/index.html   |    29 +
 content/docs/4.5.1/overview/index.html             |    32 +
 content/docs/4.5.1/reference/cli/index.html        |    36 +
 content/docs/4.5.1/reference/config/index.html     |    29 +
 content/docs/4.5.1/reference/metrics/index.html    |    29 +
 content/docs/4.5.1/security/overview/index.html    |    30 +
 content/docs/4.5.1/security/sasl/index.html        |    52 +
 content/docs/4.5.1/security/tls/index.html         |    60 +
 content/docs/4.5.1/security/zookeeper/index.html   |    36 +
 content/docs/4.6.2/admin/autorecovery/index.html   |    29 +
 content/docs/4.6.2/admin/bookies/index.html        |    29 +
 .../docs/4.6.2/admin/geo-replication/index.html    |    29 +
 content/docs/4.6.2/admin/http/index.html           |    30 +
 content/docs/4.6.2/admin/metrics/index.html        |    29 +
 content/docs/4.6.2/admin/perf/index.html           |    29 +
 content/docs/4.6.2/admin/placement/index.html      |    29 +
 content/docs/4.6.2/admin/upgrade/index.html        |    36 +
 .../docs/4.6.2/api/distributedlog-api/index.html   |    29 +
 content/docs/4.6.2/api/ledger-adv-api/index.html   |    34 +
 content/docs/4.6.2/api/ledger-api/index.html       |    46 +
 content/docs/4.6.2/api/overview/index.html         |    31 +
 content/docs/4.6.2/deployment/dcos/index.html      |    29 +
 .../docs/4.6.2/deployment/kubernetes/index.html    |    36 +
 content/docs/4.6.2/deployment/manual/index.html    |    29 +
 content/docs/4.6.2/development/codebase/index.html |    29 +
 content/docs/4.6.2/development/protocol/index.html |    29 +
 .../docs/4.6.2/getting-started/concepts/index.html |    29 +
 .../4.6.2/getting-started/installation/index.html  |    29 +
 .../4.6.2/getting-started/run-locally/index.html   |    29 +
 content/docs/4.6.2/overview/index.html             |    32 +
 content/docs/4.6.2/reference/cli/index.html        |    36 +
 content/docs/4.6.2/reference/config/index.html     |    29 +
 content/docs/4.6.2/reference/metrics/index.html    |    29 +
 content/docs/4.6.2/security/overview/index.html    |    30 +
 content/docs/4.6.2/security/sasl/index.html        |    52 +
 content/docs/4.6.2/security/tls/index.html         |    60 +
 content/docs/4.6.2/security/zookeeper/index.html   |    36 +
 content/docs/4.7.3/admin/autorecovery/index.html   |    29 +
 content/docs/4.7.3/admin/bookies/index.html        |    29 +
 .../docs/4.7.3/admin/geo-replication/index.html    |    29 +
 content/docs/4.7.3/admin/http/index.html           |    30 +
 content/docs/4.7.3/admin/metrics/index.html        |    29 +
 content/docs/4.7.3/admin/perf/index.html           |    29 +
 content/docs/4.7.3/admin/placement/index.html      |    29 +
 content/docs/4.7.3/admin/upgrade/index.html        |    36 +
 .../docs/4.7.3/api/distributedlog-api/index.html   |    29 +
 content/docs/4.7.3/api/ledger-adv-api/index.html   |    34 +
 content/docs/4.7.3/api/ledger-api/index.html       |    45 +
 content/docs/4.7.3/api/overview/index.html         |    31 +
 content/docs/4.7.3/deployment/dcos/index.html      |    29 +
 .../docs/4.7.3/deployment/kubernetes/index.html    |    36 +
 content/docs/4.7.3/deployment/manual/index.html    |    29 +
 content/docs/4.7.3/development/codebase/index.html |    29 +
 content/docs/4.7.3/development/protocol/index.html |    29 +
 .../docs/4.7.3/getting-started/concepts/index.html |    29 +
 .../4.7.3/getting-started/installation/index.html  |    29 +
 .../4.7.3/getting-started/run-locally/index.html   |    29 +
 content/docs/4.7.3/overview/index.html             |    31 +
 content/docs/4.7.3/reference/cli/index.html        |    36 +
 content/docs/4.7.3/reference/config/index.html     |    29 +
 content/docs/4.7.3/reference/metrics/index.html    |    29 +
 content/docs/4.7.3/security/overview/index.html    |    30 +
 content/docs/4.7.3/security/sasl/index.html        |    52 +
 content/docs/4.7.3/security/tls/index.html         |    60 +
 content/docs/4.7.3/security/zookeeper/index.html   |    36 +
 content/docs/4.8.2/admin/autorecovery/index.html   |    29 +
 content/docs/4.8.2/admin/bookies/index.html        |    29 +
 .../docs/4.8.2/admin/geo-replication/index.html    |    29 +
 content/docs/4.8.2/admin/http/index.html           |    30 +
 content/docs/4.8.2/admin/metrics/index.html        |    29 +
 content/docs/4.8.2/admin/perf/index.html           |    29 +
 content/docs/4.8.2/admin/placement/index.html      |    29 +
 content/docs/4.8.2/admin/upgrade/index.html        |    36 +
 .../docs/4.8.2/api/distributedlog-api/index.html   |    29 +
 content/docs/4.8.2/api/ledger-adv-api/index.html   |    34 +
 content/docs/4.8.2/api/ledger-api/index.html       |    53 +
 content/docs/4.8.2/api/overview/index.html         |    31 +
 content/docs/4.8.2/deployment/dcos/index.html      |    29 +
 .../docs/4.8.2/deployment/kubernetes/index.html    |    36 +
 content/docs/4.8.2/deployment/manual/index.html    |    29 +
 content/docs/4.8.2/development/codebase/index.html |    29 +
 content/docs/4.8.2/development/protocol/index.html |    29 +
 .../docs/4.8.2/getting-started/concepts/index.html |    29 +
 .../4.8.2/getting-started/installation/index.html  |    29 +
 .../4.8.2/getting-started/run-locally/index.html   |    29 +
 content/docs/4.8.2/overview/index.html             |    31 +
 content/docs/4.8.2/reference/cli/index.html        |    36 +
 content/docs/4.8.2/reference/config/index.html     |    29 +
 content/docs/4.8.2/reference/metrics/index.html    |    29 +
 content/docs/4.8.2/security/overview/index.html    |    30 +
 content/docs/4.8.2/security/sasl/index.html        |    52 +
 content/docs/4.8.2/security/tls/index.html         |    60 +
 content/docs/4.8.2/security/zookeeper/index.html   |    36 +
 content/docs/4.9.2/admin/autorecovery/index.html   |    29 +
 content/docs/4.9.2/admin/bookies/index.html        |    29 +
 .../docs/4.9.2/admin/geo-replication/index.html    |    29 +
 content/docs/4.9.2/admin/http/index.html           |    30 +
 content/docs/4.9.2/admin/metrics/index.html        |    29 +
 content/docs/4.9.2/admin/perf/index.html           |    29 +
 content/docs/4.9.2/admin/placement/index.html      |    29 +
 content/docs/4.9.2/admin/upgrade/index.html        |    36 +
 .../docs/4.9.2/api/distributedlog-api/index.html   |    29 +
 content/docs/4.9.2/api/ledger-adv-api/index.html   |    34 +
 content/docs/4.9.2/api/ledger-api/index.html       |    53 +
 content/docs/4.9.2/api/overview/index.html         |    31 +
 content/docs/4.9.2/deployment/dcos/index.html      |    29 +
 .../docs/4.9.2/deployment/kubernetes/index.html    |    36 +
 content/docs/4.9.2/deployment/manual/index.html    |    29 +
 content/docs/4.9.2/development/codebase/index.html |    29 +
 content/docs/4.9.2/development/protocol/index.html |    29 +
 .../docs/4.9.2/getting-started/concepts/index.html |    29 +
 .../4.9.2/getting-started/installation/index.html  |    29 +
 .../4.9.2/getting-started/run-locally/index.html   |    29 +
 content/docs/4.9.2/overview/index.html             |    31 +
 content/docs/4.9.2/reference/cli/index.html        |    36 +
 content/docs/4.9.2/reference/config/index.html     |    29 +
 content/docs/4.9.2/reference/metrics/index.html    |    29 +
 content/docs/4.9.2/security/overview/index.html    |    30 +
 content/docs/4.9.2/security/sasl/index.html        |    52 +
 content/docs/4.9.2/security/tls/index.html         |    60 +
 content/docs/4.9.2/security/zookeeper/index.html   |    36 +
 content/docs/admin/autorecovery/index.html         |    30 +
 content/docs/admin/bookies/index.html              |    29 +
 content/docs/admin/decomission/index.html          |    40 +
 content/docs/admin/geo-replication/index.html      |    29 +
 content/docs/admin/http/index.html                 |    30 +
 content/docs/admin/metrics/index.html              |    29 +
 content/docs/admin/perf/index.html                 |    29 +
 content/docs/admin/placement/index.html            |    29 +
 content/docs/admin/upgrade/index.html              |    36 +
 content/docs/api/distributedlog-api/index.html     |    29 +
 content/docs/api/ledger-adv-api/index.html         |    34 +
 content/docs/api/ledger-api/index.html             |    53 +
 content/docs/api/overview/index.html               |    31 +
 content/docs/deployment/dcos/index.html            |    29 +
 content/docs/deployment/kubernetes/index.html      |    36 +
 content/docs/deployment/manual/index.html          |    29 +
 content/docs/development/codebase/index.html       |    29 +
 content/docs/development/protocol/index.html       |    29 +
 content/docs/getting-started/concepts/index.html   |    29 +
 .../docs/getting-started/installation/index.html   |    29 +
 .../docs/getting-started/run-locally/index.html    |    29 +
 .../docs/latest/api/javadoc/allclasses-index.html  |  5862 ++++
 content/docs/latest/api/javadoc/allclasses.html    |   992 +
 .../docs/latest/api/javadoc/allpackages-index.html |   493 +
 .../docs/latest/api/javadoc/constant-values.html   |  7298 +++++
 .../docs/latest/api/javadoc/deprecated-list.html   |   436 +
 content/docs/latest/api/javadoc/element-list       |    55 +
 content/docs/latest/api/javadoc/help-doc.html      |   271 +
 content/docs/latest/api/javadoc/index-all.html     | 26918 +++++++++++++++++++
 content/docs/latest/api/javadoc/index.html         |   495 +
 .../api/javadoc/jquery/external/jquery/jquery.js   | 10872 ++++++++
 .../jquery/images/ui-bg_glass_55_fbf9ee_1x400.png  |   Bin 0 -> 335 bytes
 .../jquery/images/ui-bg_glass_65_dadada_1x400.png  |   Bin 0 -> 262 bytes
 .../jquery/images/ui-bg_glass_75_dadada_1x400.png  |   Bin 0 -> 262 bytes
 .../jquery/images/ui-bg_glass_75_e6e6e6_1x400.png  |   Bin 0 -> 262 bytes
 .../jquery/images/ui-bg_glass_95_fef1ec_1x400.png  |   Bin 0 -> 332 bytes
 .../ui-bg_highlight-soft_75_cccccc_1x100.png       |   Bin 0 -> 280 bytes
 .../jquery/images/ui-icons_222222_256x240.png      |   Bin 0 -> 6922 bytes
 .../jquery/images/ui-icons_2e83ff_256x240.png      |   Bin 0 -> 4549 bytes
 .../jquery/images/ui-icons_454545_256x240.png      |   Bin 0 -> 6992 bytes
 .../jquery/images/ui-icons_888888_256x240.png      |   Bin 0 -> 6999 bytes
 .../jquery/images/ui-icons_cd0a0a_256x240.png      |   Bin 0 -> 4549 bytes
 .../docs/latest/api/javadoc/jquery/jquery-3.5.1.js | 10872 ++++++++
 .../docs/latest/api/javadoc/jquery/jquery-ui.css   |   582 +
 .../docs/latest/api/javadoc/jquery/jquery-ui.js    |  2659 ++
 .../latest/api/javadoc/jquery/jquery-ui.min.css    |     7 +
 .../latest/api/javadoc/jquery/jquery-ui.min.js     |     6 +
 .../api/javadoc/jquery/jquery-ui.structure.css     |   156 +
 .../api/javadoc/jquery/jquery-ui.structure.min.css |     5 +
 .../jquery/jszip-utils/dist/jszip-utils-ie.js      |    56 +
 .../jquery/jszip-utils/dist/jszip-utils-ie.min.js  |    10 +
 .../javadoc/jquery/jszip-utils/dist/jszip-utils.js |   118 +
 .../jquery/jszip-utils/dist/jszip-utils.min.js     |    10 +
 .../latest/api/javadoc/jquery/jszip/dist/jszip.js  | 11370 ++++++++
 .../api/javadoc/jquery/jszip/dist/jszip.min.js     |    13 +
 .../docs/latest/api/javadoc/member-search-index.js |     1 +
 .../latest/api/javadoc/member-search-index.zip     |   Bin 0 -> 119901 bytes
 .../auth/AuthCallbacks.GenericCallback.html        |   260 +
 .../org/apache/bookkeeper/auth/AuthCallbacks.html  |   291 +
 .../auth/AuthProviderFactoryFactory.html           |   374 +
 .../org/apache/bookkeeper/auth/AuthToken.html      |   320 +
 .../bookkeeper/auth/BookKeeperPrincipal.html       |   400 +
 .../auth/BookieAuthProvider.Factory.html           |   340 +
 .../apache/bookkeeper/auth/BookieAuthProvider.html |   323 +
 .../auth/ClientAuthProvider.Factory.html           |   338 +
 .../apache/bookkeeper/auth/ClientAuthProvider.html |   342 +
 .../apache/bookkeeper/auth/package-summary.html    |   229 +
 .../org/apache/bookkeeper/auth/package-tree.html   |   173 +
 .../AbstractLogCompactor.LogRemovalListener.html   |   251 +
 .../bookie/AbstractLogCompactor.Throttler.html     |   307 +
 .../bookkeeper/bookie/AbstractLogCompactor.html    |   434 +
 .../bookkeeper/bookie/BookKeeperServerStats.html   |  2478 ++
 .../bookkeeper/bookie/Bookie.NoEntryException.html |   371 +
 .../bookie/Bookie.NoLedgerException.html           |   338 +
 .../org/apache/bookkeeper/bookie/Bookie.html       |   711 +
 .../bookkeeper/bookie/BookieCriticalThread.html    |   408 +
 .../BookieException.BookieIllegalOpException.html  |   350 +
 ...xception.BookieUnauthorizedAccessException.html |   324 +
 .../bookkeeper/bookie/BookieException.Code.html    |   484 +
 .../BookieException.CookieExistException.html      |   350 +
 .../BookieException.CookieNotFoundException.html   |   350 +
 .../BookieException.DataUnknownException.html      |   366 +
 ...xception.DiskPartitionDuplicationException.html |   350 +
 ...okieException.EntryLogMetadataMapException.html |   324 +
 .../BookieException.InvalidCookieException.html    |   352 +
 .../BookieException.LedgerFencedException.html     |   324 +
 .../BookieException.MetadataStoreException.html    |   365 +
 ...BookieException.OperationRejectedException.html |   366 +
 .../BookieException.UnknownBookieIdException.html  |   337 +
 .../bookie/BookieException.UpgradeException.html   |   350 +
 .../apache/bookkeeper/bookie/BookieException.html  |   526 +
 .../bookkeeper/bookie/BookieFileChannel.html       |   331 +
 .../bookie/BookieImpl.NopWriteCallback.html        |   324 +
 .../org/apache/bookkeeper/bookie/BookieImpl.html   |  1521 ++
 .../apache/bookkeeper/bookie/BookieResources.html  |   419 +
 .../bookie/BookieShell.AutoRecoveryCmd.html        |   434 +
 .../bookie/BookieShell.BookieFormatCmd.html        |   434 +
 .../bookie/BookieShell.BookieInfoCmd.html          |   433 +
 .../bookie/BookieShell.BookieSanityTestCmd.html    |   434 +
 .../bookie/BookieShell.CheckDbLedgersIndexCmd.html |   434 +
 .../bookkeeper/bookie/BookieShell.Command.html     |   290 +
 .../bookie/BookieShell.ConvertToDbStorageCmd.html  |   434 +
 ...BookieShell.ConvertToInterleavedStorageCmd.html |   434 +
 .../bookie/BookieShell.DecommissionBookieCmd.html  |   437 +
 .../bookie/BookieShell.DeleteLedgerCmd.html        |   434 +
 .../bookie/BookieShell.EndpointInfoCmd.html        |   434 +
 .../bookie/BookieShell.ForceAuditorChecksCmd.html  |   433 +
 .../bookkeeper/bookie/BookieShell.HelpCmd.html     |   402 +
 .../bookie/BookieShell.InitBookieCmd.html          |   435 +
 .../bookie/BookieShell.InitNewCluster.html         |   441 +
 .../bookkeeper/bookie/BookieShell.LastMarkCmd.html |   402 +
 .../bookkeeper/bookie/BookieShell.LedgerCmd.html   |   434 +
 .../bookie/BookieShell.LedgerMetadataCmd.html      |   434 +
 .../bookie/BookieShell.ListActiveLedgersCmd.html   |   434 +
 .../bookie/BookieShell.ListBookiesCmd.html         |   434 +
 .../bookie/BookieShell.ListDiskFilesCmd.html       |   433 +
 .../bookie/BookieShell.ListLedgersCmd.html         |   434 +
 .../bookie/BookieShell.ListUnderreplicatedCmd.html |   434 +
 .../bookie/BookieShell.LocalConsistencyCheck.html  |   434 +
 .../BookieShell.LostBookieRecoveryDelayCmd.html    |   434 +
 .../bookie/BookieShell.MetaFormatCmd.html          |   434 +
 .../bookkeeper/bookie/BookieShell.MyCommand.html   |   462 +
 .../bookie/BookieShell.NukeExistingCluster.html    |   434 +
 .../BookieShell.QueryAutoRecoveryStatusCmd.html    |   434 +
 .../bookie/BookieShell.ReadJournalCmd.html         |   434 +
 .../bookie/BookieShell.ReadLedgerEntriesCmd.html   |   434 +
 .../bookkeeper/bookie/BookieShell.ReadLogCmd.html  |   434 +
 .../bookie/BookieShell.ReadLogMetadataCmd.html     |   434 +
 ...okieShell.RebuildDbLedgerLocationsIndexCmd.html |   434 +
 .../BookieShell.RebuildDbLedgersIndexCmd.html      |   434 +
 .../bookkeeper/bookie/BookieShell.RecoverCmd.html  |   434 +
 ...hell.RegenerateInterleavedStorageIndexFile.html |   434 +
 .../bookie/BookieShell.SimpleTestCmd.html          |   434 +
 .../bookie/BookieShell.TriggerAuditCmd.html        |   434 +
 .../BookieShell.UpdateBookieInLedgerCmd.html       |   402 +
 .../bookie/BookieShell.UpdateCookieCmd.html        |   434 +
 .../bookie/BookieShell.UpdateLedgerCmd.html        |   402 +
 .../bookie/BookieShell.UpdateLedgerNotifier.html   |   254 +
 .../bookie/BookieShell.WhatIsInstanceId.html       |   434 +
 .../bookie/BookieShell.WhoIsAuditorCmd.html        |   434 +
 .../org/apache/bookkeeper/bookie/BookieShell.html  |  1940 ++
 .../bookkeeper/bookie/BookieStateManager.html      |   803 +
 .../bookkeeper/bookie/BookieStatus.BookieMode.html |   379 +
 .../org/apache/bookkeeper/bookie/BookieStatus.html |   504 +
 .../org/apache/bookkeeper/bookie/BookieThread.html |   413 +
 .../apache/bookkeeper/bookie/BufferedChannel.html  |   797 +
 ...ChannelBase.BufferedChannelClosedException.html |   295 +
 .../bookkeeper/bookie/BufferedChannelBase.html     |   404 +
 .../bookkeeper/bookie/BufferedReadChannel.html     |   500 +
 .../apache/bookkeeper/bookie/CacheCallback.html    |   260 +
 .../bookie/CheckpointSource.Checkpoint.html        |   282 +
 .../apache/bookkeeper/bookie/CheckpointSource.html |   355 +
 .../bookkeeper/bookie/CheckpointSourceList.html    |   385 +
 .../org/apache/bookkeeper/bookie/Checkpointer.html |   315 +
 .../bookie/CompactableLedgerStorage.html           |   359 +
 .../apache/bookkeeper/bookie/Cookie.Builder.html   |   338 +
 .../org/apache/bookkeeper/bookie/Cookie.html       |   782 +
 .../apache/bookkeeper/bookie/CookieValidation.html |   261 +
 .../bookkeeper/bookie/DefaultFileChannel.html      |   401 +
 .../bookie/DefaultFileChannelProvider.html         |   374 +
 .../org/apache/bookkeeper/bookie/EntryKey.html     |   448 +
 .../apache/bookkeeper/bookie/EntryKeyValue.html    |   522 +
 .../apache/bookkeeper/bookie/EntryLocation.html    |   406 +
 ...EntryLogCompactor.CompactionScannerFactory.html |   369 +
 .../bookkeeper/bookie/EntryLogCompactor.html       |   445 +
 .../apache/bookkeeper/bookie/EntryLogManager.html  |   430 +
 .../bookkeeper/bookie/EntryLogManagerBase.html     |   671 +
 ...LogPerLedger.BufferedLogChannelWithDirInfo.html |   309 +
 ...rForEntryLogPerLedger.EntryLogAndLockTuple.html |   267 +
 ...ntryLogPerLedger.EntryLogsPerLedgerCounter.html |   324 +
 .../EntryLogManagerForEntryLogPerLedger.html       |   807 +
 .../bookie/EntryLogManagerForSingleEntryLog.html   |   653 +
 ...ntryLogMetadata.EntryLogMetadataRecyclable.html |   328 +
 .../apache/bookkeeper/bookie/EntryLogMetadata.html |   644 +
 .../bookkeeper/bookie/EntryLogMetadataMap.html     |   380 +
 .../bookie/EntryLogger.BufferedLogChannel.html     |   525 +
 .../bookie/EntryLogger.EntryLogListener.html       |   259 +
 .../bookie/EntryLogger.EntryLogScanner.html        |   293 +
 ...ookupException.InvalidEntryLengthException.html |   319 +
 ...EntryLookupException.MissingEntryException.html |   319 +
 ...tryLookupException.MissingLogFileException.html |   319 +
 ...r.EntryLookupException.WrongEntryException.html |   323 +
 .../bookie/EntryLogger.EntryLookupException.html   |   342 +
 .../bookie/EntryLogger.RecentEntryLogsStatus.html  |   369 +
 .../org/apache/bookkeeper/bookie/EntryLogger.html  |  1517 ++
 .../bookkeeper/bookie/EntryLoggerAllocator.html    |   454 +
 .../bookie/EntryMemTable.EntrySkipList.html        |   489 +
 .../apache/bookkeeper/bookie/EntryMemTable.html    |   823 +
 .../bookie/EntryMemTableWithParallelFlusher.html   |   433 +
 .../org/apache/bookkeeper/bookie/ExitCode.html     |   402 +
 .../bookkeeper/bookie/FileChannelProvider.html     |   326 +
 .../bookie/FileInfo.FileInfoDeletedException.html  |   299 +
 .../org/apache/bookkeeper/bookie/FileInfo.html     |   959 +
 .../FileInfoBackingCache.CachedFileInfo.html       |   489 +
 .../bookie/FileInfoBackingCache.FileLoader.html    |   258 +
 .../bookkeeper/bookie/FileInfoBackingCache.html    |   461 +
 .../bookkeeper/bookie/FileSystemUpgrade.html       |   414 +
 ...ctionStatus.GarbageCollectionStatusBuilder.html |   451 +
 .../bookkeeper/bookie/GarbageCollectionStatus.html |   536 +
 .../bookie/GarbageCollector.GarbageCleaner.html    |   259 +
 .../apache/bookkeeper/bookie/GarbageCollector.html |   285 +
 .../bookkeeper/bookie/GarbageCollectorThread.html  |  1237 +
 .../apache/bookkeeper/bookie/HandleFactory.html    |   281 +
 .../bookkeeper/bookie/HandleFactoryImpl.html       |   402 +
 .../bookie/InMemoryEntryLogMetadataMap.html        |   434 +
 .../bookkeeper/bookie/IndexInMemPageMgr.html       |   563 +
 .../bookkeeper/bookie/IndexPersistenceMgr.html     |   891 +
 .../bookie/InterleavedLedgerStorage.html           |  1631 ++
 ...StorageRegenerateIndexOp.DryRunLedgerCache.html |   751 +
 ...avedStorageRegenerateIndexOp.RecoveryStats.html |   419 +
 .../InterleavedStorageRegenerateIndexOp.html       |   346 +
 .../bookie/Journal.BufferedChannelBuilder.html     |   306 +
 .../bookie/Journal.ForceWriteRequest.html          |   287 +
 .../bookkeeper/bookie/Journal.JournalIdFilter.html |   252 +
 .../bookkeeper/bookie/Journal.JournalScanner.html  |   268 +
 .../bookkeeper/bookie/Journal.LastLogMark.html     |   396 +
 .../bookkeeper/bookie/Journal.QueueEntry.html      |   477 +
 .../org/apache/bookkeeper/bookie/Journal.html      |  1124 +
 .../apache/bookkeeper/bookie/JournalChannel.html   |   928 +
 .../apache/bookkeeper/bookie/KeyComparator.html    |   322 +
 .../bookkeeper/bookie/LEPStateChangeCallback.html  |   290 +
 .../bookie/LastAddConfirmedUpdateNotification.html |   431 +
 .../bookie/LedgerCache.LedgerIndexMetadata.html    |   382 +
 .../LedgerCache.NoIndexForLedgerException.html     |   302 +
 .../bookkeeper/bookie/LedgerCache.PageEntries.html |   285 +
 .../bookie/LedgerCache.PageEntriesIterable.html    |   228 +
 .../org/apache/bookkeeper/bookie/LedgerCache.html  |   675 +
 .../apache/bookkeeper/bookie/LedgerCacheImpl.html  |   836 +
 .../apache/bookkeeper/bookie/LedgerDescriptor.html |   619 +
 .../bookkeeper/bookie/LedgerDescriptorImpl.html    |   660 +
 .../bookie/LedgerDescriptorReadOnlyImpl.html       |   399 +
 .../LedgerDirsManager.LedgerDirsListener.html      |   386 +
 ...erDirsManager.NoWritableLedgerDirException.html |   300 +
 .../bookkeeper/bookie/LedgerDirsManager.html       |   777 +
 .../bookkeeper/bookie/LedgerDirsMonitor.html       |   347 +
 .../bookie/LedgerEntryPage.EntryVisitor.html       |   259 +
 .../apache/bookkeeper/bookie/LedgerEntryPage.html  |   784 +
 .../LedgerStorage.DetectedInconsistency.html       |   342 +
 .../LedgerStorage.LedgerDeletionListener.html      |   256 +
 .../bookie/LedgerStorage.StorageState.html         |   367 +
 .../apache/bookkeeper/bookie/LedgerStorage.html    |  1090 +
 .../bookkeeper/bookie/LedgerStorageFactory.html    |   309 +
 .../bookkeeper/bookie/LegacyCookieValidation.html  |   318 +
 .../bookie/LocalBookieEnsemblePlacementPolicy.html |   729 +
 .../org/apache/bookkeeper/bookie/LogMark.html      |   492 +
 .../apache/bookkeeper/bookie/ReadOnlyBookie.html   |   422 +
 .../bookkeeper/bookie/ReadOnlyEntryLogger.html     |   388 +
 .../apache/bookkeeper/bookie/ReadOnlyFileInfo.html |   335 +
 .../bookie/ScanAndCompareGarbageCollector.html     |   414 +
 .../apache/bookkeeper/bookie/ScrubberStats.html    |   366 +
 .../bookkeeper/bookie/ShortReadException.html      |   311 +
 .../bookie/SkipListArena.MemorySlice.html          |   302 +
 .../apache/bookkeeper/bookie/SkipListArena.html    |   408 +
 .../apache/bookkeeper/bookie/SkipListFlusher.html  |   268 +
 .../bookkeeper/bookie/SlowBufferedChannel.html     |   621 +
 .../bookkeeper/bookie/SortedLedgerStorage.html     |  1484 +
 .../bookie/StateManager.ShutdownHandler.html       |   252 +
 .../org/apache/bookkeeper/bookie/StateManager.html |   515 +
 .../org/apache/bookkeeper/bookie/SyncThread.html   |   573 +
 ...sactionalEntryLogCompactor.CompactionPhase.html |   364 +
 ...lEntryLogCompactor.FlushCompactionLogPhase.html |   370 +
 ...ctionalEntryLogCompactor.ScanEntryLogPhase.html |   370 +
 ...actionalEntryLogCompactor.UpdateIndexPhase.html |   441 +
 .../bookie/TransactionalEntryLogCompactor.html     |   534 +
 .../bookie/UncleanShutdownDetection.html           |   288 +
 .../bookie/UncleanShutdownDetectionImpl.html       |   403 +
 .../bookie/datainteg/DataIntegrityCheck.html       |   309 +
 .../DataIntegrityCheckImpl.LedgerResult.State.html |   392 +
 .../DataIntegrityCheckImpl.LedgerResult.html       |   408 +
 .../bookie/datainteg/DataIntegrityCheckImpl.html   |   600 +
 .../datainteg/DataIntegrityCookieValidation.html   |   330 +
 .../bookie/datainteg/DataIntegrityService.html     |   438 +
 .../bookie/datainteg/EntryCopier.Batch.html        |   263 +
 .../bookkeeper/bookie/datainteg/EntryCopier.html   |   290 +
 .../datainteg/EntryCopierImpl.BatchImpl.html       |   356 +
 .../bookie/datainteg/EntryCopierImpl.SinBin.html   |   324 +
 .../bookie/datainteg/EntryCopierImpl.html          |   398 +
 .../apache/bookkeeper/bookie/datainteg/Events.html |   884 +
 .../bookie/datainteg/MetadataAsyncIterator.html    |   326 +
 .../bookkeeper/bookie/datainteg/WriteSets.html     |   343 +
 .../bookie/datainteg/package-summary.html          |   257 +
 .../bookkeeper/bookie/datainteg/package-tree.html  |   199 +
 .../apache/bookkeeper/bookie/package-summary.html  |  1045 +
 .../org/apache/bookkeeper/bookie/package-tree.html |   488 +
 .../bookkeeper/bookie/stats/BookieStats.html       |   507 +
 .../bookie/stats/EntryMemTableStats.html           |   377 +
 .../bookie/stats/GarbageCollectorStats.html        |   481 +
 .../bookie/stats/IndexInMemPageMgrStats.html       |   321 +
 .../bookie/stats/IndexPersistenceMgrStats.html     |   353 +
 .../bookkeeper/bookie/stats/JournalStats.html      |   591 +
 .../bookkeeper/bookie/stats/package-summary.html   |   200 +
 .../bookkeeper/bookie/stats/package-tree.html      |   165 +
 .../bookie/storage/ldb/ArrayGroupSort.html         |   327 +
 .../bookkeeper/bookie/storage/ldb/ArrayUtil.html   |   338 +
 .../bookie/storage/ldb/DbLedgerStorage.html        |  1517 ++
 .../bookie/storage/ldb/DbLedgerStorageStats.html   |   624 +
 .../bookie/storage/ldb/EntryLocationIndex.html     |   491 +
 .../storage/ldb/EntryLocationIndexStats.html       |   309 +
 .../bookie/storage/ldb/KeyValueStorage.Batch.html  |   344 +
 .../ldb/KeyValueStorage.CloseableIterator.html     |   292 +
 .../bookie/storage/ldb/KeyValueStorage.html        |   599 +
 .../ldb/KeyValueStorageFactory.DbConfigType.html   |   393 +
 .../bookie/storage/ldb/KeyValueStorageFactory.html |   284 +
 .../bookie/storage/ldb/KeyValueStorageRocksDB.html |   766 +
 .../bookie/storage/ldb/LedgerMetadataIndex.html    |   591 +
 .../storage/ldb/LedgerMetadataIndexStats.html      |   309 +
 .../bookie/storage/ldb/LedgersIndexCheckOp.html    |   311 +
 .../bookie/storage/ldb/LedgersIndexRebuildOp.html  |   314 +
 .../storage/ldb/LocationsIndexRebuildOp.html       |   309 +
 .../bookie/storage/ldb/LongPairWrapper.html        |   366 +
 .../bookkeeper/bookie/storage/ldb/LongWrapper.html |   362 +
 .../storage/ldb/PersistentEntryLogMetadataMap.html |   475 +
 .../bookkeeper/bookie/storage/ldb/ReadCache.html   |   427 +
 ...ctoryDbLedgerStorage.LedgerLoggerProcessor.html |   256 +
 .../ldb/SingleDirectoryDbLedgerStorage.html        |  1497 ++
 .../bookie/storage/ldb/TransientLedgerInfo.html    |   520 +
 .../storage/ldb/WriteCache.EntryConsumer.html      |   256 +
 .../bookkeeper/bookie/storage/ldb/WriteCache.html  |   530 +
 .../bookie/storage/ldb/package-summary.html        |   345 +
 .../bookie/storage/ldb/package-tree.html           |   215 +
 .../client/AsyncCallback.AddCallback.html          |   318 +
 .../AsyncCallback.AddCallbackWithLatency.html      |   285 +
 .../client/AsyncCallback.AddLacCallback.html       |   275 +
 .../client/AsyncCallback.CloseCallback.html        |   275 +
 .../client/AsyncCallback.CreateCallback.html       |   275 +
 .../client/AsyncCallback.DeleteCallback.html       |   272 +
 .../client/AsyncCallback.IsClosedCallback.html     |   270 +
 .../client/AsyncCallback.OpenCallback.html         |   275 +
 .../client/AsyncCallback.ReadCallback.html         |   278 +
 ...Callback.ReadLastConfirmedAndEntryCallback.html |   283 +
 .../AsyncCallback.ReadLastConfirmedCallback.html   |   277 +
 .../client/AsyncCallback.RecoverCallback.html      |   268 +
 .../apache/bookkeeper/client/AsyncCallback.html    |   298 +
 ...Exception.BKAddEntryQuorumTimeoutException.html |   360 +
 .../client/BKException.BKBookieException.html      |   360 +
 ...eption.BKBookieHandleNotAvailableException.html |   360 +
 .../BKException.BKClientClosedException.html       |   360 +
 .../client/BKException.BKDataUnknownException.html |   360 +
 .../client/BKException.BKDigestMatchException.html |   360 +
 ...KException.BKDigestNotInitializedException.html |   360 +
 .../BKException.BKDuplicateEntryIdException.html   |   360 +
 .../client/BKException.BKIllegalOpException.html   |   360 +
 .../BKException.BKIncorrectParameterException.html |   360 +
 .../client/BKException.BKInterruptedException.html |   360 +
 .../BKException.BKLedgerClosedException.html       |   360 +
 .../client/BKException.BKLedgerExistException.html |   360 +
 .../BKException.BKLedgerFencedException.html       |   360 +
 .../BKException.BKLedgerIdOverflowException.html   |   360 +
 .../BKException.BKLedgerRecoveryException.html     |   360 +
 ...Exception.BKMetadataSerializationException.html |   373 +
 .../BKException.BKMetadataVersionException.html    |   360 +
 .../client/BKException.BKNoSuchEntryException.html |   360 +
 .../BKException.BKNoSuchLedgerExistsException.html |   360 +
 ...oSuchLedgerExistsOnMetadataServerException.html |   360 +
 .../BKException.BKNotEnoughBookiesException.html   |   373 +
 .../BKException.BKProtocolVersionException.html    |   360 +
 .../client/BKException.BKQuorumException.html      |   360 +
 .../client/BKException.BKReadException.html        |   360 +
 .../client/BKException.BKReplicationException.html |   360 +
 .../client/BKException.BKSecurityException.html    |   360 +
 .../client/BKException.BKTimeoutException.html     |   360 +
 .../BKException.BKTooManyRequestsException.html    |   360 +
 .../BKException.BKUnauthorizedAccessException.html |   360 +
 .../BKException.BKUnclosedFragmentException.html   |   360 +
 ...BKException.BKUnexpectedConditionException.html |   360 +
 .../client/BKException.BKWriteException.html       |   360 +
 ...Exception.BKWriteOnReadOnlyBookieException.html |   360 +
 .../apache/bookkeeper/client/BKException.Code.html |   221 +
 .../client/BKException.MetaStoreException.html     |   373 +
 .../bookkeeper/client/BKException.ZKException.html |   373 +
 .../org/apache/bookkeeper/client/BKException.html  |   741 +
 .../bookkeeper/client/BookKeeper.Builder.html      |   730 +
 .../bookkeeper/client/BookKeeper.DigestType.html   |   458 +
 .../org/apache/bookkeeper/client/BookKeeper.html   |  2083 ++
 .../BookKeeperAdmin.LedgerEntriesIterable.html     |   412 +
 .../BookKeeperAdmin.LedgerEntriesIterator.html     |   468 +
 .../client/BookKeeperAdmin.ResultCallBack.html     |   338 +
 .../client/BookKeeperAdmin.SyncObject.html         |   325 +
 .../apache/bookkeeper/client/BookKeeperAdmin.html  |  1564 ++
 .../bookkeeper/client/BookKeeperClientStats.html   |  1656 ++
 .../client/BookieInfoReader.BookieInfo.html        |   380 +
 .../bookkeeper/client/BookieInfoReader.State.html  |   394 +
 .../apache/bookkeeper/client/BookieInfoReader.html |   434 +
 .../apache/bookkeeper/client/BookieWatcher.html    |   425 +
 .../bookkeeper/client/BookieWatcherImpl.html       |   582 +
 .../bookkeeper/client/BookiesHealthInfo.html       |   281 +
 .../apache/bookkeeper/client/BookiesListener.html  |   253 +
 .../apache/bookkeeper/client/ClientContext.html    |   377 +
 .../bookkeeper/client/ClientInternalConf.html      |   573 +
 .../client/DefaultBookieAddressResolver.html       |   336 +
 .../client/DefaultEnsemblePlacementPolicy.html     |   743 +
 .../DefaultSpeculativeRequestExecutionPolicy.html  |   400 +
 .../client/DistributionSchedule.AckSet.html        |   345 +
 .../DistributionSchedule.QuorumCoverageSet.html    |   283 +
 .../client/DistributionSchedule.WriteSet.html      |   427 +
 .../bookkeeper/client/DistributionSchedule.html    |   481 +
 .../client/DynamicWeightedRandomSelectionImpl.html |   498 +
 ...lePlacementPolicy.PlacementPolicyAdherence.html |   412 +
 .../EnsemblePlacementPolicy.PlacementResult.html   |   300 +
 .../bookkeeper/client/EnsemblePlacementPolicy.html |   843 +
 .../apache/bookkeeper/client/EnsembleUtils.html    |   332 +
 ...tLacFlushPolicy.ExplicitLacFlushPolicyImpl.html |   503 +
 .../bookkeeper/client/ExplicitLacFlushPolicy.html  |   330 +
 .../apache/bookkeeper/client/ForceLedgerOp.html    |   551 +
 ...ologyAwareEnsemblePlacementPolicy.Ensemble.html |   308 +
 ...logyAwareEnsemblePlacementPolicy.Predicate.html |   260 +
 .../ITopologyAwareEnsemblePlacementPolicy.html     |   524 +
 .../LedgerChecker.InvalidFragmentException.html    |   290 +
 .../apache/bookkeeper/client/LedgerChecker.html    |   512 +
 .../client/LedgerCreateOp.CreateBuilderImpl.html   |   542 +
 .../apache/bookkeeper/client/LedgerCreateOp.html   |   705 +
 .../client/LedgerDeleteOp.DeleteBuilderImpl.html   |   348 +
 .../apache/bookkeeper/client/LedgerDeleteOp.html   |   492 +
 .../org/apache/bookkeeper/client/LedgerEntry.html  |   496 +
 .../apache/bookkeeper/client/LedgerFragment.html   |   595 +
 ...rFragmentReplicator.SingleFragmentCallback.html |   447 +
 .../client/LedgerFragmentReplicator.Throttler.html |   307 +
 .../client/LedgerFragmentReplicator.html           |   453 +
 .../client/LedgerHandle.LastConfirmedCtx.html      |   438 +
 .../client/LedgerHandle.NoopCloseCallback.html     |   370 +
 .../org/apache/bookkeeper/client/LedgerHandle.html |  2718 ++
 .../LedgerHandleAdv.PendingOpsComparator.html      |   325 +
 .../apache/bookkeeper/client/LedgerHandleAdv.html  |   780 +
 .../bookkeeper/client/LedgerMetadataBuilder.html   |   576 +
 .../bookkeeper/client/LedgerMetadataImpl.html      |   924 +
 .../bookkeeper/client/LedgerMetadataUtils.html     |   429 +
 .../client/LedgerOpenOp.OpenBuilderImpl.html       |   350 +
 .../org/apache/bookkeeper/client/LedgerOpenOp.html |   618 +
 .../client/LedgerRecoveryOp.RecoveryReadOp.html    |   404 +
 .../apache/bookkeeper/client/LedgerRecoveryOp.html |   615 +
 .../client/ListenerBasedPendingReadOp.html         |   433 +
 .../MetadataUpdateLoop.LocalValueUpdater.html      |   253 +
 .../MetadataUpdateLoop.MetadataTransform.html      |   256 +
 .../MetadataUpdateLoop.NeedsUpdatePredicate.html   |   256 +
 .../bookkeeper/client/MetadataUpdateLoop.html      |   443 +
 .../org/apache/bookkeeper/client/PendingAddOp.html |   913 +
 .../client/PendingReadLacOp.LacCallback.html       |   253 +
 .../apache/bookkeeper/client/PendingReadLacOp.html |   543 +
 .../client/PendingReadOp.LedgerEntryRequest.html   |   673 +
 .../client/PendingReadOp.ParallelReadRequest.html  |   444 +
 .../client/PendingReadOp.SequenceReadRequest.html  |   536 +
 .../apache/bookkeeper/client/PendingReadOp.html    |   746 +
 .../bookkeeper/client/PendingWriteLacOp.html       |   557 +
 .../bookkeeper/client/RackChangeNotifier.html      |   256 +
 .../client/RackawareEnsemblePlacementPolicy.html   |   953 +
 .../RackawareEnsemblePlacementPolicyImpl.html      |  1514 ++
 ...edAndEntryOp.LastConfirmedAndEntryCallback.html |   256 +
 ...astConfirmedAndEntryOp.ParallelReadRequest.html |   444 +
 ...ConfirmedAndEntryOp.ReadLACAndEntryRequest.html |   664 +
 ...astConfirmedAndEntryOp.SequenceReadRequest.html |   552 +
 .../client/ReadLastConfirmedAndEntryOp.html        |   631 +
 ...dLastConfirmedOp.LastConfirmedDataCallback.html |   254 +
 .../bookkeeper/client/ReadLastConfirmedOp.html     |   442 +
 .../ReadOnlyLedgerHandle.MetadataUpdater.html      |   397 +
 .../bookkeeper/client/ReadOnlyLedgerHandle.html    |   818 +
 .../client/RegionAwareEnsemblePlacementPolicy.html |  1184 +
 .../client/RoundRobinDistributionSchedule.html     |   530 +
 .../client/SpeculativeRequestExecutionPolicy.html  |   271 +
 .../client/SpeculativeRequestExecutor.html         |   268 +
 .../SyncCallbackUtils.FutureReadLastConfirmed.html |   359 +
 ...lbackUtils.FutureReadLastConfirmedAndEntry.html |   365 +
 ...SyncCallbackUtils.LastAddConfirmedCallback.html |   369 +
 .../client/SyncCallbackUtils.SyncAddCallback.html  |   366 +
 .../SyncCallbackUtils.SyncCloseCallback.html       |   327 +
 .../SyncCallbackUtils.SyncCreateAdvCallback.html   |   327 +
 .../SyncCallbackUtils.SyncCreateCallback.html      |   327 +
 .../SyncCallbackUtils.SyncDeleteCallback.html      |   324 +
 .../client/SyncCallbackUtils.SyncOpenCallback.html |   327 +
 .../client/SyncCallbackUtils.SyncReadCallback.html |   330 +
 ...allbackUtils.SyncReadLastConfirmedCallback.html |   329 +
 .../bookkeeper/client/SyncCallbackUtils.html       |   423 +
 .../org/apache/bookkeeper/client/SyncCounter.html  |   533 +
 ...semblePlacementPolicy.DNSResolverDecorator.html |   493 +
 ...areEnsemblePlacementPolicy.DefaultResolver.html |   412 +
 ...cy.EnsembleForReplacementWithNoConstraints.html |   427 +
 ...RTopologyAwareCoverageEnsemble.CoverageSet.html |   283 +
 ...Ensemble.RackOrRegionDurabilityCoverageSet.html |   394 +
 ...wareCoverageEnsemble.RackQuorumCoverageSet.html |   410 +
 ...mentPolicy.RRTopologyAwareCoverageEnsemble.html |   694 +
 ...AwareEnsemblePlacementPolicy.TruePredicate.html |   362 +
 .../TopologyAwareEnsemblePlacementPolicy.html      |   883 +
 .../bookkeeper/client/TryReadLastConfirmedOp.html  |   498 +
 .../apache/bookkeeper/client/UpdateLedgerOp.html   |   334 +
 .../WeightedRandomSelection.WeightedObject.html    |   255 +
 .../bookkeeper/client/WeightedRandomSelection.html |   316 +
 .../client/WeightedRandomSelectionImpl.html        |   508 +
 .../client/ZoneawareEnsemblePlacementPolicy.html   |   694 +
 ...ePlacementPolicyImpl.ZoneAwareNodeLocation.html |   360 +
 .../ZoneawareEnsemblePlacementPolicyImpl.html      |  1207 +
 .../bookkeeper/client/api/BKException.Code.html    |  1041 +
 .../apache/bookkeeper/client/api/BKException.html  |   505 +
 .../apache/bookkeeper/client/api/BookKeeper.html   |   405 +
 .../bookkeeper/client/api/BookKeeperBuilder.html   |   413 +
 .../bookkeeper/client/api/CreateAdvBuilder.html    |   278 +
 .../bookkeeper/client/api/CreateBuilder.html       |   468 +
 .../bookkeeper/client/api/DeleteBuilder.html       |   279 +
 .../apache/bookkeeper/client/api/DigestType.html   |   420 +
 .../bookkeeper/client/api/ForceableHandle.html     |   276 +
 .../org/apache/bookkeeper/client/api/Handle.html   |   348 +
 .../client/api/LastConfirmedAndEntry.html          |   324 +
 .../bookkeeper/client/api/LedgerEntries.html       |   328 +
 .../apache/bookkeeper/client/api/LedgerEntry.html  |   423 +
 .../client/api/LedgerMetadata.State.html           |   406 +
 .../bookkeeper/client/api/LedgerMetadata.html      |   656 +
 .../bookkeeper/client/api/LedgersIterator.html     |   282 +
 .../bookkeeper/client/api/ListLedgersResult.html   |   293 +
 .../client/api/ListLedgersResultBuilder.html       |   218 +
 .../apache/bookkeeper/client/api/OpBuilder.html    |   271 +
 .../apache/bookkeeper/client/api/OpenBuilder.html  |   351 +
 .../apache/bookkeeper/client/api/ReadHandle.html   |   647 +
 .../bookkeeper/client/api/WriteAdvHandle.html      |   522 +
 .../apache/bookkeeper/client/api/WriteFlag.html    |   477 +
 .../apache/bookkeeper/client/api/WriteHandle.html  |   600 +
 .../bookkeeper/client/api/package-summary.html     |   334 +
 .../apache/bookkeeper/client/api/package-tree.html |   232 +
 .../client/impl/BookKeeperBuilderImpl.html         |   487 +
 .../client/impl/BookKeeperClientStatsImpl.html     |   765 +
 .../client/impl/LastConfirmedAndEntryImpl.html     |   400 +
 .../bookkeeper/client/impl/LedgerEntriesImpl.html  |   366 +
 .../bookkeeper/client/impl/LedgerEntryImpl.html    |   536 +
 .../bookkeeper/client/impl/OpenBuilderBase.html    |   523 +
 .../bookkeeper/client/impl/package-summary.html    |   204 +
 .../bookkeeper/client/impl/package-tree.html       |   165 +
 .../apache/bookkeeper/client/package-summary.html  |  1085 +
 .../org/apache/bookkeeper/client/package-tree.html |   410 +
 .../InterfaceAudience.LimitedPrivate.html          |   187 +
 .../annotation/InterfaceAudience.Private.html      |   186 +
 .../annotation/InterfaceAudience.Public.html       |   186 +
 .../common/annotation/InterfaceAudience.html       |   261 +
 .../annotation/InterfaceStability.Evolving.html    |   185 +
 .../annotation/InterfaceStability.Stable.html      |   186 +
 .../annotation/InterfaceStability.Unstable.html    |   186 +
 .../common/annotation/InterfaceStability.html      |   264 +
 .../common/annotation/package-summary.html         |   226 +
 .../bookkeeper/common/annotation/package-tree.html |   172 +
 .../common/collections/BlockingMpscQueue.html      |   694 +
 .../bookkeeper/common/collections/BusyWait.html    |   271 +
 .../collections/RecyclableArrayList.Recycler.html  |   355 +
 .../common/collections/RecyclableArrayList.html    |   444 +
 .../common/collections/package-summary.html        |   188 +
 .../common/collections/package-tree.html           |   191 +
 .../common/component/AbstractComponent.html        |   396 +
 .../component/AbstractLifecycleComponent.html      |   601 +
 .../component/AutoCloseableLifecycleComponent.html |   516 +
 .../ComponentInfoPublisher.EndpointInfo.html       |   406 +
 .../common/component/ComponentInfoPublisher.html   |   402 +
 .../ComponentStarter.ComponentShutdownHook.html    |   318 +
 .../common/component/ComponentStarter.html         |   334 +
 .../common/component/Lifecycle.State.html          |   406 +
 .../bookkeeper/common/component/Lifecycle.html     |   577 +
 .../common/component/LifecycleComponent.html       |   383 +
 .../component/LifecycleComponentStack.Builder.html |   310 +
 .../common/component/LifecycleComponentStack.html  |   495 +
 .../common/component/LifecycleListener.html        |   318 +
 .../component/RxSchedulerLifecycleComponent.html   |   411 +
 .../common/component/package-summary.html          |   271 +
 .../bookkeeper/common/component/package-tree.html  |   201 +
 .../common/concurrent/FutureEventListener.html     |   302 +
 .../bookkeeper/common/concurrent/FutureUtils.html  |   679 +
 .../common/concurrent/package-summary.html         |   187 +
 .../bookkeeper/common/concurrent/package-tree.html |   170 +
 .../common/conf/ComponentConfiguration.html        |  1234 +
 .../common/conf/ConcurrentConfiguration.html       |   433 +
 .../bookkeeper/common/conf/ConfigDef.Builder.html  |   314 +
 .../apache/bookkeeper/common/conf/ConfigDef.html   |   423 +
 .../bookkeeper/common/conf/ConfigException.html    |   321 +
 .../common/conf/ConfigKey.ConfigKeyBuilder.html    |   640 +
 .../apache/bookkeeper/common/conf/ConfigKey.html   |  1321 +
 .../conf/ConfigKeyGroup.ConfigKeyGroupBuilder.html |   409 +
 .../bookkeeper/common/conf/ConfigKeyGroup.html     |   623 +
 .../org/apache/bookkeeper/common/conf/Type.html    |   469 +
 .../apache/bookkeeper/common/conf/Validator.html   |   286 +
 .../bookkeeper/common/conf/package-summary.html    |   259 +
 .../bookkeeper/common/conf/package-tree.html       |   204 +
 .../common/conf/validators/ClassValidator.html     |   455 +
 .../common/conf/validators/NullValidator.html      |   312 +
 .../common/conf/validators/RangeValidator.html     |   518 +
 .../common/conf/validators/package-summary.html    |   182 +
 .../common/conf/validators/package-tree.html       |   162 +
 .../apache/bookkeeper/common/net/ServiceURI.html   |   629 +
 .../bookkeeper/common/net/package-summary.html     |   170 +
 .../apache/bookkeeper/common/net/package-tree.html |   160 +
 .../stats/BroadCastStatsLogger.MasterSlave.html    |   379 +
 .../common/stats/BroadCastStatsLogger.Two.html     |   531 +
 .../common/stats/BroadCastStatsLogger.html         |   375 +
 .../bookkeeper/common/stats/OpStatsListener.html   |   362 +
 .../bookkeeper/common/stats/package-summary.html   |   184 +
 .../bookkeeper/common/stats/package-tree.html      |   166 +
 .../bookkeeper/common/util/Backoff.Constant.html   |   437 +
 .../common/util/Backoff.Exponential.html           |   475 +
 .../common/util/Backoff.Jitter.Type.html           |   393 +
 .../bookkeeper/common/util/Backoff.Jitter.html     |   502 +
 .../bookkeeper/common/util/Backoff.Policy.html     |   307 +
 .../org/apache/bookkeeper/common/util/Backoff.html |   522 +
 .../common/util/BoundedExecutorService.html        |   529 +
 .../util/BoundedScheduledExecutorService.html      |   659 +
 .../bookkeeper/common/util/ExecutorUtils.html      |   317 +
 .../common/util/JsonUtil.ParseJsonException.html   |   310 +
 .../apache/bookkeeper/common/util/JsonUtil.html    |   355 +
 .../common/util/LogExceptionRunnable.html          |   332 +
 .../apache/bookkeeper/common/util/MathUtils.html   |   428 +
 .../apache/bookkeeper/common/util/MdcUtils.html    |   304 +
 .../common/util/MemoryLimitController.html         |   351 +
 .../util/OrderedExecutor.AbstractBuilder.html      |   620 +
 .../common/util/OrderedExecutor.Builder.html       |   341 +
 .../OrderedExecutor.ContextPreservingCallable.html |   320 +
 .../OrderedExecutor.ContextPreservingRunnable.html |   317 +
 .../common/util/OrderedExecutor.TimedCallable.html |   376 +
 .../common/util/OrderedExecutor.TimedRunnable.html |   373 +
 .../bookkeeper/common/util/OrderedExecutor.html    |  1198 +
 ...dScheduler.OrderedSchedulerDecoratedThread.html |   619 +
 .../util/OrderedScheduler.SchedulerBuilder.html    |   341 +
 .../bookkeeper/common/util/OrderedScheduler.html   |   814 +
 .../apache/bookkeeper/common/util/Recyclable.html  |   255 +
 .../bookkeeper/common/util/ReferenceCounted.html   |   268 +
 .../bookkeeper/common/util/ReflectionUtils.html    |   447 +
 .../org/apache/bookkeeper/common/util/Retries.html |   375 +
 .../bookkeeper/common/util/SafeRunnable.html       |   386 +
 .../util/SharedResourceManager.Resource.html       |   286 +
 .../common/util/SharedResourceManager.html         |   406 +
 .../apache/bookkeeper/common/util/StreamUtil.html  |   308 +
 .../apache/bookkeeper/common/util/Watchable.html   |   451 +
 .../org/apache/bookkeeper/common/util/Watcher.html |   265 +
 .../bookkeeper/common/util/package-summary.html    |   394 +
 .../bookkeeper/common/util/package-tree.html       |   242 +
 .../bookkeeper/conf/AbstractConfiguration.html     |  3477 +++
 .../bookkeeper/conf/ClientConfiguration.html       |  5490 ++++
 .../org/apache/bookkeeper/conf/Configurable.html   |   282 +
 .../bookkeeper/conf/ServerConfiguration.html       | 10335 +++++++
 .../conf/UncheckedConfigurationException.html      |   379 +
 .../apache/bookkeeper/conf/package-summary.html    |   216 +
 .../org/apache/bookkeeper/conf/package-tree.html   |   196 +
 .../discover/BookieServiceInfo.Endpoint.html       |   503 +
 .../bookkeeper/discover/BookieServiceInfo.html     |   480 +
 .../discover/BookieServiceInfoUtils.html           |   318 +
 .../RegistrationClient.RegistrationListener.html   |   252 +
 .../bookkeeper/discover/RegistrationClient.html    |   471 +
 .../RegistrationManager.RegistrationListener.html  |   260 +
 .../bookkeeper/discover/RegistrationManager.html   |   597 +
 .../discover/ZKRegistrationClient.WatchTask.html   |   492 +
 .../bookkeeper/discover/ZKRegistrationClient.html  |   679 +
 .../bookkeeper/discover/ZKRegistrationManager.html |   814 +
 .../bookkeeper/discover/package-summary.html       |   229 +
 .../apache/bookkeeper/discover/package-tree.html   |   178 +
 .../feature/CacheableFeatureProvider.html          |   465 +
 .../org/apache/bookkeeper/feature/Feature.html     |   347 +
 .../apache/bookkeeper/feature/FeatureProvider.html |   284 +
 .../bookkeeper/feature/FixedValueFeature.html      |   451 +
 .../apache/bookkeeper/feature/SettableFeature.html |   375 +
 .../feature/SettableFeatureProvider.html           |   407 +
 .../apache/bookkeeper/feature/package-summary.html |   221 +
 .../apache/bookkeeper/feature/package-tree.html    |   176 +
 .../meta/AbstractHierarchicalLedgerManager.html    |   451 +
 ...ractZkLedgerManager.ReadLedgerMetadataTask.html |   359 +
 .../bookkeeper/meta/AbstractZkLedgerManager.html   |   920 +
 .../meta/AbstractZkLedgerManagerFactory.html       |   500 +
 .../bookkeeper/meta/CleanupLedgerManager.html      |   606 +
 .../apache/bookkeeper/meta/FlatLedgerManager.html  |   549 +
 .../bookkeeper/meta/FlatLedgerManagerFactory.html  |   608 +
 .../bookkeeper/meta/HierarchicalLedgerManager.html |   585 +
 .../meta/HierarchicalLedgerManagerFactory.html     |   438 +
 .../LayoutManager.LedgerLayoutExistsException.html |   328 +
 .../org/apache/bookkeeper/meta/LayoutManager.html  |   333 +
 .../meta/LedgerAuditorManager.AuditorEvent.html    |   380 +
 .../bookkeeper/meta/LedgerAuditorManager.html      |   330 +
 .../apache/bookkeeper/meta/LedgerIdGenerator.html  |   274 +
 .../org/apache/bookkeeper/meta/LedgerLayout.html   |   543 +
 .../bookkeeper/meta/LedgerManager.LedgerRange.html |   351 +
 .../meta/LedgerManager.LedgerRangeIterator.html    |   295 +
 .../org/apache/bookkeeper/meta/LedgerManager.html  |   521 +
 .../bookkeeper/meta/LedgerManagerFactory.html      |   496 +
 .../bookkeeper/meta/LedgerMetadataSerDe.html       |   471 +
 .../meta/LedgerUnderreplicationManager.html        |   914 +
 .../meta/LegacyHierarchicalLedgerManager.html      |   580 +
 .../LegacyHierarchicalLedgerManagerFactory.html    |   582 +
 .../meta/LongHierarchicalLedgerManager.html        |   589 +
 .../meta/LongHierarchicalLedgerManagerFactory.html |   418 +
 .../bookkeeper/meta/LongZkLedgerIdGenerator.html   |   417 +
 ...tory.MsLedgerManager.MSLedgerRangeIterator.html |   411 +
 ...ory.MsLedgerManager.ReadLedgerMetadataTask.html |   358 +
 .../MSLedgerManagerFactory.MsLedgerManager.html    |   847 +
 .../meta/MSLedgerManagerFactory.SyncResult.html    |   423 +
 .../bookkeeper/meta/MSLedgerManagerFactory.html    |   855 +
 .../bookkeeper/meta/MetadataBookieDriver.html      |   432 +
 .../MetadataClientDriver.SessionStateListener.html |   260 +
 .../bookkeeper/meta/MetadataClientDriver.html      |   454 +
 .../MetadataDrivers.MetadataBookieDriverInfo.html  |   367 +
 .../MetadataDrivers.MetadataClientDriverInfo.html  |   367 +
 .../apache/bookkeeper/meta/MetadataDrivers.html    |   735 +
 ...NullMetadataBookieDriver.NullLayoutManager.html |   386 +
 ...adataBookieDriver.NullLedgerAuditorManager.html |   398 +
 ...MetadataBookieDriver.NullLedgerIdGenerator.html |   346 +
 ...NullMetadataBookieDriver.NullLedgerManager.html |   593 +
 ...adataBookieDriver.NullLedgerManagerFactory.html |   552 +
 ...ieDriver.NullLedgerUnderreplicationManager.html |   962 +
 ...tadataBookieDriver.NullRegistrationManager.html |   654 +
 .../bookkeeper/meta/NullMetadataBookieDriver.html  |   514 +
 .../bookkeeper/meta/UnderreplicatedLedger.html     |   408 +
 .../apache/bookkeeper/meta/ZkLayoutManager.html    |   406 +
 .../bookkeeper/meta/ZkLedgerAuditorManager.html    |   398 +
 .../bookkeeper/meta/ZkLedgerIdGenerator.html       |   493 +
 .../meta/ZkLedgerUnderreplicationManager.html      |  1228 +
 .../apache/bookkeeper/meta/exceptions/Code.html    |   390 +
 .../meta/exceptions/MetadataException.html         |   363 +
 .../meta/exceptions/package-summary.html           |   187 +
 .../bookkeeper/meta/exceptions/package-tree.html   |   182 +
 .../apache/bookkeeper/meta/package-summary.html    |   479 +
 .../org/apache/bookkeeper/meta/package-tree.html   |   262 +
 .../bookkeeper/meta/zk/ZKMetadataBookieDriver.html |   441 +
 .../bookkeeper/meta/zk/ZKMetadataClientDriver.html |   532 +
 .../bookkeeper/meta/zk/ZKMetadataDriverBase.html   |   687 +
 .../apache/bookkeeper/meta/zk/package-summary.html |   182 +
 .../apache/bookkeeper/meta/zk/package-tree.html    |   165 +
 .../bookkeeper/metastore/InMemoryMetaStore.html    |   521 +
 .../metastore/InMemoryMetastoreCursor.html         |   441 +
 .../InMemoryMetastoreTable.MetadataVersion.html    |   464 +
 .../metastore/InMemoryMetastoreTable.Result.html   |   329 +
 .../metastore/InMemoryMetastoreTable.html          |   826 +
 .../metastore/MSException.BadVersionException.html |   339 +
 .../bookkeeper/metastore/MSException.Code.html     |   536 +
 .../metastore/MSException.IllegalOpException.html  |   339 +
 .../metastore/MSException.KeyExistsException.html  |   339 +
 .../MSException.MSInterruptedException.html        |   339 +
 .../metastore/MSException.NoEntriesException.html  |   339 +
 .../metastore/MSException.NoKeyException.html      |   339 +
 .../MSException.OperationFailureException.html     |   339 +
 .../MSException.ServiceDownException.html          |   339 +
 .../apache/bookkeeper/metastore/MSException.html   |   481 +
 .../metastore/MSWatchedEvent.EventType.html        |   380 +
 .../bookkeeper/metastore/MSWatchedEvent.html       |   401 +
 .../org/apache/bookkeeper/metastore/MetaStore.html |   376 +
 .../bookkeeper/metastore/MetastoreCallback.html    |   266 +
 .../MetastoreCursor.ReadEntriesCallback.html       |   220 +
 .../bookkeeper/metastore/MetastoreCursor.html      |   394 +
 .../bookkeeper/metastore/MetastoreException.html   |   319 +
 .../bookkeeper/metastore/MetastoreFactory.html     |   309 +
 .../metastore/MetastoreScannableTable.Order.html   |   380 +
 .../metastore/MetastoreScannableTable.html         |   437 +
 .../bookkeeper/metastore/MetastoreTable.html       |   594 +
 .../bookkeeper/metastore/MetastoreTableItem.html   |   376 +
 .../MetastoreUtils.MultiMetastoreCallback.html     |   429 +
 .../MetastoreUtils.SyncMetastoreCallback.html      |   415 +
 .../bookkeeper/metastore/MetastoreUtils.html       |   347 +
 .../bookkeeper/metastore/MetastoreWatcher.html     |   252 +
 .../org/apache/bookkeeper/metastore/Value.html     |   515 +
 .../bookkeeper/metastore/package-summary.html      |   381 +
 .../apache/bookkeeper/metastore/package-tree.html  |   234 +
 .../bookkeeper/net/AbstractDNSToSwitchMapping.html |   565 +
 .../org/apache/bookkeeper/net/BookieId.html        |   346 +
 .../org/apache/bookkeeper/net/BookieNode.html      |   395 +
 .../apache/bookkeeper/net/BookieSocketAddress.html |   551 +
 .../bookkeeper/net/CachedDNSToSwitchMapping.html   |   518 +
 .../bookkeeper/net/CommonConfigurationKeys.html    |   282 +
 .../api/javadoc/org/apache/bookkeeper/net/DNS.html |   538 +
 .../apache/bookkeeper/net/DNSToSwitchMapping.html  |   345 +
 .../org/apache/bookkeeper/net/NetUtils.html        |   359 +
 .../org/apache/bookkeeper/net/NetworkTopology.html |   534 +
 .../net/NetworkTopologyImpl.InnerNode.html         |   664 +
 ...tworkTopologyImpl.InvalidTopologyException.html |   300 +
 .../apache/bookkeeper/net/NetworkTopologyImpl.html |  1029 +
 .../javadoc/org/apache/bookkeeper/net/Node.html    |   400 +
 .../org/apache/bookkeeper/net/NodeBase.html        |   775 +
 .../apache/bookkeeper/net/ScriptBasedMapping.html  |   573 +
 .../net/StabilizeNetworkTopology.NodeStatus.html   |   391 +
 .../bookkeeper/net/StabilizeNetworkTopology.html   |   606 +
 .../org/apache/bookkeeper/net/package-summary.html |   300 +
 .../org/apache/bookkeeper/net/package-tree.html    |   203 +
 .../bookkeeper/processor/RequestProcessor.html     |   288 +
 .../bookkeeper/processor/package-summary.html      |   170 +
 .../apache/bookkeeper/processor/package-tree.html  |   160 +
 .../proto/AuthHandler.AuthenticationException.html |   295 +
 ...tSideHandler.AuthHandshakeCompleteCallback.html |   360 +
 ...dler.ClientSideHandler.AuthRequestCallback.html |   390 +
 .../proto/AuthHandler.ClientSideHandler.html       |   649 +
 ...rSideHandler.AuthHandshakeCompleteCallback.html |   318 +
 ...ler.ServerSideHandler.AuthResponseCallback.html |   392 +
 ...rverSideHandler.AuthResponseCallbackLegacy.html |   376 +
 .../proto/AuthHandler.ServerSideHandler.html       |   539 +
 .../org/apache/bookkeeper/proto/AuthHandler.html   |   340 +
 .../bookkeeper/proto/BKStats.OpStatData.html       |   389 +
 .../apache/bookkeeper/proto/BKStats.OpStats.html   |   516 +
 .../org/apache/bookkeeper/proto/BKStats.html       |   499 +
 ...dressResolver.BookieIdNotResolvedException.html |   342 +
 .../bookkeeper/proto/BookieAddressResolver.html    |   292 +
 .../org/apache/bookkeeper/proto/BookieClient.html  |   780 +
 .../apache/bookkeeper/proto/BookieClientImpl.html  |   991 +
 .../bookkeeper/proto/BookieConnectionPeer.html     |   216 +
 ...ver.BookieSideConnectionPeerContextHandler.html |   452 +
 .../apache/bookkeeper/proto/BookieNettyServer.html |   655 +
 .../proto/BookieProtoEncoding.EnDecoder.html       |   296 +
 .../proto/BookieProtoEncoding.RequestDecoder.html  |   442 +
 .../BookieProtoEncoding.RequestEnDeCoderPreV3.html |   401 +
 .../BookieProtoEncoding.RequestEnDecoderV3.html    |   401 +
 .../proto/BookieProtoEncoding.RequestEncoder.html  |   430 +
 .../proto/BookieProtoEncoding.ResponseDecoder.html |   474 +
 ...BookieProtoEncoding.ResponseEnDeCoderPreV3.html |   401 +
 .../BookieProtoEncoding.ResponseEnDecoderV3.html   |   401 +
 .../proto/BookieProtoEncoding.ResponseEncoder.html |   430 +
 .../bookkeeper/proto/BookieProtoEncoding.html      |   347 +
 .../proto/BookieProtocol.AddRequest.html           |   385 +
 .../proto/BookieProtocol.AddResponse.html          |   321 +
 .../proto/BookieProtocol.AuthRequest.html          |   371 +
 .../proto/BookieProtocol.AuthResponse.html         |   371 +
 .../proto/BookieProtocol.ErrorResponse.html        |   307 +
 .../proto/BookieProtocol.PacketHeader.html         |   358 +
 .../proto/BookieProtocol.ParsedAddRequest.html     |   399 +
 .../proto/BookieProtocol.ReadRequest.html          |   345 +
 .../proto/BookieProtocol.ReadResponse.html         |   446 +
 .../bookkeeper/proto/BookieProtocol.Request.html   |   578 +
 .../bookkeeper/proto/BookieProtocol.Response.html  |   548 +
 .../apache/bookkeeper/proto/BookieProtocol.html    |   866 +
 .../bookkeeper/proto/BookieRequestHandler.html     |   467 +
 .../bookkeeper/proto/BookieRequestProcessor.html   |   893 +
 .../org/apache/bookkeeper/proto/BookieServer.html  |   674 +
 ...eeperInternalCallbacks.ForceLedgerCallback.html |   262 +
 ...alCallbacks.FutureGetListOfEntriesOfLedger.html |   350 +
 ...ookkeeperInternalCallbacks.GenericCallback.html |   260 +
 ...perInternalCallbacks.GenericCallbackFuture.html |   350 +
 ...perInternalCallbacks.GetBookieInfoCallback.html |   256 +
 ...Callbacks.GetListOfEntriesOfLedgerCallback.html |   260 +
 ...erInternalCallbacks.LedgerMetadataListener.html |   266 +
 .../BookkeeperInternalCallbacks.MultiCallback.html |   511 +
 .../BookkeeperInternalCallbacks.Processor.html     |   264 +
 ...kkeeperInternalCallbacks.ReadEntryCallback.html |   266 +
 ...eperInternalCallbacks.ReadEntryCallbackCtx.html |   270 +
 ...kkeeperInternalCallbacks.ReadEntryListener.html |   272 +
 ...ookkeeperInternalCallbacks.ReadLacCallback.html |   264 +
 ...okkeeperInternalCallbacks.StartTLSCallback.html |   254 +
 ...eperInternalCallbacks.TimedGenericCallback.html |   409 +
 .../BookkeeperInternalCallbacks.WriteCallback.html |   264 +
 ...okkeeperInternalCallbacks.WriteLacCallback.html |   262 +
 .../proto/BookkeeperInternalCallbacks.html         |   502 +
 .../bookkeeper/proto/ClientConnectionPeer.html     |   216 +
 .../apache/bookkeeper/proto/ConnectionPeer.html    |   363 +
 .../proto/DefaultPerChannelBookieClientPool.html   |   697 +
 .../bookkeeper/proto/ForceLedgerProcessorV3.html   |   394 +
 .../bookkeeper/proto/GetBookieInfoProcessorV3.html |   372 +
 .../proto/GetListOfEntriesOfLedgerProcessorV3.html |   418 +
 .../bookkeeper/proto/LocalBookiesRegistry.html     |   332 +
 .../proto/LongPollReadEntryProcessorV3.html        |   479 +
 .../bookkeeper/proto/PacketProcessorBase.html      |   527 +
 .../bookkeeper/proto/PacketProcessorBaseV3.html    |   484 +
 .../PerChannelBookieClient.AddCompletion.html      |   549 +
 .../PerChannelBookieClient.CompletionKey.html      |   369 +
 .../PerChannelBookieClient.CompletionValue.html    |   570 +
 ...annelBookieClient.ConnectionFutureListener.html |   334 +
 .../PerChannelBookieClient.ConnectionState.html    |   418 +
 ...okieClient.ContextPreservingFutureListener.html |   337 +
 ...rChannelBookieClient.ForceLedgerCompletion.html |   414 +
 ...hannelBookieClient.GetBookieInfoCompletion.html |   430 +
 ...eClient.GetListOfEntriesOfLedgerCompletion.html |   412 +
 .../PerChannelBookieClient.ReadCompletion.html     |   458 +
 .../PerChannelBookieClient.ReadLacCompletion.html  |   414 +
 .../PerChannelBookieClient.StartTLSCompletion.html |   408 +
 .../PerChannelBookieClient.V3CompletionKey.html    |   378 +
 .../PerChannelBookieClient.WriteLacCompletion.html |   414 +
 .../bookkeeper/proto/PerChannelBookieClient.html   |  1431 +
 .../proto/PerChannelBookieClientFactory.html       |   270 +
 .../proto/PerChannelBookieClientPool.html          |   421 +
 .../bookkeeper/proto/ReadEntryProcessor.html       |   366 +
 .../bookkeeper/proto/ReadEntryProcessorV3.html     |   720 +
 .../bookkeeper/proto/ReadLacProcessorV3.html       |   372 +
 .../proto/ReadLastConfirmedAndEntryContext.html    |   473 +
 .../org/apache/bookkeeper/proto/RequestStats.html  |  1418 +
 .../org/apache/bookkeeper/proto/RequestUtils.html  |   397 +
 .../apache/bookkeeper/proto/ResponseBuilder.html   |   335 +
 .../proto/SimpleBookieServiceInfoProvider.html     |   313 +
 .../bookkeeper/proto/WriteEntryProcessor.html      |   454 +
 .../bookkeeper/proto/WriteEntryProcessorV3.html    |   411 +
 .../bookkeeper/proto/WriteLacProcessorV3.html      |   394 +
 .../proto/checksum/CRC32CDigestManager.html        |   393 +
 .../checksum/CRC32DigestManager.CRC32Digest.html   |   270 +
 .../proto/checksum/CRC32DigestManager.html         |   409 +
 .../proto/checksum/DigestManager.RecoveryData.html |   380 +
 .../bookkeeper/proto/checksum/DigestManager.html   |   653 +
 .../proto/checksum/DirectMemoryCRC32Digest.html    |   346 +
 .../proto/checksum/DummyDigestManager.html         |   394 +
 .../proto/checksum/MacDigestManager.html           |   524 +
 .../proto/checksum/StandardCRC32Digest.html        |   331 +
 .../bookkeeper/proto/checksum/package-summary.html |   229 +
 .../bookkeeper/proto/checksum/package-tree.html    |   176 +
 .../apache/bookkeeper/proto/package-summary.html   |   682 +
 .../org/apache/bookkeeper/proto/package-tree.html  |   341 +
 .../org/apache/bookkeeper/replication/Auditor.html |   689 +
 .../bookkeeper/replication/AuditorElector.html     |   543 +
 .../bookkeeper/replication/AutoRecoveryMain.html   |   579 +
 .../replication/BookieLedgerIndexer.html           |   317 +
 .../replication/ReplicationEnableCb.html           |   339 +
 .../ReplicationException.BKAuditException.html     |   349 +
 ...eplicationException.CompatibilityException.html |   350 +
 .../ReplicationException.UnavailableException.html |   349 +
 .../replication/ReplicationException.html          |   394 +
 .../bookkeeper/replication/ReplicationStats.html   |   876 +
 .../bookkeeper/replication/ReplicationWorker.html  |   541 +
 .../bookkeeper/replication/package-summary.html    |   254 +
 .../bookkeeper/replication/package-tree.html       |   186 +
 .../bookkeeper/sasl/JAASCredentialsContainer.html  |   336 +
 .../bookkeeper/sasl/SASLBookieAuthProvider.html    |   354 +
 .../sasl/SASLBookieAuthProviderFactory.html        |   535 +
 .../bookkeeper/sasl/SASLClientAuthProvider.html    |   375 +
 .../bookkeeper/sasl/SASLClientProviderFactory.html |   533 +
 .../SaslClientState.ClientCallbackHandler.html     |   319 +
 .../apache/bookkeeper/sasl/SaslClientState.html    |   381 +
 .../org/apache/bookkeeper/sasl/SaslConstants.html  |   638 +
 .../apache/bookkeeper/sasl/SaslServerState.html    |   350 +
 .../apache/bookkeeper/sasl/TGTRefreshThread.html   |   388 +
 .../apache/bookkeeper/sasl/package-summary.html    |   233 +
 .../org/apache/bookkeeper/sasl/package-tree.html   |   178 +
 .../javadoc/org/apache/bookkeeper/server/Main.html |   417 +
 .../server/component/ServerLifecycleComponent.html |   396 +
 .../server/component/package-summary.html          |   170 +
 .../bookkeeper/server/component/package-tree.html  |   168 +
 .../server/conf/BookieConfiguration.html           |   337 +
 .../bookkeeper/server/conf/package-summary.html    |   170 +
 .../bookkeeper/server/conf/package-tree.html       |   164 +
 .../server/http/BKHttpServiceProvider.Builder.html |   487 +
 .../server/http/BKHttpServiceProvider.html         |   323 +
 .../bookkeeper/server/http/package-summary.html    |   178 +
 .../bookkeeper/server/http/package-tree.html       |   161 +
 .../http/service/AutoRecoveryStatusService.html    |   364 +
 .../http/service/BookieInfoService.BookieInfo.html |   433 +
 .../server/http/service/BookieInfoService.html     |   351 +
 .../server/http/service/BookieIsReadyService.html  |   316 +
 .../BookieStateReadOnlyService.ReadOnlyState.html  |   403 +
 .../http/service/BookieStateReadOnlyService.html   |   345 +
 .../service/BookieStateService.BookieState.html    |   474 +
 .../server/http/service/BookieStateService.html    |   354 +
 .../server/http/service/ConfigurationService.html  |   358 +
 .../server/http/service/DecommissionService.html   |   405 +
 .../server/http/service/DeleteLedgerService.html   |   373 +
 .../server/http/service/ExpandStorageService.html  |   375 +
 .../server/http/service/GCDetailsService.html      |   399 +
 .../server/http/service/GetLastLogMarkService.html |   379 +
 .../server/http/service/GetLedgerMetaService.html  |   375 +
 .../server/http/service/ListBookieInfoService.html |   395 +
 .../server/http/service/ListBookiesService.html    |   389 +
 .../server/http/service/ListDiskFilesService.html  |   380 +
 .../server/http/service/ListLedgerService.html     |   409 +
 .../service/ListUnderReplicatedLedgerService.html  |   377 +
 .../service/LostBookieRecoveryDelayService.html    |   391 +
 .../server/http/service/MetricsService.html        |   320 +
 .../http/service/ReadLedgerEntryService.html       |   406 +
 ...overyBookieService.RecoveryRequestJsonBody.html |   325 +
 .../server/http/service/RecoveryBookieService.html |   434 +
 .../server/http/service/TriggerAuditService.html   |   389 +
 .../server/http/service/TriggerGCService.html      |   396 +
 .../server/http/service/WhoIsAuditorService.html   |   390 +
 .../server/http/service/package-summary.html       |   330 +
 .../server/http/service/package-tree.html          |   187 +
 .../apache/bookkeeper/server/package-summary.html  |   173 +
 .../org/apache/bookkeeper/server/package-tree.html |   160 +
 .../server/service/AutoRecoveryService.html        |   504 +
 .../bookkeeper/server/service/BookieService.html   |   524 +
 .../bookkeeper/server/service/HttpService.html     |   472 +
 .../bookkeeper/server/service/ScrubberService.html |   422 +
 .../server/service/StatsProviderService.html       |   473 +
 .../bookkeeper/server/service/package-summary.html |   194 +
 .../bookkeeper/server/service/package-tree.html    |   176 +
 .../bookkeeper/shims/zk/ZooKeeperServerShim.html   |   312 +
 .../shims/zk/ZooKeeperServerShimFactory.html       |   315 +
 .../shims/zk/ZooKeeperServerShimImpl.html          |   433 +
 .../bookkeeper/shims/zk/package-summary.html       |   191 +
 .../apache/bookkeeper/shims/zk/package-tree.html   |   167 +
 .../apache/bookkeeper/stats/AlertStatsLogger.html  |   370 +
 .../bookkeeper/stats/CachingStatsLogger.html       |   646 +
 .../bookkeeper/stats/CachingStatsProvider.html     |   459 +
 .../org/apache/bookkeeper/stats/Counter.html       |   329 +
 .../javadoc/org/apache/bookkeeper/stats/Gauge.html |   264 +
 .../stats/NullStatsLogger.NullCounter.html         |   409 +
 .../stats/NullStatsLogger.NullOpStatsLogger.html   |   482 +
 .../apache/bookkeeper/stats/NullStatsLogger.html   |   607 +
 .../apache/bookkeeper/stats/NullStatsProvider.html |   416 +
 .../org/apache/bookkeeper/stats/OpStatsData.html   |   424 +
 .../org/apache/bookkeeper/stats/OpStatsLogger.html |   362 +
 .../javadoc/org/apache/bookkeeper/stats/Stats.html |   406 +
 .../org/apache/bookkeeper/stats/StatsLogger.html   |   445 +
 .../org/apache/bookkeeper/stats/StatsProvider.html |   343 +
 .../stats/ThreadRegistry.ThreadPoolThread.html     |   396 +
 .../apache/bookkeeper/stats/ThreadRegistry.html    |   380 +
 .../bookkeeper/stats/annotations/StatsDoc.html     |   420 +
 .../stats/annotations/package-summary.html         |   170 +
 .../bookkeeper/stats/annotations/package-tree.html |   156 +
 .../stats/codahale/CodahaleMetricsProvider.html    |   516 +
 .../stats/codahale/CodahaleOpStatsLogger.html      |   496 +
 .../stats/codahale/CodahaleStatsLogger.html        |   570 +
 .../codahale/FastCodahaleMetricsProvider.html      |   358 +
 .../stats/codahale/FastCodahaleStatsLogger.html    |   384 +
 .../bookkeeper/stats/codahale/FastSnapshot.html    |   456 +
 .../stats/codahale/FastTimer.Buckets.html          |   396 +
 .../bookkeeper/stats/codahale/FastTimer.html       |   668 +
 .../bookkeeper/stats/codahale/package-summary.html |   221 +
 .../bookkeeper/stats/codahale/package-tree.html    |   194 +
 .../apache/bookkeeper/stats/package-summary.html   |   273 +
 .../org/apache/bookkeeper/stats/package-tree.html  |   180 +
 .../prometheus/DataSketchesOpStatsLogger.html      |   536 +
 .../stats/prometheus/LongAdderCounter.html         |   450 +
 .../prometheus/PrometheusMetricsProvider.html      |   711 +
 .../stats/prometheus/PrometheusServlet.html        |   372 +
 .../stats/prometheus/PrometheusStatsLogger.html    |   528 +
 .../stats/prometheus/PrometheusTextFormatUtil.html |   365 +
 .../bookkeeper/stats/prometheus/ScopeContext.html  |   342 +
 .../bookkeeper/stats/prometheus/SimpleGauge.html   |   320 +
 .../ThreadScopedDataSketchesStatsLogger.html       |   441 +
 .../prometheus/ThreadScopedLongAdderCounter.html   |   410 +
 .../stats/prometheus/package-summary.html          |   226 +
 .../bookkeeper/stats/prometheus/package-tree.html  |   177 +
 .../bookkeeper/streaming/LedgerInputStream.html    |   538 +
 .../bookkeeper/streaming/LedgerOutputStream.html   |   498 +
 .../bookkeeper/streaming/package-summary.html      |   177 +
 .../apache/bookkeeper/streaming/package-tree.html  |   169 +
 .../apache/bookkeeper/tls/BookieAuthZFactory.html  |   436 +
 .../bookkeeper/tls/FileModifiedTimeUpdater.html    |   388 +
 .../apache/bookkeeper/tls/SecurityException.html   |   332 +
 .../tls/SecurityHandlerFactory.NodeType.html       |   393 +
 .../bookkeeper/tls/SecurityHandlerFactory.html     |   314 +
 .../tls/SecurityProviderFactoryFactory.html        |   309 +
 .../tls/TLSContextFactory.KeyStoreType.html        |   411 +
 .../apache/bookkeeper/tls/TLSContextFactory.html   |   542 +
 .../org/apache/bookkeeper/tls/package-summary.html |   245 +
 .../org/apache/bookkeeper/tls/package-tree.html    |   193 +
 .../ListUnderReplicatedCommand.LURFlags.html       |   406 +
 .../autorecovery/ListUnderReplicatedCommand.html   |   467 +
 .../LostBookieRecoveryDelayCommand.LBRDFlags.html  |   352 +
 .../LostBookieRecoveryDelayCommand.html            |   462 +
 .../QueryAutoRecoveryStatusCommand.QFlags.html     |   334 +
 .../QueryAutoRecoveryStatusCommand.html            |   452 +
 .../ToggleCommand.AutoRecoveryFlags.html           |   352 +
 .../cli/commands/autorecovery/ToggleCommand.html   |   431 +
 .../commands/autorecovery/TriggerAuditCommand.html |   393 +
 .../commands/autorecovery/WhoIsAuditorCommand.html |   419 +
 .../cli/commands/autorecovery/package-summary.html |   238 +
 .../cli/commands/autorecovery/package-tree.html    |   185 +
 ...LedgersIndexCommand.CheckLedgersIndexFlags.html |   334 +
 .../bookie/CheckDBLedgersIndexCommand.html         |   444 +
 .../ConvertToDBStorageCommand.CTDBFlags.html       |   334 +
 .../commands/bookie/ConvertToDBStorageCommand.html |   426 +
 ...nvertToInterleavedStorageCommand.CTISFlags.html |   292 +
 .../bookie/ConvertToInterleavedStorageCommand.html |   426 +
 .../FlipBookieIdCommand.FlipBookieIdFlags.html     |   424 +
 .../cli/commands/bookie/FlipBookieIdCommand.html   |   431 +
 .../cli/commands/bookie/FormatCommand.Flags.html   |   370 +
 .../tools/cli/commands/bookie/FormatCommand.html   |   444 +
 .../tools/cli/commands/bookie/FormatUtil.html      |   337 +
 .../tools/cli/commands/bookie/InitCommand.html     |   374 +
 .../tools/cli/commands/bookie/LastMarkCommand.html |   374 +
 .../commands/bookie/LedgerCommand.LedgerFlags.html |   370 +
 .../tools/cli/commands/bookie/LedgerCommand.html   |   458 +
 ...ListActiveLedgersCommand.ActiveLedgerFlags.html |   370 +
 .../commands/bookie/ListActiveLedgersCommand.html  |   464 +
 .../bookie/ListFilesOnDiscCommand.LFODFlags.html   |   370 +
 .../commands/bookie/ListFilesOnDiscCommand.html    |   412 +
 .../ListLedgersCommand.ListLedgersFlags.html       |   370 +
 .../cli/commands/bookie/ListLedgersCommand.html    |   450 +
 .../bookie/LocalConsistencyCheckCommand.html       |   406 +
 .../ReadJournalCommand.ReadJournalFlags.html       |   424 +
 .../cli/commands/bookie/ReadJournalCommand.html    |   459 +
 .../bookie/ReadLedgerCommand.ReadLedgerFlags.html  |   460 +
 .../cli/commands/bookie/ReadLedgerCommand.html     |   460 +
 .../bookie/ReadLogCommand.ReadLogFlags.html        |   478 +
 .../tools/cli/commands/bookie/ReadLogCommand.html  |   414 +
 ...eadLogMetadataCommand.ReadLogMetadataFlags.html |   370 +
 .../commands/bookie/ReadLogMetadataCommand.html    |   479 +
 .../RebuildDBLedgerLocationsIndexCommand.html      |   406 +
 ...dgersIndexCommand.RebuildLedgersIndexFlags.html |   334 +
 .../bookie/RebuildDBLedgersIndexCommand.html       |   444 +
 ...erleavedStorageIndexFileCommand.RISIFFlags.html |   388 +
 ...generateInterleavedStorageIndexFileCommand.html |   431 +
 .../bookie/SanityTestCommand.SanityFlags.html      |   352 +
 .../cli/commands/bookie/SanityTestCommand.html     |   412 +
 ...eInLedgerCommand.UpdateBookieInLedgerFlags.html |   442 +
 .../bookie/UpdateBookieInLedgerCommand.html        |   431 +
 .../tools/cli/commands/bookie/package-summary.html |   398 +
 .../tools/cli/commands/bookie/package-tree.html    |   214 +
 .../DecommissionCommand.DecommissionFlags.html     |   334 +
 .../cli/commands/bookies/DecommissionCommand.html  |   434 +
 .../EndpointInfoCommand.EndpointInfoFlags.html     |   334 +
 .../cli/commands/bookies/EndpointInfoCommand.html  |   431 +
 .../tools/cli/commands/bookies/InfoCommand.html    |   388 +
 .../tools/cli/commands/bookies/InitCommand.html    |   381 +
 .../cli/commands/bookies/InstanceIdCommand.html    |   406 +
 .../commands/bookies/ListBookiesCommand.Flags.html |   370 +
 .../cli/commands/bookies/ListBookiesCommand.html   |   427 +
 .../bookies/MetaFormatCommand.MetaFormatFlags.html |   352 +
 .../cli/commands/bookies/MetaFormatCommand.html    |   399 +
 ...ingClusterCommand.NukeExistingClusterFlags.html |   370 +
 .../bookies/NukeExistingClusterCommand.html        |   431 +
 .../bookies/RecoverCommand.RecoverFlags.html       |   478 +
 .../tools/cli/commands/bookies/RecoverCommand.html |   399 +
 .../cli/commands/bookies/package-summary.html      |   257 +
 .../tools/cli/commands/bookies/package-tree.html   |   198 +
 .../DeleteLedgerCommand.DeleteLedgerFlags.html     |   370 +
 .../cli/commands/client/DeleteLedgerCommand.html   |   412 +
 .../LedgerMetaDataCommand.LedgerMetadataFlag.html  |   388 +
 .../cli/commands/client/LedgerMetaDataCommand.html |   425 +
 .../commands/client/SimpleTestCommand.Flags.html   |   388 +
 .../cli/commands/client/SimpleTestCommand.html     |   415 +
 .../tools/cli/commands/client/package-summary.html |   200 +
 .../tools/cli/commands/client/package-tree.html    |   185 +
 .../commands/cookie/AdminCommand.AdminFlags.html   |   424 +
 .../tools/cli/commands/cookie/AdminCommand.html    |   431 +
 .../tools/cli/commands/cookie/CookieCommand.html   |   453 +
 .../commands/cookie/CreateCookieCommand.Flags.html |   334 +
 .../cli/commands/cookie/CreateCookieCommand.html   |   432 +
 .../commands/cookie/DeleteCookieCommand.Flags.html |   292 +
 .../cli/commands/cookie/DeleteCookieCommand.html   |   428 +
 .../cookie/GenerateCookieCommand.Flags.html        |   388 +
 .../cli/commands/cookie/GenerateCookieCommand.html |   428 +
 .../commands/cookie/GetCookieCommand.Flags.html    |   292 +
 .../cli/commands/cookie/GetCookieCommand.html      |   428 +
 .../commands/cookie/UpdateCookieCommand.Flags.html |   334 +
 .../cli/commands/cookie/UpdateCookieCommand.html   |   428 +
 .../tools/cli/commands/cookie/package-summary.html |   242 +
 .../tools/cli/commands/cookie/package-tree.html    |   191 +
 ...witchOfHealthCheckCommand.HealthCheckFlags.html |   352 +
 .../health/SwitchOfHealthCheckCommand.html         |   431 +
 .../tools/cli/commands/health/package-summary.html |   190 +
 .../tools/cli/commands/health/package-tree.html    |   177 +
 .../tools/cli/helpers/BookieCommand.html           |   392 +
 .../tools/cli/helpers/BookieShellCommand.html      |   426 +
 .../tools/cli/helpers/ClientCommand.html           |   433 +
 .../tools/cli/helpers/CommandHelpers.html          |   266 +
 .../tools/cli/helpers/DiscoveryCommand.html        |   430 +
 .../tools/cli/helpers/package-summary.html         |   195 +
 .../bookkeeper/tools/cli/helpers/package-tree.html |   175 +
 .../util/AvailabilityOfEntriesOfLedger.html        |   513 +
 .../bookkeeper/util/BookKeeperConstants.html       |   745 +
 .../bookkeeper/util/ByteBufList.Encoder.html       |   374 +
 .../org/apache/bookkeeper/util/ByteBufList.html    |   727 +
 .../org/apache/bookkeeper/util/CertUtils.html      |   524 +
 .../bookkeeper/util/DaemonThreadFactory.html       |   326 +
 .../apache/bookkeeper/util/DirectMemoryUtils.html  |   310 +
 .../util/DiskChecker.DiskErrorException.html       |   305 +
 .../bookkeeper/util/DiskChecker.DiskException.html |   304 +
 .../util/DiskChecker.DiskOutOfSpaceException.html  |   345 +
 .../DiskChecker.DiskWarnThresholdException.html    |   345 +
 .../org/apache/bookkeeper/util/DiskChecker.html    |   522 +
 .../org/apache/bookkeeper/util/EntryFormatter.html |   408 +
 .../org/apache/bookkeeper/util/EventLoopUtil.html  |   282 +
 .../bookkeeper/util/HardLink.HardLinkCGUnix.html   |   433 +
 .../bookkeeper/util/HardLink.HardLinkCGWin.html    |   536 +
 .../apache/bookkeeper/util/HardLink.LinkStats.html |   440 +
 .../apache/bookkeeper/util/HardLink.OSType.html    |   406 +
 .../org/apache/bookkeeper/util/HardLink.html       |   597 +
 .../bookkeeper/util/HexDumpEntryFormatter.html     |   367 +
 .../org/apache/bookkeeper/util/IOUtils.html        |   487 +
 .../apache/bookkeeper/util/IteratorUtility.html    |   358 +
 .../LedgerIdFormatter.HexLedgerIdFormatter.html    |   390 +
 .../LedgerIdFormatter.LongLedgerIdFormatter.html   |   390 +
 .../LedgerIdFormatter.UUIDLedgerIdFormatter.html   |   390 +
 .../apache/bookkeeper/util/LedgerIdFormatter.html  |   453 +
 .../apache/bookkeeper/util/LocalBookKeeper.html    |   708 +
 .../org/apache/bookkeeper/util/MathUtils.html      |   280 +
 .../org/apache/bookkeeper/util/NativeIO.html       |   327 +
 .../bookkeeper/util/OrderedGenericCallback.html    |   344 +
 .../org/apache/bookkeeper/util/PortManager.html    |   312 +
 .../org/apache/bookkeeper/util/SafeRunnable.html   |   387 +
 .../bookkeeper/util/Shell.ExitCodeException.html   |   382 +
 .../util/Shell.ShellCommandExecutor.html           |   523 +
 .../javadoc/org/apache/bookkeeper/util/Shell.html  |   682 +
 .../org/apache/bookkeeper/util/SnapshotMap.html    |   469 +
 .../bookkeeper/util/StringEntryFormatter.html      |   367 +
 .../org/apache/bookkeeper/util/StringUtils.html    |   612 +
 .../bookkeeper/util/SubTreeCache.TreeProvider.html |   261 +
 .../bookkeeper/util/SubTreeCache.WatchGuard.html   |   359 +
 .../org/apache/bookkeeper/util/SubTreeCache.html   |   503 +
 .../javadoc/org/apache/bookkeeper/util/Tool.html   |   288 +
 .../org/apache/bookkeeper/util/ZeroBuffer.html     |   358 +
 .../org/apache/bookkeeper/util/ZkUtils.html        |   522 +
 .../collections/ConcurrentLongHashMap.Builder.html |   532 +
 .../ConcurrentLongHashMap.EntryProcessor.html      |   256 +
 .../ConcurrentLongHashMap.LongObjectPredicate.html |   260 +
 .../util/collections/ConcurrentLongHashMap.html    |   692 +
 .../collections/ConcurrentLongHashSet.Builder.html |   532 +
 .../ConcurrentLongHashSet.ConsumerLong.html        |   252 +
 .../util/collections/ConcurrentLongHashSet.html    |   603 +
 .../ConcurrentLongLongHashMap.BiConsumerLong.html  |   254 +
 .../ConcurrentLongLongHashMap.Builder.html         |   532 +
 ...ConcurrentLongLongHashMap.LongLongFunction.html |   252 +
 ...oncurrentLongLongHashMap.LongLongPredicate.html |   254 +
 .../collections/ConcurrentLongLongHashMap.html     |   800 +
 ...rentLongLongPairHashMap.BiConsumerLongPair.html |   258 +
 .../ConcurrentLongLongPairHashMap.Builder.html     |   532 +
 ...ntLongLongPairHashMap.LongLongPairFunction.html |   254 +
 ...tLongLongPairHashMap.LongLongPairPredicate.html |   258 +
 .../ConcurrentLongLongPairHashMap.LongPair.html    |   411 +
 .../collections/ConcurrentLongLongPairHashMap.html |   703 +
 .../collections/ConcurrentOpenHashMap.Builder.html |   532 +
 .../util/collections/ConcurrentOpenHashMap.html    |   683 +
 .../collections/ConcurrentOpenHashSet.Builder.html |   532 +
 .../util/collections/ConcurrentOpenHashSet.html    |   583 +
 .../GrowableArrayBlockingQueue.PaddedInt.html      |   433 +
 .../collections/GrowableArrayBlockingQueue.html    |   726 +
 .../util/collections/SynchronizedHashMultiMap.html |   405 +
 .../util/collections/package-summary.html          |   323 +
 .../bookkeeper/util/collections/package-tree.html  |   197 +
 .../apache/bookkeeper/util/package-summary.html    |   459 +
 .../org/apache/bookkeeper/util/package-tree.html   |   261 +
 ...eperVerifier.BookkeeperDriver.ReadCallback.html |   254 +
 .../BookkeeperVerifier.BookkeeperDriver.html       |   362 +
 .../verifier/BookkeeperVerifier.EntryInfo.html     |   324 +
 ...ookkeeperVerifier.LedgerInfo.EntryIterator.html |   453 +
 .../verifier/BookkeeperVerifier.LedgerInfo.html    |   666 +
 .../verifier/BookkeeperVerifier.WriteCallback.html |   329 +
 .../bookkeeper/verifier/BookkeeperVerifier.html    |   397 +
 .../verifier/BookkeeperVerifierMain.html           |   310 +
 .../verifier/DirectBookkeeperDriver.html           |   426 +
 .../bookkeeper/verifier/package-summary.html       |   208 +
 .../apache/bookkeeper/verifier/package-tree.html   |   173 +
 .../apache/bookkeeper/versioning/LongVersion.html  |   475 +
 .../bookkeeper/versioning/Version.Occurred.html    |   393 +
 .../org/apache/bookkeeper/versioning/Version.html  |   339 +
 .../apache/bookkeeper/versioning/Versioned.html    |   480 +
 .../bookkeeper/versioning/package-summary.html     |   210 +
 .../apache/bookkeeper/versioning/package-tree.html |   181 +
 .../BoundExponentialBackoffRetryPolicy.html        |   345 +
 .../ExponentialBackOffWithDeadlinePolicy.html      |   424 +
 .../zookeeper/ExponentialBackoffRetryPolicy.html   |   364 +
 .../apache/bookkeeper/zookeeper/RetryPolicy.html   |   295 +
 .../zookeeper/ZooKeeperClient.Builder.html         |   557 +
 .../zookeeper/ZooKeeperClient.ZkRetryRunnable.html |   405 +
 .../bookkeeper/zookeeper/ZooKeeperClient.html      |  1395 +
 .../bookkeeper/zookeeper/ZooKeeperWatcherBase.html |   445 +
 .../zookeeper/ZooWorker.ZooCallable.html           |   263 +
 .../org/apache/bookkeeper/zookeeper/ZooWorker.html |   528 +
 .../bookkeeper/zookeeper/package-summary.html      |   235 +
 .../apache/bookkeeper/zookeeper/package-tree.html  |   181 +
 .../docs/latest/api/javadoc/overview-summary.html  |    23 +
 content/docs/latest/api/javadoc/overview-tree.html |  1726 ++
 .../latest/api/javadoc/package-search-index.js     |     1 +
 .../latest/api/javadoc/package-search-index.zip    |   Bin 0 -> 553 bytes
 .../docs/latest/api/javadoc/resources/glass.png    |   Bin 0 -> 499 bytes
 content/docs/latest/api/javadoc/resources/x.png    |   Bin 0 -> 394 bytes
 content/docs/latest/api/javadoc/script.js          |   149 +
 content/docs/latest/api/javadoc/search.js          |   326 +
 .../docs/latest/api/javadoc/serialized-form.html   |  2175 ++
 content/docs/latest/api/javadoc/stylesheet.css     |   906 +
 .../docs/latest/api/javadoc/type-search-index.js   |     1 +
 .../docs/latest/api/javadoc/type-search-index.zip  |   Bin 0 -> 9297 bytes
 content/docs/next/admin/autorecovery/index.html    |    30 +
 content/docs/next/admin/bookies/index.html         |    29 +
 content/docs/next/admin/decomission/index.html     |    40 +
 content/docs/next/admin/geo-replication/index.html |    29 +
 content/docs/next/admin/http/index.html            |    30 +
 content/docs/next/admin/metrics/index.html         |    29 +
 content/docs/next/admin/perf/index.html            |    29 +
 content/docs/next/admin/placement/index.html       |    29 +
 content/docs/next/admin/upgrade/index.html         |    36 +
 .../docs/next/api/distributedlog-api/index.html    |    29 +
 content/docs/next/api/ledger-adv-api/index.html    |    34 +
 content/docs/next/api/ledger-api/index.html        |    53 +
 content/docs/next/api/overview/index.html          |    31 +
 content/docs/next/deployment/dcos/index.html       |    29 +
 content/docs/next/deployment/kubernetes/index.html |    36 +
 content/docs/next/deployment/manual/index.html     |    29 +
 content/docs/next/development/codebase/index.html  |    29 +
 content/docs/next/development/protocol/index.html  |    29 +
 .../docs/next/getting-started/concepts/index.html  |    29 +
 .../next/getting-started/installation/index.html   |    29 +
 .../next/getting-started/run-locally/index.html    |    29 +
 content/docs/next/overview/index.html              |    31 +
 content/docs/next/reference/cli/index.html         |    36 +
 content/docs/next/reference/config/index.html      |    29 +
 content/docs/next/security/overview/index.html     |    30 +
 content/docs/next/security/sasl/index.html         |    52 +
 content/docs/next/security/tls/index.html          |    60 +
 content/docs/next/security/zookeeper/index.html    |    36 +
 content/docs/overview/index.html                   |    31 +
 content/docs/reference/cli/index.html              |    36 +
 content/docs/reference/config/index.html           |    29 +
 content/docs/reference/metrics/index.html          |    29 +
 content/docs/security/overview/index.html          |    30 +
 content/docs/security/sasl/index.html              |    52 +
 content/docs/security/tls/index.html               |    60 +
 content/docs/security/zookeeper/index.html         |    36 +
 content/img/bk-logo.svg                            |    50 +
 content/img/dcos/exhibitor.png                     |   Bin 0 -> 116526 bytes
 content/img/dcos/scale.png                         |   Bin 0 -> 102808 bytes
 content/img/dcos/services.png                      |   Bin 0 -> 102032 bytes
 content/img/dcos/tasks.png                         |   Bin 0 -> 108349 bytes
 content/img/distributedlog.png                     |   Bin 0 -> 76557 bytes
 content/img/favicon.ico                            |   Bin 0 -> 4286 bytes
 content/img/logs.png                               |   Bin 0 -> 51935 bytes
 content/index.html                                 |    29 +
 content/project/bylaws/index.html                  |    29 +
 content/project/privacy/index.html                 |    29 +
 content/project/who/index.html                     |    29 +
 content/release-notes/index.html                   |   129 +
 content/releases/index.html                        |    49 +
 content/sitemap.xml                                |     1 +
 1952 files changed, 617318 insertions(+)

diff --git a/content/404.html b/content/404.html
new file mode 100644
index 0000000..22b3962
--- /dev/null
+++ b/content/404.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Page Not Found | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Page Not Found | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content= [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/assets/css/styles.4caf24b3.css b/content/assets/css/styles.4caf24b3.css
new file mode 100644
index 0000000..896b819
--- /dev/null
+++ b/content/assets/css/styles.4caf24b3.css
@@ -0,0 +1 @@
+@import url(https://fonts.googleapis.com/css?family=Lato|Source+Code+Pro);.container,.row .col{padding:0 var(--ifm-spacing-horizontal);width:100%}.row .col,img{max-width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__li [...]
\ No newline at end of file
diff --git a/content/assets/js/00099f85.3504cb5d.js b/content/assets/js/00099f85.3504cb5d.js
new file mode 100644
index 0000000..8d31bf7
--- /dev/null
+++ b/content/assets/js/00099f85.3504cb5d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5701],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0012aeda.01533fca.js b/content/assets/js/0012aeda.01533fca.js
new file mode 100644
index 0000000..1f93658
--- /dev/null
+++ b/content/assets/js/0012aeda.01533fca.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6583],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0187783a.c25db74d.js b/content/assets/js/0187783a.c25db74d.js
new file mode 100644
index 0000000..97af421
--- /dev/null
+++ b/content/assets/js/0187783a.c25db74d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[520],{8942:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.11.1","label":"4.11.1","banner":"unmaintained","badge":true,"className":"docs-version-4.11.1","isLast":false,"docsSidebars":{"version-4.11.1/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.11.1/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installati [...]
\ No newline at end of file
diff --git a/content/assets/js/026a1d69.3b0b595a.js b/content/assets/js/026a1d69.3b0b595a.js
new file mode 100644
index 0000000..850274c
--- /dev/null
+++ b/content/assets/js/026a1d69.3b0b595a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7886],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return f}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/035695b8.43455569.js b/content/assets/js/035695b8.43455569.js
new file mode 100644
index 0000000..6b574b5
--- /dev/null
+++ b/content/assets/js/035695b8.43455569.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1007],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/04da809a.d6715884.js b/content/assets/js/04da809a.d6715884.js
new file mode 100644
index 0000000..9ef6661
--- /dev/null
+++ b/content/assets/js/04da809a.d6715884.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5578],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0537c41d.92b672a7.js b/content/assets/js/0537c41d.92b672a7.js
new file mode 100644
index 0000000..9883495
--- /dev/null
+++ b/content/assets/js/0537c41d.92b672a7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3699],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/05c61b00.d2bafab7.js b/content/assets/js/05c61b00.d2bafab7.js
new file mode 100644
index 0000000..cd74026
--- /dev/null
+++ b/content/assets/js/05c61b00.d2bafab7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1080],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/05d43200.64b0358d.js b/content/assets/js/05d43200.64b0358d.js
new file mode 100644
index 0000000..17e804c
--- /dev/null
+++ b/content/assets/js/05d43200.64b0358d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8598],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0610fbdd.3f9839de.js b/content/assets/js/0610fbdd.3f9839de.js
new file mode 100644
index 0000000..9e0a474
--- /dev/null
+++ b/content/assets/js/0610fbdd.3f9839de.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7577],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/07b748cc.9863fb56.js b/content/assets/js/07b748cc.9863fb56.js
new file mode 100644
index 0000000..57c3bd2
--- /dev/null
+++ b/content/assets/js/07b748cc.9863fb56.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[440],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/0843cb03.a74ae828.js b/content/assets/js/0843cb03.a74ae828.js
new file mode 100644
index 0000000..a9e4aef
--- /dev/null
+++ b/content/assets/js/0843cb03.a74ae828.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5178],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/089cefec.7c7e20c1.js b/content/assets/js/089cefec.7c7e20c1.js
new file mode 100644
index 0000000..cf4365f
--- /dev/null
+++ b/content/assets/js/089cefec.7c7e20c1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3096],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/09c5a1ad.5d00d812.js b/content/assets/js/09c5a1ad.5d00d812.js
new file mode 100644
index 0000000..ad5e26f
--- /dev/null
+++ b/content/assets/js/09c5a1ad.5d00d812.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3690],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0a59d5b1.fb3ece0f.js b/content/assets/js/0a59d5b1.fb3ece0f.js
new file mode 100644
index 0000000..1abc289
--- /dev/null
+++ b/content/assets/js/0a59d5b1.fb3ece0f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[225],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/0a998885.c6651dbc.js b/content/assets/js/0a998885.c6651dbc.js
new file mode 100644
index 0000000..851d356
--- /dev/null
+++ b/content/assets/js/0a998885.c6651dbc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9232],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0aaf5a35.e7238adc.js b/content/assets/js/0aaf5a35.e7238adc.js
new file mode 100644
index 0000000..3f08145
--- /dev/null
+++ b/content/assets/js/0aaf5a35.e7238adc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3782],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0d0fc48b.1ac36fd3.js b/content/assets/js/0d0fc48b.1ac36fd3.js
new file mode 100644
index 0000000..e123cd1
--- /dev/null
+++ b/content/assets/js/0d0fc48b.1ac36fd3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4050],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0d2aa02e.6f4d441b.js b/content/assets/js/0d2aa02e.6f4d441b.js
new file mode 100644
index 0000000..72d17bc
--- /dev/null
+++ b/content/assets/js/0d2aa02e.6f4d441b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3349],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return k}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0d53d5be.9c94b9ad.js b/content/assets/js/0d53d5be.9c94b9ad.js
new file mode 100644
index 0000000..a728f90
--- /dev/null
+++ b/content/assets/js/0d53d5be.9c94b9ad.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1951],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/0de1e94b.f3e9ab42.js b/content/assets/js/0de1e94b.f3e9ab42.js
new file mode 100644
index 0000000..80f4ae2
--- /dev/null
+++ b/content/assets/js/0de1e94b.f3e9ab42.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9940],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/11433b40.4d7fc077.js b/content/assets/js/11433b40.4d7fc077.js
new file mode 100644
index 0000000..1635914
--- /dev/null
+++ b/content/assets/js/11433b40.4d7fc077.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8629],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/11829f95.e7693ab3.js b/content/assets/js/11829f95.e7693ab3.js
new file mode 100644
index 0000000..e4774b5
--- /dev/null
+++ b/content/assets/js/11829f95.e7693ab3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7031],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1268352f.be44101f.js b/content/assets/js/1268352f.be44101f.js
new file mode 100644
index 0000000..cdad4df
--- /dev/null
+++ b/content/assets/js/1268352f.be44101f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[122],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/131f50d0.bf9413b9.js b/content/assets/js/131f50d0.bf9413b9.js
new file mode 100644
index 0000000..3fa39d7
--- /dev/null
+++ b/content/assets/js/131f50d0.bf9413b9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[289],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/136f9a14.300e9c7c.js b/content/assets/js/136f9a14.300e9c7c.js
new file mode 100644
index 0000000..2a028b0
--- /dev/null
+++ b/content/assets/js/136f9a14.300e9c7c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6552],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/137061ef.501ab6a6.js b/content/assets/js/137061ef.501ab6a6.js
new file mode 100644
index 0000000..7177b39
--- /dev/null
+++ b/content/assets/js/137061ef.501ab6a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5947],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return m}});var i=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/13a7da5f.1e32e03e.js b/content/assets/js/13a7da5f.1e32e03e.js
new file mode 100644
index 0000000..dbf00e3
--- /dev/null
+++ b/content/assets/js/13a7da5f.1e32e03e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5733],{3905:function(e,t,a){a.d(t,{Zo:function(){return c},kt:function(){return d}});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/14609be1.ccf08115.js b/content/assets/js/14609be1.ccf08115.js
new file mode 100644
index 0000000..8ffdef1
--- /dev/null
+++ b/content/assets/js/14609be1.ccf08115.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7307],{3905:function(e,t,a){a.d(t,{Zo:function(){return h},kt:function(){return c}});var l=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/14a50b22.e7eba02a.js b/content/assets/js/14a50b22.e7eba02a.js
new file mode 100644
index 0000000..f4fcf4f
--- /dev/null
+++ b/content/assets/js/14a50b22.e7eba02a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6572],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var r=a(7294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/14da3ce7.22aaa255.js b/content/assets/js/14da3ce7.22aaa255.js
new file mode 100644
index 0000000..0826caa
--- /dev/null
+++ b/content/assets/js/14da3ce7.22aaa255.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7666],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1547da37.c57c18ce.js b/content/assets/js/1547da37.c57c18ce.js
new file mode 100644
index 0000000..718f18d
--- /dev/null
+++ b/content/assets/js/1547da37.c57c18ce.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9685],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/17896441.22010dfb.js b/content/assets/js/17896441.22010dfb.js
new file mode 100644
index 0000000..d25bc0a
--- /dev/null
+++ b/content/assets/js/17896441.22010dfb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7918],{1033:function(e,t,a){a.r(t),a.d(t,{default:function(){return ne}});var n=a(7294),l=a(6010),r=a(7462),i=a(5999),s=a(9960);function c(e){var t=e.permalink,a=e.title,l=e.subLabel;return n.createElement(s.Z,{className:"pagination-nav__link",to:t},l&&n.createElement("div",{className:"pagination-nav__sublabel"},l),n.createElement("div",{className:"pagination-nav__label"},a))}function o(e){var t=e.previous,a=e.next [...]
\ No newline at end of file
diff --git a/content/assets/js/17fed085.c6a295a8.js b/content/assets/js/17fed085.c6a295a8.js
new file mode 100644
index 0000000..66bdc96
--- /dev/null
+++ b/content/assets/js/17fed085.c6a295a8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9006],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/186b8a18.7f1470de.js b/content/assets/js/186b8a18.7f1470de.js
new file mode 100644
index 0000000..0efab0c
--- /dev/null
+++ b/content/assets/js/186b8a18.7f1470de.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8037],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/18d0950b.35588915.js b/content/assets/js/18d0950b.35588915.js
new file mode 100644
index 0000000..2394e1e
--- /dev/null
+++ b/content/assets/js/18d0950b.35588915.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3284],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1a06b953.23cea213.js b/content/assets/js/1a06b953.23cea213.js
new file mode 100644
index 0000000..a0bb452
--- /dev/null
+++ b/content/assets/js/1a06b953.23cea213.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8098],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1a41bcf4.f136b18f.js b/content/assets/js/1a41bcf4.f136b18f.js
new file mode 100644
index 0000000..80dde54
--- /dev/null
+++ b/content/assets/js/1a41bcf4.f136b18f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[166],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/1ac84465.ddffbcbc.js b/content/assets/js/1ac84465.ddffbcbc.js
new file mode 100644
index 0000000..2b1cd0c
--- /dev/null
+++ b/content/assets/js/1ac84465.ddffbcbc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6994],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1bb26576.3ca56c4b.js b/content/assets/js/1bb26576.3ca56c4b.js
new file mode 100644
index 0000000..f122cc9
--- /dev/null
+++ b/content/assets/js/1bb26576.3ca56c4b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2993],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1be78505.c6ef9f94.js b/content/assets/js/1be78505.c6ef9f94.js
new file mode 100644
index 0000000..61710d5
--- /dev/null
+++ b/content/assets/js/1be78505.c6ef9f94.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9514,4608],{6756:function(e,t,a){a.r(t),a.d(t,{default:function(){return ee}});var n=a(7294),l=a(3905),r=a(8790),o=a(2773),i=a(6010),c=a(3725),s=a(5537),d=a(7462);function m(e){return n.createElement("svg",(0,d.Z)({width:"20",height:"20","aria-hidden":"true"},e),n.createElement("g",{fill:"#7a7a7a"},n.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1- [...]
\ No newline at end of file
diff --git a/content/assets/js/1c223750.6e9932f3.js b/content/assets/js/1c223750.6e9932f3.js
new file mode 100644
index 0000000..e0ddfa4
--- /dev/null
+++ b/content/assets/js/1c223750.6e9932f3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5870],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1c4211eb.14f2daaf.js b/content/assets/js/1c4211eb.14f2daaf.js
new file mode 100644
index 0000000..ced6105
--- /dev/null
+++ b/content/assets/js/1c4211eb.14f2daaf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[253],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/1cb4afcc.4381f8b1.js b/content/assets/js/1cb4afcc.4381f8b1.js
new file mode 100644
index 0000000..dafd665
--- /dev/null
+++ b/content/assets/js/1cb4afcc.4381f8b1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6763],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1d0a6d4a.f1b8695e.js b/content/assets/js/1d0a6d4a.f1b8695e.js
new file mode 100644
index 0000000..47fcc6a
--- /dev/null
+++ b/content/assets/js/1d0a6d4a.f1b8695e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7345],{3905:function(e,t,n){n.d(t,{Zo:function(){return k},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1d91761b.d773e5da.js b/content/assets/js/1d91761b.d773e5da.js
new file mode 100644
index 0000000..5cf9d55
--- /dev/null
+++ b/content/assets/js/1d91761b.d773e5da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5500],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1ddcee41.4653929a.js b/content/assets/js/1ddcee41.4653929a.js
new file mode 100644
index 0000000..8608c57
--- /dev/null
+++ b/content/assets/js/1ddcee41.4653929a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8654],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1e033391.cfe1a877.js b/content/assets/js/1e033391.cfe1a877.js
new file mode 100644
index 0000000..5ef3141
--- /dev/null
+++ b/content/assets/js/1e033391.cfe1a877.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3171],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/1f391b9e.90b947ef.js b/content/assets/js/1f391b9e.90b947ef.js
new file mode 100644
index 0000000..c1e1113
--- /dev/null
+++ b/content/assets/js/1f391b9e.90b947ef.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3085],{6416:function(e,a,n){n.r(a),n.d(a,{default:function(){return d}});var t=n(7294),l=n(6010),i=n(2773),s=n(3905),c=n(4689),m=n(1575),r=n(3725),o="mdxPageWrapper_zHyg";function d(e){var a=e.content,n=a.metadata,d=n.title,v=n.description,u=n.permalink,f=n.frontMatter,N=f.wrapperClassName,g=f.hide_table_of_contents;return t.createElement(i.Z,{title:d,description:v,permalink:u,wrapperClassName:null!=N?N:r.kM.wrappe [...]
\ No newline at end of file
diff --git a/content/assets/js/20c15017.377c520f.js b/content/assets/js/20c15017.377c520f.js
new file mode 100644
index 0000000..ec28dff
--- /dev/null
+++ b/content/assets/js/20c15017.377c520f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4150],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/218f9744.0f75961d.js b/content/assets/js/218f9744.0f75961d.js
new file mode 100644
index 0000000..75531bf
--- /dev/null
+++ b/content/assets/js/218f9744.0f75961d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4574],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/21e4306c.e3d92836.js b/content/assets/js/21e4306c.e3d92836.js
new file mode 100644
index 0000000..f8614a6
--- /dev/null
+++ b/content/assets/js/21e4306c.e3d92836.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8211],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2246c66d.087b6042.js b/content/assets/js/2246c66d.087b6042.js
new file mode 100644
index 0000000..161c45a
--- /dev/null
+++ b/content/assets/js/2246c66d.087b6042.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8986],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/22d76b2d.ca24bdf8.js b/content/assets/js/22d76b2d.ca24bdf8.js
new file mode 100644
index 0000000..610725b
--- /dev/null
+++ b/content/assets/js/22d76b2d.ca24bdf8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6146],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return g}});var r=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/23200584.2bcfab14.js b/content/assets/js/23200584.2bcfab14.js
new file mode 100644
index 0000000..0df0ba9
--- /dev/null
+++ b/content/assets/js/23200584.2bcfab14.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6066],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2440862d.3c514387.js b/content/assets/js/2440862d.3c514387.js
new file mode 100644
index 0000000..5107487
--- /dev/null
+++ b/content/assets/js/2440862d.3c514387.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6669],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/247bfc5d.9f69cf43.js b/content/assets/js/247bfc5d.9f69cf43.js
new file mode 100644
index 0000000..b448053
--- /dev/null
+++ b/content/assets/js/247bfc5d.9f69cf43.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3749],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/24e8d336.b09d643a.js b/content/assets/js/24e8d336.b09d643a.js
new file mode 100644
index 0000000..73153e6
--- /dev/null
+++ b/content/assets/js/24e8d336.b09d643a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6950],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/257152cd.b84d6fe3.js b/content/assets/js/257152cd.b84d6fe3.js
new file mode 100644
index 0000000..3a6f188
--- /dev/null
+++ b/content/assets/js/257152cd.b84d6fe3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2179],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/28655793.528fe52f.js b/content/assets/js/28655793.528fe52f.js
new file mode 100644
index 0000000..e1d663e
--- /dev/null
+++ b/content/assets/js/28655793.528fe52f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1423],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2956de9a.9ef565b2.js b/content/assets/js/2956de9a.9ef565b2.js
new file mode 100644
index 0000000..c529ba6
--- /dev/null
+++ b/content/assets/js/2956de9a.9ef565b2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[879],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/299e6ba9.830b4079.js b/content/assets/js/299e6ba9.830b4079.js
new file mode 100644
index 0000000..65051eb
--- /dev/null
+++ b/content/assets/js/299e6ba9.830b4079.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5439],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2b1d6972.ce3acb65.js b/content/assets/js/2b1d6972.ce3acb65.js
new file mode 100644
index 0000000..4a38681
--- /dev/null
+++ b/content/assets/js/2b1d6972.ce3acb65.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6057],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2ba8ffb1.e743d325.js b/content/assets/js/2ba8ffb1.e743d325.js
new file mode 100644
index 0000000..41e6c91
--- /dev/null
+++ b/content/assets/js/2ba8ffb1.e743d325.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[659],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return c}});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/2c394507.6c6885b0.js b/content/assets/js/2c394507.6c6885b0.js
new file mode 100644
index 0000000..7828f44
--- /dev/null
+++ b/content/assets/js/2c394507.6c6885b0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7841],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2c6e2254.3989de67.js b/content/assets/js/2c6e2254.3989de67.js
new file mode 100644
index 0000000..a95a06f
--- /dev/null
+++ b/content/assets/js/2c6e2254.3989de67.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9272],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var r=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2cc56763.a6a49e9a.js b/content/assets/js/2cc56763.a6a49e9a.js
new file mode 100644
index 0000000..6ae6553
--- /dev/null
+++ b/content/assets/js/2cc56763.a6a49e9a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6820],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2d24b11b.1f0b2182.js b/content/assets/js/2d24b11b.1f0b2182.js
new file mode 100644
index 0000000..9c3d4cf
--- /dev/null
+++ b/content/assets/js/2d24b11b.1f0b2182.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1896],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return f}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2d2c1853.2bb6add6.js b/content/assets/js/2d2c1853.2bb6add6.js
new file mode 100644
index 0000000..4b2966f
--- /dev/null
+++ b/content/assets/js/2d2c1853.2bb6add6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9877],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2e50ccc4.0d6c541e.js b/content/assets/js/2e50ccc4.0d6c541e.js
new file mode 100644
index 0000000..5bd3c50
--- /dev/null
+++ b/content/assets/js/2e50ccc4.0d6c541e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6395],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/2ec0be4c.26acd913.js b/content/assets/js/2ec0be4c.26acd913.js
new file mode 100644
index 0000000..e3157a7
--- /dev/null
+++ b/content/assets/js/2ec0be4c.26acd913.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8351],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/30c186c7.e21db908.js b/content/assets/js/30c186c7.e21db908.js
new file mode 100644
index 0000000..b74018d
--- /dev/null
+++ b/content/assets/js/30c186c7.e21db908.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2329],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/313a661a.d8c00e1d.js b/content/assets/js/313a661a.d8c00e1d.js
new file mode 100644
index 0000000..21ac562
--- /dev/null
+++ b/content/assets/js/313a661a.d8c00e1d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1173],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/318dfdf9.6d7ef15e.js b/content/assets/js/318dfdf9.6d7ef15e.js
new file mode 100644
index 0000000..ee4bdc1
--- /dev/null
+++ b/content/assets/js/318dfdf9.6d7ef15e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9433],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/31b6813e.9394ad15.js b/content/assets/js/31b6813e.9394ad15.js
new file mode 100644
index 0000000..3e742d2
--- /dev/null
+++ b/content/assets/js/31b6813e.9394ad15.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2215],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/331b2a3d.7e134289.js b/content/assets/js/331b2a3d.7e134289.js
new file mode 100644
index 0000000..55c46ef
--- /dev/null
+++ b/content/assets/js/331b2a3d.7e134289.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6405],{2276:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.9.2","label":"4.9.2","banner":"unmaintained","badge":true,"className":"docs-version-4.9.2","isLast":false,"docsSidebars":{"version-4.9.2/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.9.2/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation", [...]
\ No newline at end of file
diff --git a/content/assets/js/33c915ea.c2b684a1.js b/content/assets/js/33c915ea.c2b684a1.js
new file mode 100644
index 0000000..ec21971
--- /dev/null
+++ b/content/assets/js/33c915ea.c2b684a1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7626],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3411c643.8905c2ca.js b/content/assets/js/3411c643.8905c2ca.js
new file mode 100644
index 0000000..3702a76
--- /dev/null
+++ b/content/assets/js/3411c643.8905c2ca.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8357],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/342215bd.80b0de04.js b/content/assets/js/342215bd.80b0de04.js
new file mode 100644
index 0000000..69552b1
--- /dev/null
+++ b/content/assets/js/342215bd.80b0de04.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3577],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3521ddbf.59cb20d1.js b/content/assets/js/3521ddbf.59cb20d1.js
new file mode 100644
index 0000000..4b9fd54
--- /dev/null
+++ b/content/assets/js/3521ddbf.59cb20d1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9905],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return u}});var r=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3592d2f2.27a501fb.js b/content/assets/js/3592d2f2.27a501fb.js
new file mode 100644
index 0000000..9203fac
--- /dev/null
+++ b/content/assets/js/3592d2f2.27a501fb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7992],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3630fad3.be3e1450.js b/content/assets/js/3630fad3.be3e1450.js
new file mode 100644
index 0000000..e985d12
--- /dev/null
+++ b/content/assets/js/3630fad3.be3e1450.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9861],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/385f273d.55633d52.js b/content/assets/js/385f273d.55633d52.js
new file mode 100644
index 0000000..26b4a2e
--- /dev/null
+++ b/content/assets/js/385f273d.55633d52.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2930],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/39a4b53d.92586d81.js b/content/assets/js/39a4b53d.92586d81.js
new file mode 100644
index 0000000..df63524
--- /dev/null
+++ b/content/assets/js/39a4b53d.92586d81.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4258],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3a07cdee.500741f0.js b/content/assets/js/3a07cdee.500741f0.js
new file mode 100644
index 0000000..ef5477c
--- /dev/null
+++ b/content/assets/js/3a07cdee.500741f0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2354],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3b380230.24a0e99c.js b/content/assets/js/3b380230.24a0e99c.js
new file mode 100644
index 0000000..f8d1473
--- /dev/null
+++ b/content/assets/js/3b380230.24a0e99c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[867],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/3bb6078f.975c1f51.js b/content/assets/js/3bb6078f.975c1f51.js
new file mode 100644
index 0000000..69a7c41
--- /dev/null
+++ b/content/assets/js/3bb6078f.975c1f51.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7374],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return p}});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3c400ed9.512f1f0f.js b/content/assets/js/3c400ed9.512f1f0f.js
new file mode 100644
index 0000000..ad2c590
--- /dev/null
+++ b/content/assets/js/3c400ed9.512f1f0f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[349],{9865:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.13.0","label":"4.13.0","banner":"unmaintained","badge":true,"className":"docs-version-4.13.0","isLast":false,"docsSidebars":{"version-4.13.0/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.13.0/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installati [...]
\ No newline at end of file
diff --git a/content/assets/js/3cff1016.f95ddbe9.js b/content/assets/js/3cff1016.f95ddbe9.js
new file mode 100644
index 0000000..a8b8daa
--- /dev/null
+++ b/content/assets/js/3cff1016.f95ddbe9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3758],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3d7bb4e0.2a9c57b1.js b/content/assets/js/3d7bb4e0.2a9c57b1.js
new file mode 100644
index 0000000..83aaf7e
--- /dev/null
+++ b/content/assets/js/3d7bb4e0.2a9c57b1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[906],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/3d9fe30f.953dd3f8.js b/content/assets/js/3d9fe30f.953dd3f8.js
new file mode 100644
index 0000000..0e31019
--- /dev/null
+++ b/content/assets/js/3d9fe30f.953dd3f8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4107],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3ec050b2.d54b1402.js b/content/assets/js/3ec050b2.d54b1402.js
new file mode 100644
index 0000000..7e9501b5
--- /dev/null
+++ b/content/assets/js/3ec050b2.d54b1402.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5181],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3f07749a.a7db72fd.js b/content/assets/js/3f07749a.a7db72fd.js
new file mode 100644
index 0000000..83652c2
--- /dev/null
+++ b/content/assets/js/3f07749a.a7db72fd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9199],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return m}});var n=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3f48ad20.bd6a358d.js b/content/assets/js/3f48ad20.bd6a358d.js
new file mode 100644
index 0000000..33d6e21
--- /dev/null
+++ b/content/assets/js/3f48ad20.bd6a358d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8991],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3f753b27.40331707.js b/content/assets/js/3f753b27.40331707.js
new file mode 100644
index 0000000..7046e54
--- /dev/null
+++ b/content/assets/js/3f753b27.40331707.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4923],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/3f883def.48f16f57.js b/content/assets/js/3f883def.48f16f57.js
new file mode 100644
index 0000000..d12c28f
--- /dev/null
+++ b/content/assets/js/3f883def.48f16f57.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2442],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/40712b22.02b4a307.js b/content/assets/js/40712b22.02b4a307.js
new file mode 100644
index 0000000..6fe0bde
--- /dev/null
+++ b/content/assets/js/40712b22.02b4a307.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5268],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/41168d35.401c8031.js b/content/assets/js/41168d35.401c8031.js
new file mode 100644
index 0000000..dd9914a
--- /dev/null
+++ b/content/assets/js/41168d35.401c8031.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1467],{3905:function(e,t,o){o.d(t,{Zo:function(){return c},kt:function(){return u}});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/421258aa.8d84273e.js b/content/assets/js/421258aa.8d84273e.js
new file mode 100644
index 0000000..d081129
--- /dev/null
+++ b/content/assets/js/421258aa.8d84273e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1441],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/425c25af.aefc9986.js b/content/assets/js/425c25af.aefc9986.js
new file mode 100644
index 0000000..df33179
--- /dev/null
+++ b/content/assets/js/425c25af.aefc9986.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6114],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var r=a(7294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4287edc9.f500d044.js b/content/assets/js/4287edc9.f500d044.js
new file mode 100644
index 0000000..dd51b59
--- /dev/null
+++ b/content/assets/js/4287edc9.f500d044.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4957],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/43a0a41f.0727d0ca.js b/content/assets/js/43a0a41f.0727d0ca.js
new file mode 100644
index 0000000..4508da8
--- /dev/null
+++ b/content/assets/js/43a0a41f.0727d0ca.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3258],{9033:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.6.2","label":"4.6.2","banner":"unmaintained","badge":true,"className":"docs-version-4.6.2","isLast":false,"docsSidebars":{"version-4.6.2/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.6.2/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation", [...]
\ No newline at end of file
diff --git a/content/assets/js/4608.9a26d7f4.js b/content/assets/js/4608.9a26d7f4.js
new file mode 100644
index 0000000..dbe4537
--- /dev/null
+++ b/content/assets/js/4608.9a26d7f4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4608],{4608:function(e,t,n){n.r(t),n.d(t,{default:function(){return i}});var a=n(7294),o=n(2773),l=n(5999);function i(){return a.createElement(o.Z,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})},a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero [...]
\ No newline at end of file
diff --git a/content/assets/js/4698369b.c3f54b20.js b/content/assets/js/4698369b.c3f54b20.js
new file mode 100644
index 0000000..c0a8b44
--- /dev/null
+++ b/content/assets/js/4698369b.c3f54b20.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9773],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4808995b.b702ca4f.js b/content/assets/js/4808995b.b702ca4f.js
new file mode 100644
index 0000000..b4eb2c1
--- /dev/null
+++ b/content/assets/js/4808995b.b702ca4f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1594],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/482c5c29.fa9365f9.js b/content/assets/js/482c5c29.fa9365f9.js
new file mode 100644
index 0000000..05249d4
--- /dev/null
+++ b/content/assets/js/482c5c29.fa9365f9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4117],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4831039f.cde09a00.js b/content/assets/js/4831039f.cde09a00.js
new file mode 100644
index 0000000..237f2fa
--- /dev/null
+++ b/content/assets/js/4831039f.cde09a00.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2882],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/485f610c.885a1530.js b/content/assets/js/485f610c.885a1530.js
new file mode 100644
index 0000000..46baa06
--- /dev/null
+++ b/content/assets/js/485f610c.885a1530.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[983],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/4882bd62.e1328caf.js b/content/assets/js/4882bd62.e1328caf.js
new file mode 100644
index 0000000..1c307b3
--- /dev/null
+++ b/content/assets/js/4882bd62.e1328caf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1922],{3905:function(e,o,n){n.d(o,{Zo:function(){return m},kt:function(){return u}});var t=n(7294);function i(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function r(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o&&(t=t.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/48e6979d.6c130ace.js b/content/assets/js/48e6979d.6c130ace.js
new file mode 100644
index 0000000..4121ff8
--- /dev/null
+++ b/content/assets/js/48e6979d.6c130ace.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1631],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/491836cf.c2f89144.js b/content/assets/js/491836cf.c2f89144.js
new file mode 100644
index 0000000..e651bf7
--- /dev/null
+++ b/content/assets/js/491836cf.c2f89144.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8282],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/492440dc.6a275b65.js b/content/assets/js/492440dc.6a275b65.js
new file mode 100644
index 0000000..a36e5bf
--- /dev/null
+++ b/content/assets/js/492440dc.6a275b65.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2561],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4a8bd1f6.06acd7cc.js b/content/assets/js/4a8bd1f6.06acd7cc.js
new file mode 100644
index 0000000..046c23a
--- /dev/null
+++ b/content/assets/js/4a8bd1f6.06acd7cc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[24],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push [...]
\ No newline at end of file
diff --git a/content/assets/js/4bfd050d.9bfe3872.js b/content/assets/js/4bfd050d.9bfe3872.js
new file mode 100644
index 0000000..1723cc1
--- /dev/null
+++ b/content/assets/js/4bfd050d.9bfe3872.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[11],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push [...]
\ No newline at end of file
diff --git a/content/assets/js/4cd56fdb.2bd966f9.js b/content/assets/js/4cd56fdb.2bd966f9.js
new file mode 100644
index 0000000..4f427c0
--- /dev/null
+++ b/content/assets/js/4cd56fdb.2bd966f9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1898],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4ce92582.a0e66bb2.js b/content/assets/js/4ce92582.a0e66bb2.js
new file mode 100644
index 0000000..468a1e2
--- /dev/null
+++ b/content/assets/js/4ce92582.a0e66bb2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8342],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4cf33c28.f6e7d439.js b/content/assets/js/4cf33c28.f6e7d439.js
new file mode 100644
index 0000000..d9269bf
--- /dev/null
+++ b/content/assets/js/4cf33c28.f6e7d439.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9084],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4d444a1c.edd58956.js b/content/assets/js/4d444a1c.edd58956.js
new file mode 100644
index 0000000..a0de298
--- /dev/null
+++ b/content/assets/js/4d444a1c.edd58956.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[302],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/4d70f3cf.0c7acbec.js b/content/assets/js/4d70f3cf.0c7acbec.js
new file mode 100644
index 0000000..59bc44f
--- /dev/null
+++ b/content/assets/js/4d70f3cf.0c7acbec.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3164],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/4d71094e.832865a6.js b/content/assets/js/4d71094e.832865a6.js
new file mode 100644
index 0000000..9ac2804
--- /dev/null
+++ b/content/assets/js/4d71094e.832865a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5471],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/50f3a74f.b0b5b491.js b/content/assets/js/50f3a74f.b0b5b491.js
new file mode 100644
index 0000000..126790f
--- /dev/null
+++ b/content/assets/js/50f3a74f.b0b5b491.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5631],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/54f44165.6ca8c125.js b/content/assets/js/54f44165.6ca8c125.js
new file mode 100644
index 0000000..05336d9
--- /dev/null
+++ b/content/assets/js/54f44165.6ca8c125.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[152],{3905:function(e,t,r){r.d(t,{Zo:function(){return s},kt:function(){return k}});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/5531b81f.0670a7c2.js b/content/assets/js/5531b81f.0670a7c2.js
new file mode 100644
index 0000000..cd85f1c
--- /dev/null
+++ b/content/assets/js/5531b81f.0670a7c2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8335],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/561b6265.6a90f3ee.js b/content/assets/js/561b6265.6a90f3ee.js
new file mode 100644
index 0000000..82a49ec
--- /dev/null
+++ b/content/assets/js/561b6265.6a90f3ee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2407],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/561c0d70.8fea6073.js b/content/assets/js/561c0d70.8fea6073.js
new file mode 100644
index 0000000..d1099d6
--- /dev/null
+++ b/content/assets/js/561c0d70.8fea6073.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2609],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/567e6099.cae6d088.js b/content/assets/js/567e6099.cae6d088.js
new file mode 100644
index 0000000..2c1013a
--- /dev/null
+++ b/content/assets/js/567e6099.cae6d088.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7386],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5870ef70.705ef3ac.js b/content/assets/js/5870ef70.705ef3ac.js
new file mode 100644
index 0000000..4802566
--- /dev/null
+++ b/content/assets/js/5870ef70.705ef3ac.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8720],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5897.a59480ad.js b/content/assets/js/5897.a59480ad.js
new file mode 100644
index 0000000..77b2178
--- /dev/null
+++ b/content/assets/js/5897.a59480ad.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5897],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/58efeb0f.d1c1513b.js b/content/assets/js/58efeb0f.d1c1513b.js
new file mode 100644
index 0000000..5ab032a
--- /dev/null
+++ b/content/assets/js/58efeb0f.d1c1513b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9552],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5a1d798c.795b1e2c.js b/content/assets/js/5a1d798c.795b1e2c.js
new file mode 100644
index 0000000..5f5d70e
--- /dev/null
+++ b/content/assets/js/5a1d798c.795b1e2c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3852],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5acc7ccb.7fc6cace.js b/content/assets/js/5acc7ccb.7fc6cace.js
new file mode 100644
index 0000000..9ec64c5
--- /dev/null
+++ b/content/assets/js/5acc7ccb.7fc6cace.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7934],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5b25eae8.55be60d2.js b/content/assets/js/5b25eae8.55be60d2.js
new file mode 100644
index 0000000..02879af
--- /dev/null
+++ b/content/assets/js/5b25eae8.55be60d2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6187],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5b83d837.21e7692d.js b/content/assets/js/5b83d837.21e7692d.js
new file mode 100644
index 0000000..c1720cc
--- /dev/null
+++ b/content/assets/js/5b83d837.21e7692d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9632],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5ccf8bb0.599401d9.js b/content/assets/js/5ccf8bb0.599401d9.js
new file mode 100644
index 0000000..6d77780
--- /dev/null
+++ b/content/assets/js/5ccf8bb0.599401d9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3351],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5cf2c6e0.c58668f4.js b/content/assets/js/5cf2c6e0.c58668f4.js
new file mode 100644
index 0000000..50e0806
--- /dev/null
+++ b/content/assets/js/5cf2c6e0.c58668f4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8791],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5d50bbf1.a41a6659.js b/content/assets/js/5d50bbf1.a41a6659.js
new file mode 100644
index 0000000..02ec399
--- /dev/null
+++ b/content/assets/js/5d50bbf1.a41a6659.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7741],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5def8e85.1974541b.js b/content/assets/js/5def8e85.1974541b.js
new file mode 100644
index 0000000..679e57e
--- /dev/null
+++ b/content/assets/js/5def8e85.1974541b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9489],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5e6a0b05.6e416f21.js b/content/assets/js/5e6a0b05.6e416f21.js
new file mode 100644
index 0000000..7e70631
--- /dev/null
+++ b/content/assets/js/5e6a0b05.6e416f21.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5792],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/5f20ae4e.208fc874.js b/content/assets/js/5f20ae4e.208fc874.js
new file mode 100644
index 0000000..d3c19d7e
--- /dev/null
+++ b/content/assets/js/5f20ae4e.208fc874.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3958],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6079a9d9.23db09d3.js b/content/assets/js/6079a9d9.23db09d3.js
new file mode 100644
index 0000000..db89e7d
--- /dev/null
+++ b/content/assets/js/6079a9d9.23db09d3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1727],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/612db47a.66827726.js b/content/assets/js/612db47a.66827726.js
new file mode 100644
index 0000000..28bae58
--- /dev/null
+++ b/content/assets/js/612db47a.66827726.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6346],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/61a001f8.1f7ee8ce.js b/content/assets/js/61a001f8.1f7ee8ce.js
new file mode 100644
index 0000000..1176b6a
--- /dev/null
+++ b/content/assets/js/61a001f8.1f7ee8ce.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4061],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/629b6576.ba7b53d4.js b/content/assets/js/629b6576.ba7b53d4.js
new file mode 100644
index 0000000..a7c4ae5
--- /dev/null
+++ b/content/assets/js/629b6576.ba7b53d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9196],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/62a0d553.b8b5b8e2.js b/content/assets/js/62a0d553.b8b5b8e2.js
new file mode 100644
index 0000000..e030d86
--- /dev/null
+++ b/content/assets/js/62a0d553.b8b5b8e2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1963],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return p}});var i=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/634aee6c.9ddf8f36.js b/content/assets/js/634aee6c.9ddf8f36.js
new file mode 100644
index 0000000..f6dfd80
--- /dev/null
+++ b/content/assets/js/634aee6c.9ddf8f36.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7356],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/638e6f40.eff5904a.js b/content/assets/js/638e6f40.eff5904a.js
new file mode 100644
index 0000000..6aa3622
--- /dev/null
+++ b/content/assets/js/638e6f40.eff5904a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6055],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/64258085.71fc980a.js b/content/assets/js/64258085.71fc980a.js
new file mode 100644
index 0000000..a0f5f6d
--- /dev/null
+++ b/content/assets/js/64258085.71fc980a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7302],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/655b2a13.6d1ca351.js b/content/assets/js/655b2a13.6d1ca351.js
new file mode 100644
index 0000000..b57d712
--- /dev/null
+++ b/content/assets/js/655b2a13.6d1ca351.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4986],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/65df3d35.143da76b.js b/content/assets/js/65df3d35.143da76b.js
new file mode 100644
index 0000000..332420a
--- /dev/null
+++ b/content/assets/js/65df3d35.143da76b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4643],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6766c2ba.100b0d09.js b/content/assets/js/6766c2ba.100b0d09.js
new file mode 100644
index 0000000..91fbe98
--- /dev/null
+++ b/content/assets/js/6766c2ba.100b0d09.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6775],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6789c389.d8b68c8d.js b/content/assets/js/6789c389.d8b68c8d.js
new file mode 100644
index 0000000..d4c900e
--- /dev/null
+++ b/content/assets/js/6789c389.d8b68c8d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8001],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return p}});var r=a(7294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/685312ca.08c4c103.js b/content/assets/js/685312ca.08c4c103.js
new file mode 100644
index 0000000..3018cd0
--- /dev/null
+++ b/content/assets/js/685312ca.08c4c103.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3786],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6cdfbbfb.2c17a8d4.js b/content/assets/js/6cdfbbfb.2c17a8d4.js
new file mode 100644
index 0000000..e41a113
--- /dev/null
+++ b/content/assets/js/6cdfbbfb.2c17a8d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4651],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6eb9aa01.abc5e5a1.js b/content/assets/js/6eb9aa01.abc5e5a1.js
new file mode 100644
index 0000000..e8f3266
--- /dev/null
+++ b/content/assets/js/6eb9aa01.abc5e5a1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8461],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6ee89642.f0633965.js b/content/assets/js/6ee89642.f0633965.js
new file mode 100644
index 0000000..1233761
--- /dev/null
+++ b/content/assets/js/6ee89642.f0633965.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[157],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/6f4e447b.04d14edf.js b/content/assets/js/6f4e447b.04d14edf.js
new file mode 100644
index 0000000..dff611d
--- /dev/null
+++ b/content/assets/js/6f4e447b.04d14edf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5904],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return k}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/6ff4dfcf.26dd561e.js b/content/assets/js/6ff4dfcf.26dd561e.js
new file mode 100644
index 0000000..e0095d0
--- /dev/null
+++ b/content/assets/js/6ff4dfcf.26dd561e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3159],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/71605a32.01388500.js b/content/assets/js/71605a32.01388500.js
new file mode 100644
index 0000000..5c9c18c
--- /dev/null
+++ b/content/assets/js/71605a32.01388500.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1406],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/724151f0.e3a07cfb.js b/content/assets/js/724151f0.e3a07cfb.js
new file mode 100644
index 0000000..4777357
--- /dev/null
+++ b/content/assets/js/724151f0.e3a07cfb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1708],{3905:function(e,o,n){n.d(o,{Zo:function(){return m},kt:function(){return u}});var t=n(7294);function i(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function r(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o&&(t=t.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/72c0ad31.301b9587.js b/content/assets/js/72c0ad31.301b9587.js
new file mode 100644
index 0000000..f76a98b
--- /dev/null
+++ b/content/assets/js/72c0ad31.301b9587.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6406],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/730767f4.9d083152.js b/content/assets/js/730767f4.9d083152.js
new file mode 100644
index 0000000..13d0ea8
--- /dev/null
+++ b/content/assets/js/730767f4.9d083152.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8743],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/739e861c.3119a0f0.js b/content/assets/js/739e861c.3119a0f0.js
new file mode 100644
index 0000000..9972398
--- /dev/null
+++ b/content/assets/js/739e861c.3119a0f0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1614],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/73d377e5.fcf44644.js b/content/assets/js/73d377e5.fcf44644.js
new file mode 100644
index 0000000..e3e6c99
--- /dev/null
+++ b/content/assets/js/73d377e5.fcf44644.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[115],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/7472e927.0868d0e9.js b/content/assets/js/7472e927.0868d0e9.js
new file mode 100644
index 0000000..c75555a
--- /dev/null
+++ b/content/assets/js/7472e927.0868d0e9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4110],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7589009a.ad71adda.js b/content/assets/js/7589009a.ad71adda.js
new file mode 100644
index 0000000..d2fcb1c
--- /dev/null
+++ b/content/assets/js/7589009a.ad71adda.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3132],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/76097a60.d12775ca.js b/content/assets/js/76097a60.d12775ca.js
new file mode 100644
index 0000000..a00b9ec
--- /dev/null
+++ b/content/assets/js/76097a60.d12775ca.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1626],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/772e10c8.75bba34d.js b/content/assets/js/772e10c8.75bba34d.js
new file mode 100644
index 0000000..f9a4d00
--- /dev/null
+++ b/content/assets/js/772e10c8.75bba34d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2867],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7815c2d3.d56591bf.js b/content/assets/js/7815c2d3.d56591bf.js
new file mode 100644
index 0000000..dff5c59
--- /dev/null
+++ b/content/assets/js/7815c2d3.d56591bf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7916],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/78cfffe1.412c4e92.js b/content/assets/js/78cfffe1.412c4e92.js
new file mode 100644
index 0000000..30c1884
--- /dev/null
+++ b/content/assets/js/78cfffe1.412c4e92.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1717],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7917e5c5.ab0342e2.js b/content/assets/js/7917e5c5.ab0342e2.js
new file mode 100644
index 0000000..3b8ad2b
--- /dev/null
+++ b/content/assets/js/7917e5c5.ab0342e2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1573],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/79fc8720.1b1771eb.js b/content/assets/js/79fc8720.1b1771eb.js
new file mode 100644
index 0000000..3b4a317
--- /dev/null
+++ b/content/assets/js/79fc8720.1b1771eb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5260],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7b3ecbf1.0881c897.js b/content/assets/js/7b3ecbf1.0881c897.js
new file mode 100644
index 0000000..9d5fab5
--- /dev/null
+++ b/content/assets/js/7b3ecbf1.0881c897.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7909],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7b3ed863.1bcad08a.js b/content/assets/js/7b3ed863.1bcad08a.js
new file mode 100644
index 0000000..15f68be
--- /dev/null
+++ b/content/assets/js/7b3ed863.1bcad08a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2657],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7c8189eb.0e903428.js b/content/assets/js/7c8189eb.0e903428.js
new file mode 100644
index 0000000..b3f73a2
--- /dev/null
+++ b/content/assets/js/7c8189eb.0e903428.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[205],{3905:function(e,t,o){o.d(t,{Zo:function(){return c},kt:function(){return m}});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/7cefa220.12af95cb.js b/content/assets/js/7cefa220.12af95cb.js
new file mode 100644
index 0000000..25f41c8
--- /dev/null
+++ b/content/assets/js/7cefa220.12af95cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1870],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7e8a1336.c8c76e4d.js b/content/assets/js/7e8a1336.c8c76e4d.js
new file mode 100644
index 0000000..e74f991
--- /dev/null
+++ b/content/assets/js/7e8a1336.c8c76e4d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3331],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7e8ff14f.eb082055.js b/content/assets/js/7e8ff14f.eb082055.js
new file mode 100644
index 0000000..4cbba98
--- /dev/null
+++ b/content/assets/js/7e8ff14f.eb082055.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1751],{3905:function(e,t,n){n.d(t,{Zo:function(){return m},kt:function(){return u}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7e9c80a9.f7d0e1b9.js b/content/assets/js/7e9c80a9.f7d0e1b9.js
new file mode 100644
index 0000000..307d768
--- /dev/null
+++ b/content/assets/js/7e9c80a9.f7d0e1b9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[363],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/7ef71a47.b2f8dc03.js b/content/assets/js/7ef71a47.b2f8dc03.js
new file mode 100644
index 0000000..18e9704
--- /dev/null
+++ b/content/assets/js/7ef71a47.b2f8dc03.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7599],{3905:function(e,a,l){l.d(a,{Zo:function(){return h},kt:function(){return c}});var t=l(7294);function r(e,a,l){return a in e?Object.defineProperty(e,a,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[a]=l,e}function s(e,a){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),l.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7f23633c.6335cc93.js b/content/assets/js/7f23633c.6335cc93.js
new file mode 100644
index 0000000..66bb6ea
--- /dev/null
+++ b/content/assets/js/7f23633c.6335cc93.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5638],{3905:function(e,t,o){o.d(t,{Zo:function(){return c},kt:function(){return h}});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7f6538f4.8870f848.js b/content/assets/js/7f6538f4.8870f848.js
new file mode 100644
index 0000000..de54a10
--- /dev/null
+++ b/content/assets/js/7f6538f4.8870f848.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8095],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/7fa58592.0add5310.js b/content/assets/js/7fa58592.0add5310.js
new file mode 100644
index 0000000..4ee3bdd
--- /dev/null
+++ b/content/assets/js/7fa58592.0add5310.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[609],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/80055ea8.d0275993.js b/content/assets/js/80055ea8.d0275993.js
new file mode 100644
index 0000000..eaeca30
--- /dev/null
+++ b/content/assets/js/80055ea8.d0275993.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8136],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/807892e9.27b0d9dd.js b/content/assets/js/807892e9.27b0d9dd.js
new file mode 100644
index 0000000..bd785e8
--- /dev/null
+++ b/content/assets/js/807892e9.27b0d9dd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8333],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/818526b6.7acc40d7.js b/content/assets/js/818526b6.7acc40d7.js
new file mode 100644
index 0000000..51eb16e
--- /dev/null
+++ b/content/assets/js/818526b6.7acc40d7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1948],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8296c7ad.03cd88e5.js b/content/assets/js/8296c7ad.03cd88e5.js
new file mode 100644
index 0000000..6bbf5d0
--- /dev/null
+++ b/content/assets/js/8296c7ad.03cd88e5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9946],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8372258a.a94211c2.js b/content/assets/js/8372258a.a94211c2.js
new file mode 100644
index 0000000..763e14c
--- /dev/null
+++ b/content/assets/js/8372258a.a94211c2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9076],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return u}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/83a4731b.5ea40ef0.js b/content/assets/js/83a4731b.5ea40ef0.js
new file mode 100644
index 0000000..3a3296c
--- /dev/null
+++ b/content/assets/js/83a4731b.5ea40ef0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5156],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/83e74c48.12c8ecc6.js b/content/assets/js/83e74c48.12c8ecc6.js
new file mode 100644
index 0000000..1659d15
--- /dev/null
+++ b/content/assets/js/83e74c48.12c8ecc6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3757],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/850e3a3d.9762719b.js b/content/assets/js/850e3a3d.9762719b.js
new file mode 100644
index 0000000..b7bf5e6
--- /dev/null
+++ b/content/assets/js/850e3a3d.9762719b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6415],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/86587f23.278ab48d.js b/content/assets/js/86587f23.278ab48d.js
new file mode 100644
index 0000000..0699dfc
--- /dev/null
+++ b/content/assets/js/86587f23.278ab48d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3889],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/865fc9ab.f523af94.js b/content/assets/js/865fc9ab.f523af94.js
new file mode 100644
index 0000000..70600f4
--- /dev/null
+++ b/content/assets/js/865fc9ab.f523af94.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[839],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/86a6f4a6.9234e9a6.js b/content/assets/js/86a6f4a6.9234e9a6.js
new file mode 100644
index 0000000..6c1861e
--- /dev/null
+++ b/content/assets/js/86a6f4a6.9234e9a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4670],{3905:function(e,t,i){i.d(t,{Zo:function(){return c},kt:function(){return p}});var a=i(7294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/86ab4954.f23f12f7.js b/content/assets/js/86ab4954.f23f12f7.js
new file mode 100644
index 0000000..8b0f8e4
--- /dev/null
+++ b/content/assets/js/86ab4954.f23f12f7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5221],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/87726f30.068798b8.js b/content/assets/js/87726f30.068798b8.js
new file mode 100644
index 0000000..5458491
--- /dev/null
+++ b/content/assets/js/87726f30.068798b8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9023],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/87d315c4.526314c2.js b/content/assets/js/87d315c4.526314c2.js
new file mode 100644
index 0000000..36e0849
--- /dev/null
+++ b/content/assets/js/87d315c4.526314c2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9716],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/87d8598c.f635f502.js b/content/assets/js/87d8598c.f635f502.js
new file mode 100644
index 0000000..f96b4de
--- /dev/null
+++ b/content/assets/js/87d8598c.f635f502.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5585],{2573:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.10.0","label":"4.10.0","banner":"unmaintained","badge":true,"className":"docs-version-4.10.0","isLast":false,"docsSidebars":{"version-4.10.0/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.10.0/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installat [...]
\ No newline at end of file
diff --git a/content/assets/js/896baf8c.0a816849.js b/content/assets/js/896baf8c.0a816849.js
new file mode 100644
index 0000000..4e8162f
--- /dev/null
+++ b/content/assets/js/896baf8c.0a816849.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1493],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8af1d301.d01ae9f7.js b/content/assets/js/8af1d301.d01ae9f7.js
new file mode 100644
index 0000000..98bba6a
--- /dev/null
+++ b/content/assets/js/8af1d301.d01ae9f7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5593],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8cc504e2.36346078.js b/content/assets/js/8cc504e2.36346078.js
new file mode 100644
index 0000000..585a908
--- /dev/null
+++ b/content/assets/js/8cc504e2.36346078.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3390],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return k}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8d306d14.9feeb154.js b/content/assets/js/8d306d14.9feeb154.js
new file mode 100644
index 0000000..f88f277
--- /dev/null
+++ b/content/assets/js/8d306d14.9feeb154.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7474],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8d5383ff.94993b73.js b/content/assets/js/8d5383ff.94993b73.js
new file mode 100644
index 0000000..ffdfb01
--- /dev/null
+++ b/content/assets/js/8d5383ff.94993b73.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3515],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return m}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8df24095.fe8cce51.js b/content/assets/js/8df24095.fe8cce51.js
new file mode 100644
index 0000000..2443510
--- /dev/null
+++ b/content/assets/js/8df24095.fe8cce51.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7055],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8e8026e2.bcab0e93.js b/content/assets/js/8e8026e2.bcab0e93.js
new file mode 100644
index 0000000..e947978
--- /dev/null
+++ b/content/assets/js/8e8026e2.bcab0e93.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3615],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8e901aa8.2a7d444e.js b/content/assets/js/8e901aa8.2a7d444e.js
new file mode 100644
index 0000000..aef33ef
--- /dev/null
+++ b/content/assets/js/8e901aa8.2a7d444e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3641],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8ef2f9fb.e32f7d9f.js b/content/assets/js/8ef2f9fb.e32f7d9f.js
new file mode 100644
index 0000000..a40a1a8
--- /dev/null
+++ b/content/assets/js/8ef2f9fb.e32f7d9f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4876],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/8fde3252.3d17d4ee.js b/content/assets/js/8fde3252.3d17d4ee.js
new file mode 100644
index 0000000..ce622af
--- /dev/null
+++ b/content/assets/js/8fde3252.3d17d4ee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4592],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9050039c.b4e88255.js b/content/assets/js/9050039c.b4e88255.js
new file mode 100644
index 0000000..c3340f2
--- /dev/null
+++ b/content/assets/js/9050039c.b4e88255.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8540],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/91a9c488.dfd6c5a5.js b/content/assets/js/91a9c488.dfd6c5a5.js
new file mode 100644
index 0000000..fad05b0
--- /dev/null
+++ b/content/assets/js/91a9c488.dfd6c5a5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4871],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/91c76d4c.617ad3c1.js b/content/assets/js/91c76d4c.617ad3c1.js
new file mode 100644
index 0000000..0195c9c
--- /dev/null
+++ b/content/assets/js/91c76d4c.617ad3c1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[960],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/9260b226.287a0b66.js b/content/assets/js/9260b226.287a0b66.js
new file mode 100644
index 0000000..8950892
--- /dev/null
+++ b/content/assets/js/9260b226.287a0b66.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4887],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/92fa1062.0a4142b8.js b/content/assets/js/92fa1062.0a4142b8.js
new file mode 100644
index 0000000..65311eb
--- /dev/null
+++ b/content/assets/js/92fa1062.0a4142b8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9342],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return h}});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/935f2afb.43c0f47f.js b/content/assets/js/935f2afb.43c0f47f.js
new file mode 100644
index 0000000..3072a3b
--- /dev/null
+++ b/content/assets/js/935f2afb.43c0f47f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"className":"docs-version-current","isLast":false,"docsSidebars":{"docsSidebar":[{"type":"link","label":"Overview","href":"/docs/next/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation","href":"/docs/ne [...]
\ No newline at end of file
diff --git a/content/assets/js/93eb8f00.37e672ee.js b/content/assets/js/93eb8f00.37e672ee.js
new file mode 100644
index 0000000..95b8555
--- /dev/null
+++ b/content/assets/js/93eb8f00.37e672ee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7285],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/961398de.c3b2af0d.js b/content/assets/js/961398de.c3b2af0d.js
new file mode 100644
index 0000000..477582f
--- /dev/null
+++ b/content/assets/js/961398de.c3b2af0d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3410],{5196:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.14.4","label":"4.14.4","banner":null,"badge":true,"className":"docs-version-4.14.4","isLast":true,"docsSidebars":{"version-4.14.4/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation","href":"/docs [...]
\ No newline at end of file
diff --git a/content/assets/js/97dcfc8e.8ed76879.js b/content/assets/js/97dcfc8e.8ed76879.js
new file mode 100644
index 0000000..888b92d
--- /dev/null
+++ b/content/assets/js/97dcfc8e.8ed76879.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4741],{3905:function(e,o,n){n.d(o,{Zo:function(){return m},kt:function(){return u}});var t=n(7294);function i(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function r(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o&&(t=t.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/985bff7a.344cb64e.js b/content/assets/js/985bff7a.344cb64e.js
new file mode 100644
index 0000000..578e6d5
--- /dev/null
+++ b/content/assets/js/985bff7a.344cb64e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2575],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/98dbf19d.8b87e212.js b/content/assets/js/98dbf19d.8b87e212.js
new file mode 100644
index 0000000..41c2431
--- /dev/null
+++ b/content/assets/js/98dbf19d.8b87e212.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2164],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9a26ec38.a94efa44.js b/content/assets/js/9a26ec38.a94efa44.js
new file mode 100644
index 0000000..7d3e24f
--- /dev/null
+++ b/content/assets/js/9a26ec38.a94efa44.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5729],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9a9953e7.629fd89b.js b/content/assets/js/9a9953e7.629fd89b.js
new file mode 100644
index 0000000..48e744b
--- /dev/null
+++ b/content/assets/js/9a9953e7.629fd89b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4546],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9c4aba92.969a3bbc.js b/content/assets/js/9c4aba92.969a3bbc.js
new file mode 100644
index 0000000..fccb4c1
--- /dev/null
+++ b/content/assets/js/9c4aba92.969a3bbc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4840],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9c5aab0e.02f7d4de.js b/content/assets/js/9c5aab0e.02f7d4de.js
new file mode 100644
index 0000000..5e7a835
--- /dev/null
+++ b/content/assets/js/9c5aab0e.02f7d4de.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5451],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9ca9b220.7316d591.js b/content/assets/js/9ca9b220.7316d591.js
new file mode 100644
index 0000000..d7352e7
--- /dev/null
+++ b/content/assets/js/9ca9b220.7316d591.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4378],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9da19abb.f7071224.js b/content/assets/js/9da19abb.f7071224.js
new file mode 100644
index 0000000..c5b672e
--- /dev/null
+++ b/content/assets/js/9da19abb.f7071224.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3325],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9dbc92a7.cf28c391.js b/content/assets/js/9dbc92a7.cf28c391.js
new file mode 100644
index 0000000..4cd7262
--- /dev/null
+++ b/content/assets/js/9dbc92a7.cf28c391.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[908],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/9e4087bc.0678c720.js b/content/assets/js/9e4087bc.0678c720.js
new file mode 100644
index 0000000..f197922
--- /dev/null
+++ b/content/assets/js/9e4087bc.0678c720.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3608],{3012:function(e,t,a){a.r(t),a.d(t,{default:function(){return s}});var r=a(7294),n=a(2773),c=a(9960),l=a(5999);function i(e){var t=e.year,a=e.posts;return r.createElement(r.Fragment,null,r.createElement("h3",null,t),r.createElement("ul",null,a.map((function(e){return r.createElement("li",{key:e.metadata.date},r.createElement(c.Z,{to:e.metadata.permalink},e.metadata.formattedDate," - ",e.metadata.title))}))))} [...]
\ No newline at end of file
diff --git a/content/assets/js/9edca4e9.5ff5b071.js b/content/assets/js/9edca4e9.5ff5b071.js
new file mode 100644
index 0000000..f454955
--- /dev/null
+++ b/content/assets/js/9edca4e9.5ff5b071.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1401],{3905:function(e,o,n){n.d(o,{Zo:function(){return m},kt:function(){return u}});var t=n(7294);function i(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function r(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o&&(t=t.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9f61d8e1.3a21892f.js b/content/assets/js/9f61d8e1.3a21892f.js
new file mode 100644
index 0000000..a0fc55b
--- /dev/null
+++ b/content/assets/js/9f61d8e1.3a21892f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4152],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/9fedf7e0.37c5d15a.js b/content/assets/js/9fedf7e0.37c5d15a.js
new file mode 100644
index 0000000..1873c62
--- /dev/null
+++ b/content/assets/js/9fedf7e0.37c5d15a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2913],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a19a348a.7b0d1cd5.js b/content/assets/js/a19a348a.7b0d1cd5.js
new file mode 100644
index 0000000..3d048ef
--- /dev/null
+++ b/content/assets/js/a19a348a.7b0d1cd5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1488],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return f}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a2d2862e.602ef9ae.js b/content/assets/js/a2d2862e.602ef9ae.js
new file mode 100644
index 0000000..f7cda98
--- /dev/null
+++ b/content/assets/js/a2d2862e.602ef9ae.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1281],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a34b52ce.702a8aa4.js b/content/assets/js/a34b52ce.702a8aa4.js
new file mode 100644
index 0000000..a14edc3
--- /dev/null
+++ b/content/assets/js/a34b52ce.702a8aa4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9035],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a363edce.d218a214.js b/content/assets/js/a363edce.d218a214.js
new file mode 100644
index 0000000..3b86d62
--- /dev/null
+++ b/content/assets/js/a363edce.d218a214.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[426],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/a386696c.d852ad08.js b/content/assets/js/a386696c.d852ad08.js
new file mode 100644
index 0000000..add1796
--- /dev/null
+++ b/content/assets/js/a386696c.d852ad08.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[724],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/a3d44527.95d9eb02.js b/content/assets/js/a3d44527.95d9eb02.js
new file mode 100644
index 0000000..5fba71b
--- /dev/null
+++ b/content/assets/js/a3d44527.95d9eb02.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9609],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a43fb5c1.783ed310.js b/content/assets/js/a43fb5c1.783ed310.js
new file mode 100644
index 0000000..4e569cc
--- /dev/null
+++ b/content/assets/js/a43fb5c1.783ed310.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4845],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a47a33ba.f84924e6.js b/content/assets/js/a47a33ba.f84924e6.js
new file mode 100644
index 0000000..896fb1a
--- /dev/null
+++ b/content/assets/js/a47a33ba.f84924e6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9521],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a4f4c0c8.5aa3897c.js b/content/assets/js/a4f4c0c8.5aa3897c.js
new file mode 100644
index 0000000..fad9f8a
--- /dev/null
+++ b/content/assets/js/a4f4c0c8.5aa3897c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7845],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a5854c89.4621c52d.js b/content/assets/js/a5854c89.4621c52d.js
new file mode 100644
index 0000000..7074f64
--- /dev/null
+++ b/content/assets/js/a5854c89.4621c52d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7367],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a647d08a.3c71a46b.js b/content/assets/js/a647d08a.3c71a46b.js
new file mode 100644
index 0000000..5966cc3
--- /dev/null
+++ b/content/assets/js/a647d08a.3c71a46b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8173],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return m}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a67f69f8.ad9ea6d0.js b/content/assets/js/a67f69f8.ad9ea6d0.js
new file mode 100644
index 0000000..81d8605
--- /dev/null
+++ b/content/assets/js/a67f69f8.ad9ea6d0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7897],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a7a77925.36ac7d6f.js b/content/assets/js/a7a77925.36ac7d6f.js
new file mode 100644
index 0000000..0b9026c
--- /dev/null
+++ b/content/assets/js/a7a77925.36ac7d6f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2253],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/a9e28e86.cac6f5bb.js b/content/assets/js/a9e28e86.cac6f5bb.js
new file mode 100644
index 0000000..69b04a5
--- /dev/null
+++ b/content/assets/js/a9e28e86.cac6f5bb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8502],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/aa9ec3b8.0f2fe2a6.js b/content/assets/js/aa9ec3b8.0f2fe2a6.js
new file mode 100644
index 0000000..6df2964
--- /dev/null
+++ b/content/assets/js/aa9ec3b8.0f2fe2a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1606],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/abb3dda4.fd2f31d8.js b/content/assets/js/abb3dda4.fd2f31d8.js
new file mode 100644
index 0000000..321e26c
--- /dev/null
+++ b/content/assets/js/abb3dda4.fd2f31d8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7844],{2741:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.8.2","label":"4.8.2","banner":"unmaintained","badge":true,"className":"docs-version-4.8.2","isLast":false,"docsSidebars":{"version-4.8.2/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.8.2/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation", [...]
\ No newline at end of file
diff --git a/content/assets/js/abbc0c33.12727a46.js b/content/assets/js/abbc0c33.12727a46.js
new file mode 100644
index 0000000..8d7e313
--- /dev/null
+++ b/content/assets/js/abbc0c33.12727a46.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9138],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ac63e720.19973228.js b/content/assets/js/ac63e720.19973228.js
new file mode 100644
index 0000000..a0c859c
--- /dev/null
+++ b/content/assets/js/ac63e720.19973228.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2047],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/aede75d4.cf3086d4.js b/content/assets/js/aede75d4.cf3086d4.js
new file mode 100644
index 0000000..647beae
--- /dev/null
+++ b/content/assets/js/aede75d4.cf3086d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1831],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/af30b71e.968d3bb5.js b/content/assets/js/af30b71e.968d3bb5.js
new file mode 100644
index 0000000..6391ef9
--- /dev/null
+++ b/content/assets/js/af30b71e.968d3bb5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1435],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b022ea46.6e1080d5.js b/content/assets/js/b022ea46.6e1080d5.js
new file mode 100644
index 0000000..dee7cff
--- /dev/null
+++ b/content/assets/js/b022ea46.6e1080d5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8969],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b217b1df.e1522aba.js b/content/assets/js/b217b1df.e1522aba.js
new file mode 100644
index 0000000..6793a38
--- /dev/null
+++ b/content/assets/js/b217b1df.e1522aba.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7218],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b218484e.6ca2de28.js b/content/assets/js/b218484e.6ca2de28.js
new file mode 100644
index 0000000..8a29706
--- /dev/null
+++ b/content/assets/js/b218484e.6ca2de28.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7903],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b26f55a5.e8531a01.js b/content/assets/js/b26f55a5.e8531a01.js
new file mode 100644
index 0000000..d2c110a
--- /dev/null
+++ b/content/assets/js/b26f55a5.e8531a01.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9418],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b2f554cd.9a8ea596.js b/content/assets/js/b2f554cd.9a8ea596.js
new file mode 100644
index 0000000..653b699
--- /dev/null
+++ b/content/assets/js/b2f554cd.9a8ea596.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1477],{10:function(s){s.exports={blogPosts:[]}}}]);
\ No newline at end of file
diff --git a/content/assets/js/b3c11919.9e8c9ff7.js b/content/assets/js/b3c11919.9e8c9ff7.js
new file mode 100644
index 0000000..6957c9c
--- /dev/null
+++ b/content/assets/js/b3c11919.9e8c9ff7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[372],{3905:function(e,t,r){r.d(t,{Zo:function(){return d},kt:function(){return b}});var o=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/b4baf230.221e16f0.js b/content/assets/js/b4baf230.221e16f0.js
new file mode 100644
index 0000000..b2dc648
--- /dev/null
+++ b/content/assets/js/b4baf230.221e16f0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[60],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push [...]
\ No newline at end of file
diff --git a/content/assets/js/b54aa47d.068bb75e.js b/content/assets/js/b54aa47d.068bb75e.js
new file mode 100644
index 0000000..44a19a4
--- /dev/null
+++ b/content/assets/js/b54aa47d.068bb75e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6192],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b672ebd6.6034a3d6.js b/content/assets/js/b672ebd6.6034a3d6.js
new file mode 100644
index 0000000..f01b62e
--- /dev/null
+++ b/content/assets/js/b672ebd6.6034a3d6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7732],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b68c61f5.ad310ec4.js b/content/assets/js/b68c61f5.ad310ec4.js
new file mode 100644
index 0000000..393dbec
--- /dev/null
+++ b/content/assets/js/b68c61f5.ad310ec4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7030],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b6c885a5.bf470559.js b/content/assets/js/b6c885a5.bf470559.js
new file mode 100644
index 0000000..3ef6705
--- /dev/null
+++ b/content/assets/js/b6c885a5.bf470559.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9290],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b7d359f1.36c9d3ae.js b/content/assets/js/b7d359f1.36c9d3ae.js
new file mode 100644
index 0000000..422496f
--- /dev/null
+++ b/content/assets/js/b7d359f1.36c9d3ae.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6885],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b7fafd37.56cfe2b6.js b/content/assets/js/b7fafd37.56cfe2b6.js
new file mode 100644
index 0000000..80bd2ca
--- /dev/null
+++ b/content/assets/js/b7fafd37.56cfe2b6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3937],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b800115e.141dabb3.js b/content/assets/js/b800115e.141dabb3.js
new file mode 100644
index 0000000..927ae0a
--- /dev/null
+++ b/content/assets/js/b800115e.141dabb3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8522],{3905:function(e,t,r){r.d(t,{Zo:function(){return d},kt:function(){return h}});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/b929e89b.c405c91c.js b/content/assets/js/b929e89b.c405c91c.js
new file mode 100644
index 0000000..e1ac48a
--- /dev/null
+++ b/content/assets/js/b929e89b.c405c91c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7781],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return y}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ba628d47.0466d8e9.js b/content/assets/js/ba628d47.0466d8e9.js
new file mode 100644
index 0000000..0d8a926
--- /dev/null
+++ b/content/assets/js/ba628d47.0466d8e9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3011],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return s}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bb7ded3b.2c0cab75.js b/content/assets/js/bb7ded3b.2c0cab75.js
new file mode 100644
index 0000000..893d700
--- /dev/null
+++ b/content/assets/js/bb7ded3b.2c0cab75.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9547],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bbd70f53.7e298719.js b/content/assets/js/bbd70f53.7e298719.js
new file mode 100644
index 0000000..4b153b5
--- /dev/null
+++ b/content/assets/js/bbd70f53.7e298719.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6111],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bbde899b.ee15a60b.js b/content/assets/js/bbde899b.ee15a60b.js
new file mode 100644
index 0000000..d7e0eef
--- /dev/null
+++ b/content/assets/js/bbde899b.ee15a60b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1209],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bbef9193.e8e72442.js b/content/assets/js/bbef9193.e8e72442.js
new file mode 100644
index 0000000..39a3fbe
--- /dev/null
+++ b/content/assets/js/bbef9193.e8e72442.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3498],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bc29171d.00e0a24e.js b/content/assets/js/bc29171d.00e0a24e.js
new file mode 100644
index 0000000..5ba9269
--- /dev/null
+++ b/content/assets/js/bc29171d.00e0a24e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4900],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bc5400c9.eb78b21c.js b/content/assets/js/bc5400c9.eb78b21c.js
new file mode 100644
index 0000000..762ac6c
--- /dev/null
+++ b/content/assets/js/bc5400c9.eb78b21c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4026],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/be9b1ba5.012c663f.js b/content/assets/js/be9b1ba5.012c663f.js
new file mode 100644
index 0000000..6ca874a
--- /dev/null
+++ b/content/assets/js/be9b1ba5.012c663f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4624],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bf29d81a.9ad233f5.js b/content/assets/js/bf29d81a.9ad233f5.js
new file mode 100644
index 0000000..cb07687
--- /dev/null
+++ b/content/assets/js/bf29d81a.9ad233f5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7068],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/bf69fc30.cc7a1e41.js b/content/assets/js/bf69fc30.cc7a1e41.js
new file mode 100644
index 0000000..b48861e
--- /dev/null
+++ b/content/assets/js/bf69fc30.cc7a1e41.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9113],{3905:function(e,n,t){t.d(n,{Zo:function(){return c},kt:function(){return g}});var i=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c142e639.32efdf48.js b/content/assets/js/c142e639.32efdf48.js
new file mode 100644
index 0000000..68e9cb5
--- /dev/null
+++ b/content/assets/js/c142e639.32efdf48.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[975],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/c2065ba5.87a6c62e.js b/content/assets/js/c2065ba5.87a6c62e.js
new file mode 100644
index 0000000..341c634
--- /dev/null
+++ b/content/assets/js/c2065ba5.87a6c62e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6902],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c29dbf77.2c702a23.js b/content/assets/js/c29dbf77.2c702a23.js
new file mode 100644
index 0000000..806d2b2
--- /dev/null
+++ b/content/assets/js/c29dbf77.2c702a23.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7378],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var r=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c34c1aa0.93115d84.js b/content/assets/js/c34c1aa0.93115d84.js
new file mode 100644
index 0000000..ea2ff82
--- /dev/null
+++ b/content/assets/js/c34c1aa0.93115d84.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2662],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var o=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c3917577.1ae8c40d.js b/content/assets/js/c3917577.1ae8c40d.js
new file mode 100644
index 0000000..71b80c8
--- /dev/null
+++ b/content/assets/js/c3917577.1ae8c40d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6174],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c4f5d8e4.4451a7dc.js b/content/assets/js/c4f5d8e4.4451a7dc.js
new file mode 100644
index 0000000..abda894
--- /dev/null
+++ b/content/assets/js/c4f5d8e4.4451a7dc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4195],{4546:function(e,t,l){l.r(t),l.d(t,{default:function(){return d}});var c,r,a=l(7294),n=l(2773),o=["title","titleId"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var c in l)Object.prototype.hasOwnProperty.call(l,c)&&(e[c]=l[c])}return e},s.apply(this,arguments)}function i(e,t){if(null==e)return{};var l,c,r=function(e,t){if(null==e)return{};var l,c [...]
\ No newline at end of file
diff --git a/content/assets/js/c53b1d90.104dbcf6.js b/content/assets/js/c53b1d90.104dbcf6.js
new file mode 100644
index 0000000..52afd75
--- /dev/null
+++ b/content/assets/js/c53b1d90.104dbcf6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3391],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return d}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c56769ee.0145133b.js b/content/assets/js/c56769ee.0145133b.js
new file mode 100644
index 0000000..1415f77
--- /dev/null
+++ b/content/assets/js/c56769ee.0145133b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4392],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c6ff1e84.690b1797.js b/content/assets/js/c6ff1e84.690b1797.js
new file mode 100644
index 0000000..fca1190
--- /dev/null
+++ b/content/assets/js/c6ff1e84.690b1797.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8682],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c767f061.b3f1edc7.js b/content/assets/js/c767f061.b3f1edc7.js
new file mode 100644
index 0000000..3cceafc
--- /dev/null
+++ b/content/assets/js/c767f061.b3f1edc7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5211],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c78e0dfd.6fc056eb.js b/content/assets/js/c78e0dfd.6fc056eb.js
new file mode 100644
index 0000000..dc539f4
--- /dev/null
+++ b/content/assets/js/c78e0dfd.6fc056eb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5848],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c7f18df2.7a645f88.js b/content/assets/js/c7f18df2.7a645f88.js
new file mode 100644
index 0000000..1a5dfe6
--- /dev/null
+++ b/content/assets/js/c7f18df2.7a645f88.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9122],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c87023c4.b827299a.js b/content/assets/js/c87023c4.b827299a.js
new file mode 100644
index 0000000..48b74fa
--- /dev/null
+++ b/content/assets/js/c87023c4.b827299a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6525],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c90cac61.997ee59b.js b/content/assets/js/c90cac61.997ee59b.js
new file mode 100644
index 0000000..5c82a9b
--- /dev/null
+++ b/content/assets/js/c90cac61.997ee59b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8562],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return f}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/c9cfd710.f423f22c.js b/content/assets/js/c9cfd710.f423f22c.js
new file mode 100644
index 0000000..ada13a2
--- /dev/null
+++ b/content/assets/js/c9cfd710.f423f22c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4756],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ca99f506.5897fd2d.js b/content/assets/js/ca99f506.5897fd2d.js
new file mode 100644
index 0000000..0415c87
--- /dev/null
+++ b/content/assets/js/ca99f506.5897fd2d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9578],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ca9e19a0.e2ec4622.js b/content/assets/js/ca9e19a0.e2ec4622.js
new file mode 100644
index 0000000..f281fd4
--- /dev/null
+++ b/content/assets/js/ca9e19a0.e2ec4622.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6469],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/caa6cc64.832dfc10.js b/content/assets/js/caa6cc64.832dfc10.js
new file mode 100644
index 0000000..972487a
--- /dev/null
+++ b/content/assets/js/caa6cc64.832dfc10.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4779],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/cb1fb814.8df33663.js b/content/assets/js/cb1fb814.8df33663.js
new file mode 100644
index 0000000..fceb79f
--- /dev/null
+++ b/content/assets/js/cb1fb814.8df33663.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7211],{3905:function(e,t,a){a.d(t,{Zo:function(){return s},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/cb952911.0937a127.js b/content/assets/js/cb952911.0937a127.js
new file mode 100644
index 0000000..908e69f
--- /dev/null
+++ b/content/assets/js/cb952911.0937a127.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[622],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/cbfa528b.3dd0830d.js b/content/assets/js/cbfa528b.3dd0830d.js
new file mode 100644
index 0000000..f9852e9
--- /dev/null
+++ b/content/assets/js/cbfa528b.3dd0830d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9249],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/cf9c4b04.6f6a1756.js b/content/assets/js/cf9c4b04.6f6a1756.js
new file mode 100644
index 0000000..a3b7321
--- /dev/null
+++ b/content/assets/js/cf9c4b04.6f6a1756.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9211],{3905:function(e,t,a){a.d(t,{Zo:function(){return h},kt:function(){return u}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d09aafa8.0762c034.js b/content/assets/js/d09aafa8.0762c034.js
new file mode 100644
index 0000000..be5a52c
--- /dev/null
+++ b/content/assets/js/d09aafa8.0762c034.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5646],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d0a2eb8e.da9a0a19.js b/content/assets/js/d0a2eb8e.da9a0a19.js
new file mode 100644
index 0000000..91be286
--- /dev/null
+++ b/content/assets/js/d0a2eb8e.da9a0a19.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5616],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d1a9d15c.d8e9160e.js b/content/assets/js/d1a9d15c.d8e9160e.js
new file mode 100644
index 0000000..418b71b
--- /dev/null
+++ b/content/assets/js/d1a9d15c.d8e9160e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2824],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d2113218.eb4812fd.js b/content/assets/js/d2113218.eb4812fd.js
new file mode 100644
index 0000000..24bc583
--- /dev/null
+++ b/content/assets/js/d2113218.eb4812fd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3239],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d288ceb1.ed858779.js b/content/assets/js/d288ceb1.ed858779.js
new file mode 100644
index 0000000..75bbf5d
--- /dev/null
+++ b/content/assets/js/d288ceb1.ed858779.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9999],{3905:function(t,e,a){a.d(e,{Zo:function(){return d},kt:function(){return N}});var r=a(7294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d33291bb.9226390c.js b/content/assets/js/d33291bb.9226390c.js
new file mode 100644
index 0000000..3746421
--- /dev/null
+++ b/content/assets/js/d33291bb.9226390c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3049],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d67b6402.85a425d1.js b/content/assets/js/d67b6402.85a425d1.js
new file mode 100644
index 0000000..1c9dfff
--- /dev/null
+++ b/content/assets/js/d67b6402.85a425d1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[771],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/d70b4d73.1d2dfba9.js b/content/assets/js/d70b4d73.1d2dfba9.js
new file mode 100644
index 0000000..90dfd2b
--- /dev/null
+++ b/content/assets/js/d70b4d73.1d2dfba9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8385],{3905:function(e,t,a){a.d(t,{Zo:function(){return s},kt:function(){return d}});var r=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d86f913f.d13fe80c.js b/content/assets/js/d86f913f.d13fe80c.js
new file mode 100644
index 0000000..685fef2
--- /dev/null
+++ b/content/assets/js/d86f913f.d13fe80c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8473],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d8aef0aa.d4046053.js b/content/assets/js/d8aef0aa.d4046053.js
new file mode 100644
index 0000000..448a499
--- /dev/null
+++ b/content/assets/js/d8aef0aa.d4046053.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3310],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return k}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d91115c6.6cb2e08e.js b/content/assets/js/d91115c6.6cb2e08e.js
new file mode 100644
index 0000000..297c16a
--- /dev/null
+++ b/content/assets/js/d91115c6.6cb2e08e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3508],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/d99593c1.6e82454e.js b/content/assets/js/d99593c1.6e82454e.js
new file mode 100644
index 0000000..9ad4888
--- /dev/null
+++ b/content/assets/js/d99593c1.6e82454e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[800],{3905:function(e,t,r){r.d(t,{Zo:function(){return h},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/d9c8eb9a.c354b252.js b/content/assets/js/d9c8eb9a.c354b252.js
new file mode 100644
index 0000000..0377b96
--- /dev/null
+++ b/content/assets/js/d9c8eb9a.c354b252.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6643],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/da284785.37935720.js b/content/assets/js/da284785.37935720.js
new file mode 100644
index 0000000..55aecd7
--- /dev/null
+++ b/content/assets/js/da284785.37935720.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[10],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push [...]
\ No newline at end of file
diff --git a/content/assets/js/da8fb6e6.2560bb4b.js b/content/assets/js/da8fb6e6.2560bb4b.js
new file mode 100644
index 0000000..107a7dc
--- /dev/null
+++ b/content/assets/js/da8fb6e6.2560bb4b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3676],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/db1d00c4.43dd085c.js b/content/assets/js/db1d00c4.43dd085c.js
new file mode 100644
index 0000000..0d6c922
--- /dev/null
+++ b/content/assets/js/db1d00c4.43dd085c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7595],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/db32d9f1.336ded6b.js b/content/assets/js/db32d9f1.336ded6b.js
new file mode 100644
index 0000000..f473659
--- /dev/null
+++ b/content/assets/js/db32d9f1.336ded6b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4498],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return u}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/db40a819.20559fed.js b/content/assets/js/db40a819.20559fed.js
new file mode 100644
index 0000000..c12c34b
--- /dev/null
+++ b/content/assets/js/db40a819.20559fed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2893],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/dc0ec182.0670d8b0.js b/content/assets/js/dc0ec182.0670d8b0.js
new file mode 100644
index 0000000..d2288aa
--- /dev/null
+++ b/content/assets/js/dc0ec182.0670d8b0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9522],{3905:function(e,t,a){a.d(t,{Zo:function(){return s},kt:function(){return u}});var n=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/dca334c0.2fb4223d.js b/content/assets/js/dca334c0.2fb4223d.js
new file mode 100644
index 0000000..307c96c
--- /dev/null
+++ b/content/assets/js/dca334c0.2fb4223d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[741],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/dd523e5f.5809f55a.js b/content/assets/js/dd523e5f.5809f55a.js
new file mode 100644
index 0000000..1683c05
--- /dev/null
+++ b/content/assets/js/dd523e5f.5809f55a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1310],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ddcb2691.e936cb8f.js b/content/assets/js/ddcb2691.e936cb8f.js
new file mode 100644
index 0000000..fdbd006
--- /dev/null
+++ b/content/assets/js/ddcb2691.e936cb8f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2625],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/de2333f9.0729d6c0.js b/content/assets/js/de2333f9.0729d6c0.js
new file mode 100644
index 0000000..8d8bf87
--- /dev/null
+++ b/content/assets/js/de2333f9.0729d6c0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7106],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/de85a0a7.0284a9e4.js b/content/assets/js/de85a0a7.0284a9e4.js
new file mode 100644
index 0000000..57b5f2f
--- /dev/null
+++ b/content/assets/js/de85a0a7.0284a9e4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4427],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ded32efe.d8c31560.js b/content/assets/js/ded32efe.d8c31560.js
new file mode 100644
index 0000000..285ecec
--- /dev/null
+++ b/content/assets/js/ded32efe.d8c31560.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8130],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return g}});var a=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/deffa85b.dcf95f72.js b/content/assets/js/deffa85b.dcf95f72.js
new file mode 100644
index 0000000..92a247d
--- /dev/null
+++ b/content/assets/js/deffa85b.dcf95f72.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7399],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/df9d0e7b.da99e674.js b/content/assets/js/df9d0e7b.da99e674.js
new file mode 100644
index 0000000..4bf8407
--- /dev/null
+++ b/content/assets/js/df9d0e7b.da99e674.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9693],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/dff2692f.cde316f0.js b/content/assets/js/dff2692f.cde316f0.js
new file mode 100644
index 0000000..80959e0
--- /dev/null
+++ b/content/assets/js/dff2692f.cde316f0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3012],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return k}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e0d9e15f.af53b031.js b/content/assets/js/e0d9e15f.af53b031.js
new file mode 100644
index 0000000..ae45dac
--- /dev/null
+++ b/content/assets/js/e0d9e15f.af53b031.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7053],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e151506d.2f4b0bb0.js b/content/assets/js/e151506d.2f4b0bb0.js
new file mode 100644
index 0000000..c9efd23
--- /dev/null
+++ b/content/assets/js/e151506d.2f4b0bb0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2493],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e1797e98.6c46bf1a.js b/content/assets/js/e1797e98.6c46bf1a.js
new file mode 100644
index 0000000..b348c6a
--- /dev/null
+++ b/content/assets/js/e1797e98.6c46bf1a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2686],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return k}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e1e94bbc.c37b6b30.js b/content/assets/js/e1e94bbc.c37b6b30.js
new file mode 100644
index 0000000..fa47fe6
--- /dev/null
+++ b/content/assets/js/e1e94bbc.c37b6b30.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9263],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e2886f4d.4b3b2871.js b/content/assets/js/e2886f4d.4b3b2871.js
new file mode 100644
index 0000000..3924e13
--- /dev/null
+++ b/content/assets/js/e2886f4d.4b3b2871.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4377],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e2a686c7.218a090b.js b/content/assets/js/e2a686c7.218a090b.js
new file mode 100644
index 0000000..61c2eb6
--- /dev/null
+++ b/content/assets/js/e2a686c7.218a090b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8031],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e2a8767f.f619da0a.js b/content/assets/js/e2a8767f.f619da0a.js
new file mode 100644
index 0000000..f449162
--- /dev/null
+++ b/content/assets/js/e2a8767f.f619da0a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3877],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e39bc689.2b929530.js b/content/assets/js/e39bc689.2b929530.js
new file mode 100644
index 0000000..9cea33f
--- /dev/null
+++ b/content/assets/js/e39bc689.2b929530.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[937],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return m}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/e494340d.f3927c30.js b/content/assets/js/e494340d.f3927c30.js
new file mode 100644
index 0000000..e225894
--- /dev/null
+++ b/content/assets/js/e494340d.f3927c30.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[119],{3905:function(e,t,a){a.d(t,{Zo:function(){return m},kt:function(){return k}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/e526d9fb.ce099b02.js b/content/assets/js/e526d9fb.ce099b02.js
new file mode 100644
index 0000000..721bbb1
--- /dev/null
+++ b/content/assets/js/e526d9fb.ce099b02.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4579],{3905:function(e,r,n){n.d(r,{Zo:function(){return p},kt:function(){return m}});var t=n(7294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e52fe1ed.32fd816e.js b/content/assets/js/e52fe1ed.32fd816e.js
new file mode 100644
index 0000000..632b51a
--- /dev/null
+++ b/content/assets/js/e52fe1ed.32fd816e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2682],{3905:function(e,o,n){n.d(o,{Zo:function(){return m},kt:function(){return u}});var t=n(7294);function i(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function r(e,o){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o&&(t=t.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e54bfd1f.762be9d5.js b/content/assets/js/e54bfd1f.762be9d5.js
new file mode 100644
index 0000000..41f7606
--- /dev/null
+++ b/content/assets/js/e54bfd1f.762be9d5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[6268],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e6a6cdb5.1cd13127.js b/content/assets/js/e6a6cdb5.1cd13127.js
new file mode 100644
index 0000000..3b91169
--- /dev/null
+++ b/content/assets/js/e6a6cdb5.1cd13127.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4869],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/e94dfc49.8d761b35.js b/content/assets/js/e94dfc49.8d761b35.js
new file mode 100644
index 0000000..bcf55e2
--- /dev/null
+++ b/content/assets/js/e94dfc49.8d761b35.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8308],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ea0aa512.60444206.js b/content/assets/js/ea0aa512.60444206.js
new file mode 100644
index 0000000..971c09e
--- /dev/null
+++ b/content/assets/js/ea0aa512.60444206.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5232],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ea5d6149.fa590761.js b/content/assets/js/ea5d6149.fa590761.js
new file mode 100644
index 0000000..c8f9012
--- /dev/null
+++ b/content/assets/js/ea5d6149.fa590761.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[792],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/eba79e96.3ae49e82.js b/content/assets/js/eba79e96.3ae49e82.js
new file mode 100644
index 0000000..7b1274c
--- /dev/null
+++ b/content/assets/js/eba79e96.3ae49e82.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[796],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/ebba64f8.53687746.js b/content/assets/js/ebba64f8.53687746.js
new file mode 100644
index 0000000..b78ddc6
--- /dev/null
+++ b/content/assets/js/ebba64f8.53687746.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4846],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return d}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ed08832e.b59935df.js b/content/assets/js/ed08832e.b59935df.js
new file mode 100644
index 0000000..2f3e91c
--- /dev/null
+++ b/content/assets/js/ed08832e.b59935df.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8049],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return s}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ed30e49e.86375822.js b/content/assets/js/ed30e49e.86375822.js
new file mode 100644
index 0000000..c97d00d
--- /dev/null
+++ b/content/assets/js/ed30e49e.86375822.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push. [...]
\ No newline at end of file
diff --git a/content/assets/js/ed8488f0.3cfbf429.js b/content/assets/js/ed8488f0.3cfbf429.js
new file mode 100644
index 0000000..846c8e3
--- /dev/null
+++ b/content/assets/js/ed8488f0.3cfbf429.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4857],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ede2ad5f.188b635c.js b/content/assets/js/ede2ad5f.188b635c.js
new file mode 100644
index 0000000..a9c941c
--- /dev/null
+++ b/content/assets/js/ede2ad5f.188b635c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[4687],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return f}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ee4ead70.90bcb663.js b/content/assets/js/ee4ead70.90bcb663.js
new file mode 100644
index 0000000..4f4331b
--- /dev/null
+++ b/content/assets/js/ee4ead70.90bcb663.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9295],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ef1ef56c.91737d13.js b/content/assets/js/ef1ef56c.91737d13.js
new file mode 100644
index 0000000..fdbae9f
--- /dev/null
+++ b/content/assets/js/ef1ef56c.91737d13.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[9550],{9348:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.5.1","label":"4.5.1","banner":"unmaintained","badge":true,"className":"docs-version-4.5.1","isLast":false,"docsSidebars":{"version-4.5.1/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.5.1/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation", [...]
\ No newline at end of file
diff --git a/content/assets/js/effdd252.fa07bb0f.js b/content/assets/js/effdd252.fa07bb0f.js
new file mode 100644
index 0000000..797e5ac
--- /dev/null
+++ b/content/assets/js/effdd252.fa07bb0f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2211],{3905:function(e,r,t){t.d(r,{Zo:function(){return p},kt:function(){return m}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f189ee4a.894dfabf.js b/content/assets/js/f189ee4a.894dfabf.js
new file mode 100644
index 0000000..4430488
--- /dev/null
+++ b/content/assets/js/f189ee4a.894dfabf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5576],{3905:function(e,n,t){t.d(n,{Zo:function(){return s},kt:function(){return d}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f1c1c644.03cd792d.js b/content/assets/js/f1c1c644.03cd792d.js
new file mode 100644
index 0000000..fe8da9b
--- /dev/null
+++ b/content/assets/js/f1c1c644.03cd792d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2279],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return k}});var a=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f1ec30d1.f6082093.js b/content/assets/js/f1ec30d1.f6082093.js
new file mode 100644
index 0000000..48fe703
--- /dev/null
+++ b/content/assets/js/f1ec30d1.f6082093.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[989],{8168:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.12.1","label":"4.12.1","banner":"unmaintained","badge":true,"className":"docs-version-4.12.1","isLast":false,"docsSidebars":{"version-4.12.1/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.12.1/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installati [...]
\ No newline at end of file
diff --git a/content/assets/js/f2d5ac7e.f8969d26.js b/content/assets/js/f2d5ac7e.f8969d26.js
new file mode 100644
index 0000000..98ef8d6
--- /dev/null
+++ b/content/assets/js/f2d5ac7e.f8969d26.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[2057],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f2d60081.366fca77.js b/content/assets/js/f2d60081.366fca77.js
new file mode 100644
index 0000000..f8682ba
--- /dev/null
+++ b/content/assets/js/f2d60081.366fca77.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1359],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f51846fe.7f255659.js b/content/assets/js/f51846fe.7f255659.js
new file mode 100644
index 0000000..c03e84c
--- /dev/null
+++ b/content/assets/js/f51846fe.7f255659.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[355],{3905:function(e,t,o){o.d(t,{Zo:function(){return k},kt:function(){return m}});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/f51baf8e.a28acd00.js b/content/assets/js/f51baf8e.a28acd00.js
new file mode 100644
index 0000000..042783c
--- /dev/null
+++ b/content/assets/js/f51baf8e.a28acd00.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1271],{3905:function(e,t,a){a.d(t,{Zo:function(){return u},kt:function(){return c}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f61db2e5.f0fc9bfb.js b/content/assets/js/f61db2e5.f0fc9bfb.js
new file mode 100644
index 0000000..739fd60
--- /dev/null
+++ b/content/assets/js/f61db2e5.f0fc9bfb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8669],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return g}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f69994f3.85696883.js b/content/assets/js/f69994f3.85696883.js
new file mode 100644
index 0000000..93ef49e
--- /dev/null
+++ b/content/assets/js/f69994f3.85696883.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[663],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/f74a5a7b.810fb406.js b/content/assets/js/f74a5a7b.810fb406.js
new file mode 100644
index 0000000..7067496
--- /dev/null
+++ b/content/assets/js/f74a5a7b.810fb406.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3912],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return g}});var l=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f7a674b2.628409da.js b/content/assets/js/f7a674b2.628409da.js
new file mode 100644
index 0000000..b5aae24
--- /dev/null
+++ b/content/assets/js/f7a674b2.628409da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5694],{1726:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"4.7.3","label":"4.7.3","banner":"unmaintained","badge":true,"className":"docs-version-4.7.3","isLast":false,"docsSidebars":{"version-4.7.3/docsSidebar":[{"type":"link","label":"Overview","href":"/docs/4.7.3/overview/","docId":"overview/overview"},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Installation", [...]
\ No newline at end of file
diff --git a/content/assets/js/f9a3b6b7.dcf8cc53.js b/content/assets/js/f9a3b6b7.dcf8cc53.js
new file mode 100644
index 0000000..55bf780
--- /dev/null
+++ b/content/assets/js/f9a3b6b7.dcf8cc53.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7150],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/f9a9d4c2.e6b0d9a9.js b/content/assets/js/f9a9d4c2.e6b0d9a9.js
new file mode 100644
index 0000000..7f9d021
--- /dev/null
+++ b/content/assets/js/f9a9d4c2.e6b0d9a9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8951],{3905:function(t,e,a){a.d(e,{Zo:function(){return m},kt:function(){return s}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/fb18728e.24a2e753.js b/content/assets/js/fb18728e.24a2e753.js
new file mode 100644
index 0000000..6ae2467
--- /dev/null
+++ b/content/assets/js/fb18728e.24a2e753.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[3898],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/fca08244.763eceba.js b/content/assets/js/fca08244.763eceba.js
new file mode 100644
index 0000000..9246573
--- /dev/null
+++ b/content/assets/js/fca08244.763eceba.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[1682],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/fcea3b45.c1e1ce4d.js b/content/assets/js/fcea3b45.c1e1ce4d.js
new file mode 100644
index 0000000..baeadc6
--- /dev/null
+++ b/content/assets/js/fcea3b45.c1e1ce4d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[7942],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/fd1c180b.54756ea0.js b/content/assets/js/fd1c180b.54756ea0.js
new file mode 100644
index 0000000..6bedd10
--- /dev/null
+++ b/content/assets/js/fd1c180b.54756ea0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[5056],{3905:function(e,t,a){a.d(t,{Zo:function(){return d},kt:function(){return k}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/ff260964.f534af46.js b/content/assets/js/ff260964.f534af46.js
new file mode 100644
index 0000000..7390e23
--- /dev/null
+++ b/content/assets/js/ff260964.f534af46.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[123],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return g}});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/ffb1bb68.2445a8db.js b/content/assets/js/ffb1bb68.2445a8db.js
new file mode 100644
index 0000000..1126127
--- /dev/null
+++ b/content/assets/js/ffb1bb68.2445a8db.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[643],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.pus [...]
\ No newline at end of file
diff --git a/content/assets/js/ffbf113e.d508b4c4.js b/content/assets/js/ffbf113e.d508b4c4.js
new file mode 100644
index 0000000..0fb6acd
--- /dev/null
+++ b/content/assets/js/ffbf113e.d508b4c4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[8663],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.pu [...]
\ No newline at end of file
diff --git a/content/assets/js/main.86210a10.js b/content/assets/js/main.86210a10.js
new file mode 100644
index 0000000..a05be75
--- /dev/null
+++ b/content/assets/js/main.86210a10.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.86210a10.js.LICENSE.txt */
+(self.webpackChunksite_3=self.webpackChunksite_3||[]).push([[179],{9782:function(e,t,n){"use strict";n.r(t),t.default={title:"Apache BookKeeper",url:"https://bookkeeper.staged.apache.org/",baseUrl:"/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.ico",organizationName:"apache",projectName:"bookkeeper",plugins:["docusaurus-plugin-sass"],presets:[["classic",{docs:{sidebarPath:"/home/runner/work/bookkeeper/bookkeeper/site3/website/sidebars.json",breadcrumbs:!1},blo [...]
\ No newline at end of file
diff --git a/content/assets/js/main.86210a10.js.LICENSE.txt b/content/assets/js/main.86210a10.js.LICENSE.txt
new file mode 100644
index 0000000..25dc9f7
--- /dev/null
+++ b/content/assets/js/main.86210a10.js.LICENSE.txt
@@ -0,0 +1,68 @@
+/*
+object-assign
+(c) Sindre Sorhus
+@license MIT
+*/
+
+/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
+ * @license MIT */
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
+/**
+ * Prism: Lightweight, robust, elegant syntax highlighting
+ *
+ * @license MIT <https://opensource.org/licenses/MIT>
+ * @author Lea Verou <https://lea.verou.me>
+ * @namespace
+ * @public
+ */
+
+/** @license React v0.20.2
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/content/assets/js/runtime~main.57aee014.js b/content/assets/js/runtime~main.57aee014.js
new file mode 100644
index 0000000..c3ba31c
--- /dev/null
+++ b/content/assets/js/runtime~main.57aee014.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,f,a,c,d,b={},t={};function n(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.m=b,n.c=t,e=[],n.O=function(f,a,c,d){if(!a){var b=1/0;for(u=0;u<e.length;u++){a=e[u][0],c=e[u][1],d=e[u][2];for(var t=!0,r=0;r<a.length;r++)(!1&d||b>=d)&&Object.keys(n.O).every((function(e){return n.O[e](a[r])}))?a.splice(r--,1):(t=!1,d<b&&(b=d));if(t){e.splice(u--,1);var o=c();voi [...]
\ No newline at end of file
diff --git a/content/blog/archive/index.html b/content/blog/archive/index.html
new file mode 100644
index 0000000..f532a42
--- /dev/null
+++ b/content/blog/archive/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Archive | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Archive | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Archive"><meta data-rh="true" property="og:description" content="Archive"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//blog/archive"><meta data-rh="true" name="docusaurus_locale" content="en"><me [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-20-github-workflow-for-bookkeeper-proposals/index.html b/content/bps/BP-20-github-workflow-for-bookkeeper-proposals/index.html
new file mode 100644
index 0000000..31bbc67
--- /dev/null
+++ b/content/bps/BP-20-github-workflow-for-bookkeeper-proposals/index.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-20: github workflow for bookkeeper proposals | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-20: github workflow for bookkeeper proposals | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.ap [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+is not used for documentation. This proposal is to propose moving the BP workflow from ASF wiki to Github. There are a couple of reasons for making this change:</p><ul><li>the ASF cwiki is disconnected from Github, and usually becomes out of date quickly. It isn&#x27;t really caught up with the code changes.
+Most of the content (documentation, contribution/release guides) are already in website, the ASF wiki is only used for tracking BPs and community meeting notes at this point.</li><li>Moving BP workflow from wiki to github will leverage the same github review process as code changes. So developers are easier to review BPs and make comments.</li><li>The BPs can eventually be used as a basis for documentation.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="proposed-changes">Pro [...]
+All the implementations of this BP should be listed and linked to this master issues.</li></ul></li><li>Write the proposal for this BP.<ul><li>Make a copy of the <a href="https://github.com/apache/bookkeeper/tree/master/site/bps/BP-template.md" target="_blank" rel="noopener noreferrer">BP-Template</a>. Name the BP file as <code>BP-&lt;number&gt;-[caption-of-proposal].md</code>.</li></ul><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx [...]
+of the thread is of the format <code>[DISCUSS] BP-&lt;number&gt;: capation of bookkeeper proposal</code>.</li><li>Once the BP is finalized, reviewed and approved by committers, the BP is accepted. The criteria for acceptance is <a href="http://bookkeeper.apache.org/bylaws.html" target="_blank" rel="noopener noreferrer">lazy majority</a>.</li><li>Committers merge the PR after a BP is accepted. The development for this BP moves forward with implementations. The BP should be updated if ther [...]
+implementing it.</li><li>After all the implementations for a given BP are completed, a new PR should be sent for changing the state of a BP:<ul><li>state: &quot;Adopted&quot;</li><li>release: set to the release that includes this BP.</li></ul></li><li>The final PR for changing BP state will be used as the criteria for marking a BP as completed.</li></ol></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-bord [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-21-new-api-close-inconsistencies/index.html b/content/bps/BP-21-new-api-close-inconsistencies/index.html
new file mode 100644
index 0000000..b84672e
--- /dev/null
+++ b/content/bps/BP-21-new-api-close-inconsistencies/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-21: New API close inconsistencies | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-21: New API close inconsistencies | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Rejected due to lack of agreement that the issues raised in the motivation are valid."><meta data-rh="true" property="og:description" content="Rejected due to lack of agreement t [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-22-separate-closing-ledgers-from-opening-ledgers/index.html b/content/bps/BP-22-separate-closing-ledgers-from-opening-ledgers/index.html
new file mode 100644
index 0000000..cc6e959
--- /dev/null
+++ b/content/bps/BP-22-separate-closing-ledgers-from-opening-ledgers/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-22: Separate closing ledgers from opening ledgers | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-22: Separate closing ledgers from opening ledgers | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Rejected due to lack of agreement that the issues raised in the motivation are valid."><meta data-rh="true" property="og:description" content="Rej [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-25-MovingChecksumToProto/index.html b/content/bps/BP-25-MovingChecksumToProto/index.html
new file mode 100644
index 0000000..b7a101e
--- /dev/null
+++ b/content/bps/BP-25-MovingChecksumToProto/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-25: MovingChecksumToProto--Refactor the checksum part of bookkeeper | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-25: MovingChecksumToProto--Refactor the checksum part of bookkeeper | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property= [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-26-move-distributedlog-core-library/index.html b/content/bps/BP-26-move-distributedlog-core-library/index.html
new file mode 100644
index 0000000..683c910
--- /dev/null
+++ b/content/bps/BP-26-move-distributedlog-core-library/index.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-26: Move distributedlog library as part of bookkeeper | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-26: Move distributedlog library as part of bookkeeper | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bo [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+It is tightly built over bookkeeper ledgers, and provides an easier-to-use abstraction and api to use. Applications
+can use <em>named</em> log streams rather than <em>numbered</em> ledgers to store their data. For example, users can use log streams
+as files to storge objects, checkpoints and other more general filesystem related use cases.</p><p>Moving the distributedlog core library as part of bookkeeper would have following benefits:</p><ul><li>It provides more generic &quot;reopenable&quot; log abstraction. It lowers the barrier for people to use bookkeeper to store
+data, and bring in more use cases into bookkeeper ecosystem.</li><li>Using ledgers to build continous log stream has been a pattern that been reimplemented multiple times at multiple places,
+from older projects like HDFS namenode log manager, Hedwig to the newer projects like DistributedLog and Pulsar.</li><li>Most of the distributedlog usage is using the distributedlog library which only depends Apache BookKeeper and there is no
+additional components introduced. To simplify those usages, it is better to release distributedlog library along with
+bookkeeper. It provides a better integration and release procedure.</li></ul><p>This proposal proposes &quot;moving the distributedlog library code base as part of bookkeeper and continuing the library
+development in bookkeeper&quot;.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><p>This is a new library moved in bookkeeper. It will <em>NOT</em> touch any existing bookkeeper modules and ledger api.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="proposed-changes">Proposed Changes<a class="hash-link" href="#proposed-changes" title="Direct link to head [...]
+in the maven build command. This allows users who only use ledger api skip building distributedlog module.</li><li>the distributedlog api, javadoc api and some tutorials will be integrated with current bookkeeper website to provide integrated experiences
+when users browse bookkeeper website.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="compatibility-deprecation-and-migration-plan">Compatibility, Deprecation, and Migration Plan<a class="hash-link" href="#compatibility-deprecation-and-migration-plan" title="Direct link to heading">​</a></h3><p>This doesn&#x27;t change existing modules or api. so no compatibility, deprecation and migration plan for bookkeeper users.</p><p>For distributedlog users, the distributedlog library w [...]
+API documentation will be updated to reflect this.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​</a></h3><p>N/A</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="rejected-alternatives">Rejected Alternatives<a class="hash-link" href="#rejected-alternatives" title="Direct link to heading">​</a></h3><p>N/A</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar">< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-27-new-bookkeeper-cli/index.html b/content/bps/BP-27-new-bookkeeper-cli/index.html
new file mode 100644
index 0000000..71c220f
--- /dev/null
+++ b/content/bps/BP-27-new-bookkeeper-cli/index.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-27: New BookKeeper CLI | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-27: New BookKeeper CLI | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-27-new-bookkeeper-cli"><met [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Instead a new module <code>bookkeeper-tools</code> will be introduced for developing the new BookKeeper CLI and a new script <code>bin/bookkeeper-cli</code> for executing CLI commands.</p><p>The new bookkeeper CLI follows the pattern that pulsar-admin is using. The CLI commandline format would be:</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34 [...]
+Doing this provides better testability, since the command logic is limited in one file rather than in a gaint shell class. Proposed layout can be found <a href="https://github.com/sijie/bookkeeper/tree/bookie_shell_refactor/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/commands" target="_blank" rel="noopener noreferrer">here</a>.</li><li>For each command: the logic of a command will be moved out of <code>BookieShell</code> to its own class <code>org.apache.bookkeeper.to [...]
+used for troubleshooting individual bookies). If we want to support a CLI using admin REST api, we can have a separate CLI called <code>bookkeeper-rest-ci</code> to use admin REST api for operating the cluster.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#motivation" class="table-of-contents__link toc-highlight">Motivation</a></li><li><a href="#public-interfaces" class="table-o [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-28-etcd-as-metadata-store/index.html b/content/bps/BP-28-etcd-as-metadata-store/index.html
new file mode 100644
index 0000000..ab9e7b7
--- /dev/null
+++ b/content/bps/BP-28-etcd-as-metadata-store/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-28: use etcd as metadata store | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-28: use etcd as metadata store | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-28-etcd-as- [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Ops need to understand both bookies and zookeeper.</li><li>ZooKeeper is the scalability bottleneck. ZooKeeper doesn’t scale writes as you add nodes. This means that if your bookkeeper
+cluster reaches the maximum write throughput that ZK can sustain, you’ve reached the maximum capacity of your cluster, and there’s nothing you
+can do (except buy bigger hardware for your special nodes).</li><li>ZooKeeper enforces you into its programming model. In general, its programming model is not too bad. However it becomes problematic when
+the scale goes up (e.g. the number of clients and watcher increase). The issues usually comes from <em>session expires</em> and <em>watcher</em>.</li></ol><ul><li><em>Session Expires</em>: For simplicity, ZooKeeper ties session state directly with connection state. So when a connection is broken, a session is usually expired (unless it reconnects before session expires), and when a session is expired, the underlying connection can not be used anymore, the application has to close the con [...]
+address concern #2 and #3 to some extend. And if you are running bookkeeper in k8s, there is already an Etcd instance available. It can become easier to run
+bookkeeper on k8s if we can use Etcd as the metadata store.</p><p>NOTE: this proposal has some overlaps on goals/vision with the distributed k/v store work (a separate BP will be sent out soon). However they are not conflicting with each other.
+Both proposals are exploring a better metadata storage solution for bookkeeper.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><p>A new metadata store module <code>metadata-store-etcd</code> will be added to bookkeeper. This module will be implementing all the required metadata interfaces:</p><p>These interfaces include:</p><ul><li>RegistrationClient</li><li> [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-29-metadata-store-api-module/index.html b/content/bps/BP-29-metadata-store-api-module/index.html
new file mode 100644
index 0000000..3eea0df
--- /dev/null
+++ b/content/bps/BP-29-metadata-store-api-module/index.html
@@ -0,0 +1,46 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-29: Metadata API module | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-29: Metadata API module | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-29-metadata-store-api-mod [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+rather than depending on zookeeper. This proposal is to organize the metadata interfaces and its implementations in a separate module and make
+bookkeeper implementation only depends on metadata interfaces, not depends on zookeeper. This would a few benefits:</p><ul><li>It allows supporting different metadata storages, without bringing in dependencies of metadata store implementation directly into
+bookkeeper-server module. The development of different metadata storage can be done without interleaving with each other.</li><li>It would define a clean module dependency between bookkeeper implementation and metadata api, and how bookkeeper load a different metadata
+implementation.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><p>A more generic setting <code>metadataServiceUri</code> is introduced for replacing implementation specific settings <code>zkServers</code> and <code>zkLedgersRootPath</code>.</p><p>A metadata service uri defines the location of a metadata storage. In zookeeper based implementation, the me [...]
+<code>zk://&lt;zkServers&gt;/&lt;zkLedgersRootPath&gt;</code>.</p><p>This new setting in bookie configuration will be like as below:</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">metadataServiceUri=zk://127.0.0. [...]
+<code>zkServers</code> and <code>zkLedgersRootPath</code>. All implementation specific settings should be considered moving to implementation itself.</p><p>The <code>metadataServiceUri</code> can also be used for replacing the need of configuring <code>ledgerManagerFactoryClass</code>, <code>registrationClientClass</code> and
+<code>registrationManagerClass</code>. It is unnecessarily complicated to configure multiple settings to load a specific metadata implementation.
+We can just use the <code>scheme</code> field in <code>metadataServiceUri</code> to resolve which metadata implementation to use. Using uri to resolve
+different driver or implementation is commonly seen at java world, for example, jdbc to support different database drivers. Also, distributedlog
+uses this pattern to load different metadata driver.</p><p>So in zookeeper based metadata implementation, the metadata service uri can be:</p><ul><li><code>zk+flat://127.0.0.1/ledgers</code>: the scheme is &quot;zk+flat&quot;. it means a zookeeper base metadata implementation and it uses flat ledger manager.</li><li><code>zk+hierarchical://127.0.0.1/ledgers</code>: the scheme is &quot;zk+hierarchical&quot;. it means a zookeeper base metadata implementation and it
+uses hierarchical ledger manager.</li><li><code>zk+longhierarchical://127.0.0.1/ledgers</code>: the scheme is &quot;zk+longhierarchical&quot;. it means a zookeeper base metadata implementation and it
+uses long hierarchical ledger manager.</li></ul><h4 class="anchor anchorWithStickyNavbar_mojV" id="metadata-stores">Metadata Stores<a class="hash-link" href="#metadata-stores" title="Direct link to heading">​</a></h4><p>Introduce a new directory called <code>metadata-stores</code> for storing all the metadata related modules. Under this directory, it will have following modules:</p><ul><li><code>api</code>: it is the metadata api module <code>metadata-store-api</code>. It contains all th [...]
+using zookeeper.</li></ul><p>If a new metadata implementation is added, a new directory will be created under <code>metadata-stores</code> to contain the implementation. For example, if we
+are adding <code>Etcd</code> as the metadata store. A <code>Etcd</code> directory will be created under <code>metadata-stores/etcd</code> to store the files that implement metadata
+interfaces using etcd client. And its module is named as <code>metadata-store-etcd</code>.</p><p>We then change bookkeeper-server to depend on <code>metadata-store-api</code> only.</p><p>This approach is same as other pluggable modules <code>stats-api</code> and <code>http-server</code>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="compatibility-deprecation-and-migration-plan">Compatibility, Deprecation, and Migration Plan<a class="hash-link" href="#compatibility-deprecation-and [...]
+No immediate deprecation.
+No migration is needed.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​</a></h3><p>This proposal is mostly around refactor. So existing test cases would cover this.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="rejected-alternatives">Rejected Alternatives<a class="hash-link" href="#rejected-alternatives" title="Direct link to heading">​</a></h3><p>N/A</p></div><div class="col col--2" [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-31-durability/index.html b/content/bps/BP-31-durability/index.html
new file mode 100644
index 0000000..5eb7d80
--- /dev/null
+++ b/content/bps/BP-31-durability/index.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-31: BookKeeper Durability (Anchor) | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-31: BookKeeper Durability (Anchor) | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-31- [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+This case <strong>may not be</strong>  detected by the auditor’s periodic ledger check. Given that we allow out of order write, that in the combination of 2 out of 3 to satisfy client, it is possible to have under replication in the middle of the ensemble entry. Hence ledgercheck is not going to find all under replication cases, on top of that,   periodic ledger check  is a complete sweep of the store, an very expensive and slow crawl hence defaulted to once a week run.</p><h3 class="anc [...]
+For this to cause any durability issues:</p><ul><li>Replication/Auditor mechanism is stopped or not running for some reason. (A stuck auditor will start a new one due to ZK)</li><li>One of bookies(B1) went down (crash or something)</li><li>B1’s Journal dir and all ledger dir got wiped.</li><li>B1 came back to life as a fresh bookie</li><li>Auditor is enabled  monitoring again</li></ul><p>At this point auditor doesn’t have capability to know that the B1 in the cluster is not the same B1 t [...]
+Option-1: A centralized process like auditor will be responsible for deleting metadata after each bookie deletes on disk data.
+Option-2: A decentralized, more complicated approach: Last bookie that deletes its on disk data, deletes the metadata too.
+I am sure there can be more ideas. Any path will need a detailed design and need to consider many corner cases.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="obvious-points-to-consider">Obvious points to consider:<a class="hash-link" href="#obvious-points-to-consider" title="Direct link to heading">​</a></h4><p>ZK as-is heavily loaded with BK metadata. Keeping these znodes around for more time ineeded puts more pressure on ZK.
+If a bookie is down for long time, what would be the delete policy for the metadata?
+There will be lots of corner case scenarios we need to deal with. For example:
+A bookie-1 hosting data for ledger-1  is down for long time
+Ledger-1 data has been replicated to other bookies
+Ledger-1 is deleted, and its data and metadata is clared.
+Now bookie-1 came back to life. Since our policy is ‘explicit state check delete’ bookie-1 can’t delete ledger-1 data as it can’t explicitly validate that the ledger-1 has been deleted.
+One possible solution: keep tomestones of deleted ledgers around for some duration. If a bookie is down for more than that duration, it needs to be decommissioned  and add as a new bookie.
+Enhance: Archival bit in the metadata to assist Two phase Deletes
+Main aim of this feature is to be as conservative as possible on the delete path. As explained in the stateful explicit deletes section, lack of ledgerId in the metadata means that ledger is deleted. A bug in the client code may erroneously delete the ledger. To protect from that, we want to introduce a archive/backedup bit. A separate backup/archival application can mark the bit after successfully backing up the ledger, and later on main client application will send the delete. If this  [...]
+If ZK is completely wiped, reconstruct entire data from bookie index files.
+If ZK is completely wiped, but snapshots are available, restore ZK from snapshots and built the delta from bookie index files.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="bit-rot-detection-bp-24">Bit Rot Detection (BP-24)<a class="hash-link" href="#bit-rot-detection-bp-24" title="Direct link to heading">​</a></h3><p>If the data stays on the disk for long time(years), it is possible to experience silent data degradation on the disk. In the current scenario we will not identify t [...]
+Corrupt first readable copy and make sure that the corruption is detected on the read path, and ultimately read must succeed after trying second replica.
+Corrupt packet after checksum calculation on the client and make sure that it is detected in the read path, and ultimately read fails as this is corruption at the source.
+After a write make sure that the replica is distributed across fault zones.
+Kill a bookie, make sure that the auditor detected and replicated all ledgers in that bookie according to allocation policy (across fault zones)</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="black-box-error-injection-chaos-monkey">Black box error injection (Chaos Monkey)<a class="hash-link" href="#black-box-error-injection-chaos-monkey" title="Direct link to heading">​</a></h3><p>While keeping longevity testing which is doing continues IO to the store introduce following errors.
+Kill random bookie and reads should continue.
+Kill random bookies keeping minimum fault zones to satisfy AQ Quorum during write workload.
+Simulate disk errors in random bookies and allow the bookie to go down and replication gets started.
+Make sure that the cluster is running in full durable state through the tools and monitoring built.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#motivation" class="table-of-contents__link toc-highlight">Motivation</a></li><li><a href="#durability-contract" class="table-of-contents__link toc-highlight">Durability Contract</a></li><li><a href="#work-grouping-in-the-order-of-prior [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-32-advisory-write-close/index.html b/content/bps/BP-32-advisory-write-close/index.html
new file mode 100644
index 0000000..2c8e079
--- /dev/null
+++ b/content/bps/BP-32-advisory-write-close/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-32: Advisory (optimistic) write close | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-32: Advisory (optimistic) write close | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/ [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-33-building-official-docker-imags/index.html b/content/bps/BP-33-building-official-docker-imags/index.html
new file mode 100644
index 0000000..8a54296
--- /dev/null
+++ b/content/bps/BP-33-building-official-docker-imags/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-33: Move releasing official docker images out of main repo | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-33: Move releasing official docker images out of main repo | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content=" [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+a release is successfully made. So we have to retag a release after a release, in order to update <code>Dockerfile</code> to build the docker
+image.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="proposed-changes">Proposed Changes<a class="hash-link" href="#proposed-changes" title="Direct link to heading">​</a></h3><p>Follow what <code>flink</code> is doing, and maintain the docker files outside of the bookkeeper main repo.</p><ul><li>Create an organization <code>asfbookkeeper-ecosystem</code> for hosting repos that related bookkeeper but not necessarily needed to be put in main repo.</li><li>Create a repo <code>docker- [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-34-cluster-metadata-checker/index.html b/content/bps/BP-34-cluster-metadata-checker/index.html
new file mode 100644
index 0000000..1b2ddfe
--- /dev/null
+++ b/content/bps/BP-34-cluster-metadata-checker/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-34: Cluster Metadata Checker | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-34: Cluster Metadata Checker | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-34-cluster-meta [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+in this case (1, 2, 3), (6, 7, 8), (11), (13), (16, 17, 18), (21, 22) are the sequences
+so the sequence groups are</p><p>{ firstSequenceStart - 1, lastSequenceStart - 6, sequenceSize - 3, sequencePeriod - 5 }, { firstSequenceStart - 11, lastSequenceStart - 13, sequenceSize - 1, sequencePeriod - 2 }, { firstSequenceStart - 16, lastSequenceStart - 16, sequenceSize - 3, sequencePeriod - 0 }, { firstSequenceStart - 21, lastSequenceStart - 21, sequenceSize - 2, sequencePeriod - 0 }</p><p>As you can notice to represent a SequenceGroup, two long values and two int values are neede [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-35-128-bits-support/index.html b/content/bps/BP-35-128-bits-support/index.html
new file mode 100644
index 0000000..2797973
--- /dev/null
+++ b/content/bps/BP-35-128-bits-support/index.html
@@ -0,0 +1,92 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-35: 128 bits support | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-35: 128 bits support | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-35-128-bits-support"><meta data [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Currently this is a signed <code>64 bit</code> number (effectively 63 bits). This method works
+great because we have a centralized metadata store for coordinating the id generation.
+However this method may not scale as the cluster size and number of ledgers grow.</p><p><a href="https://en.wikipedia.org/wiki/Globally_unique_identifier" target="_blank" rel="noopener noreferrer">Universally unique identifier - Wikipedia</a>
+is a preferred way to generate decentralized globally unique IDs and it takes <code>128 bits</code>.
+This method can scale well as it doesn&#x27;t need a centralized coordination. </p><p>This BP proposes the changes for increasing ledger id from <code>63 bits</code> to <code>128 bits</code>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="128-bits">128 bits<a class="hash-link" href="#128-bits" title="Direct link to heading">​</a></h3><p>Since there is no native support for <code>128 bits</code> in both Java and
+<a href="https://github.com/google/protobuf/issues/2180" target="_blank" rel="noopener noreferrer">Protobuf</a>, we have to break <code>128 bits</code>
+into 2 <code>64 bits</code> numbers for representing the <code>128 bits</code> id:</p><ul><li>ledger-id-msb: the most significant 64 bits, bit 64 - 127</li><li>ledger-id-lsb: the least significant 64 bits, bit 0 - 63</li></ul><p>For backward compatibility, the <code>ledger-id-lsb</code> is the current <code>64 bits</code> ledger-id.
+The <code>ledger-id-msb</code> will be added as a new field in both API and protocol. </p><p>I am proposing calling <code>ledger-id-msb</code> as <code>ledger-scope-id</code>. So the current 64bits <code>ledgerId</code> and
+the newly introduced 64bits <code>ledgerScopeId</code> together will be forming the new <code>128 bits</code> ledger id.</p><p>The default <code>ledgerScopeId</code> is <code>0</code>. That means any ledgers created prior to this change are allocated
+under scope <code>0</code>. Hence it maintains backward compatibility during upgrade. </p><p>The combination of <code>ledgerScopeId</code> and <code>ledgerId</code> forms the <code>128 bits</code> ledger id. We can introduce a
+hex representation of this <code>128 bits</code> ledger id - <code>ledgerQualifiedName</code> . This <code>ledgerQualifiedName</code> can
+be useful for CLI tooling, REST api and troubleshooting purpose. The API internally can convert
+<code>ledgerQualifiedName</code> to <code>ledgerScopeId</code> and <code>ledgerId</code>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><h4 class="anchor anchorWithStickyNavbar_mojV" id="api-change">API Change<a class="hash-link" href="#api-change" title="Direct link to heading">​</a></h4><p>The API will be introducing <code>ledgerScopeId</code> across the i [...]
+(the most significant 64 bits for 128 bits ledger id) on creating a ledger.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">public interface CreateAdvBuilder extends OpBuilder&lt;WriteHandle&gt; [...]
+(the most significant 64 bits for 128 bits ledger id) on opening a ledger.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">public interface OpenBuilder extends OpBuilder&lt;ReadHandle&gt; {</spa [...]
+(the most significant 64 bits for 128 bits ledger id) on deleting a ledger.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">public interface DeleteBuilder extends OpBuilder&lt;Void&gt; {</span>< [...]
+Optionally we can add option <code>—ledger-qualified-name</code> (the hex representation of 128 bits).
+Internally all the CLI tools will convert ledger qualified name to <code>ledgerId</code> and <code>ledgerScopeId</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="rest">REST<a class="hash-link" href="#rest" title="Direct link to heading">​</a></h4><ol><li>All ledger related endpoints will be adding a new parameter <code>ledger_scope_id</code>. </li><li><code>ListLedgerService</code>  only supports listing ledgers under a given ledger scope id.
+If <code>ledger_scope_id</code> is missing, it will be listing ledgers under scope <code>0</code>.</li></ol><h4 class="anchor anchorWithStickyNavbar_mojV" id="wire-protocol">Wire Protocol<a class="hash-link" href="#wire-protocol" title="Direct link to heading">​</a></h4><blockquote><p>There will be no plan for supporting 128 bits in v2 protocol, due to the limitation in v2 protocol.
+So any operations in v2 protocol with scope id not equal to 0  will be failed immediately with
+<code>ILLEGAL_OP</code> exceptions.</p></blockquote><p>All the request and response messages will be adding an optional field <code>optional int64 ledgerScopeId</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="entry-format">Entry Format<a class="hash-link" href="#entry-format" title="Direct link to heading">​</a></h4><p>Currently all the entries written to bookies are encoded in a certain format, including <code>metadata</code>,
+<code>digest code</code> and <code>payload</code>. The entry format is not <em>versioned</em>.</p><p>In order to support adding another field <code>ledgerScopeId</code> in the <code>metadata</code> section, we are introducing
+<code>version</code> in the entry format.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="entry-format-v1">Entry Format V1<a class="hash-link" href="#entry-format-v1" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-json theme-code-block"><div class="codeBlockContent_wNvx json"><pre tabindex="0" class="prism-code language-json codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span cl [...]
+be a negative value, which can be used for differentiating entry format v1 and v2.
+The version will be encoded into the first byte. The version will be used for describing
+the entry format.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="decoding-entry">Decoding Entry<a class="hash-link" href="#decoding-entry" title="Direct link to heading">​</a></h5><p>The pseudo code for decoding an entry will be described as followings:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:# [...]
+payload based on <a href="#entry-format">Entry Format</a>.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="ledger-storage">Ledger Storage<a class="hash-link" href="#ledger-storage" title="Direct link to heading">​</a></h5><h6 class="anchor anchorWithStickyNavbar_mojV" id="entrylogger">EntryLogger<a class="hash-link" href="#entrylogger" title="Direct link to heading">​</a></h6><ol><li>Methods in <code>EntryLogger</code> should be able to accept <code>ledgerScopeId</code> as a parame [...]
+based on <a href="#entry-format">Entry Format</a>.</li></ol><h6 class="anchor anchorWithStickyNavbar_mojV" id="entrymemtable">EntryMemTable<a class="hash-link" href="#entrymemtable" title="Direct link to heading">​</a></h6><p><code>ledgerScopeId</code> should be added as part of <code>EntryKey</code>.</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="indexpersistencemgr">IndexPersistenceMgr<a class="hash-link" href="#indexpersistencemgr" title="Direct link to heading">​</a></h6><p>Cu [...]
+directories - <code>&lt;msb-32bits-hex&gt;/&lt;lsb-32bits-hex&gt;/&lt;ledger-id-hex&gt;.idx</code>.</p><p>If <code>ledgerScopeId</code> is 0, it will be using existing scheme for storing and retrieving
+ledger index files.</p><p>If <code>ledgerScopeId</code> is not 0, that means the ledgers are produced by new clients that
+support 128-bits, those ledgers will be stored in a 4-level-hirechicy
+directories -
+<code>&lt;msb-32bits-hex-ledger-scope-id&gt;/&lt;lsb-32bits-hex-ledger-scope-id&gt;/&lt;msb-32bits-hex-ledger-id&gt;/&lt;lsb-32bits-hex-ledger-id&gt;</code>.</p><p>All the file info caches should be updated to use <code>&lt;ledgerScopeId, ledgerId&gt;</code>
+as index keys.</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="indexinmempagemgr">IndexInMemPageMgr<a class="hash-link" href="#indexinmempagemgr" title="Direct link to heading">​</a></h6><p>The LRU pages map will be updated to use <code>&lt;ledgerScopeId, ledgerId&gt;</code> as index
+keys.</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="dbledgerstorage">DBLedgerStorage<a class="hash-link" href="#dbledgerstorage" title="Direct link to heading">​</a></h6><p>Currently DBLedgerStorage use <code>&lt;ledgerId, entryId&gt;</code> as the index key for indexing entry
+locations for each entry.</p><p>Similar as <code>SortedLedgerStorage</code> and <code>InterleavedLedgerStorage</code>, for ledgers whose
+<code>ledgerScopeId</code> is 0, they will be using existing scheme for storing their entry locations.</p><p>For ledgers whose <code>ledgerScopeId</code> is not 0, they will be stored in a new rocksdb,
+whose index key will be <code>&lt;ledgerScopeId, ledgerId, entryId&gt;</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="metadata-store">Metadata Store<a class="hash-link" href="#metadata-store" title="Direct link to heading">​</a></h4><h5 class="anchor anchorWithStickyNavbar_mojV" id="ledgermanager">LedgerManager<a class="hash-link" href="#ledgermanager" title="Direct link to heading">​</a></h5><p>All the interfaces should be updated with accepting <code>ledgerScopeId</code> [...]
+for <code>&lt;ledgerScopeId, ledgerId&gt;</code>. </p><h6 class="anchor anchorWithStickyNavbar_mojV" id="zookeeper-ledger-manager">ZooKeeper Ledger Manager<a class="hash-link" href="#zookeeper-ledger-manager" title="Direct link to heading">​</a></h6><p>We need to introduce a LongLongHierchicalLedgerManager for storing metadata
+indexing by <code>&lt;ledgerScopeId, ledgerId&gt;</code>.</p><p>If <code>ledgerScopeId</code> is 0, then it will be falling back to <code>LongHierachicalLedgerManager</code>.
+So no behavior is changed.</p><p>If <code>ledgerScopeId</code> is not 0, those ledgers will be indexed in new hierarchy
+(possible under a different znode).</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="ledger-id-generation">Ledger ID generation<a class="hash-link" href="#ledger-id-generation" title="Direct link to heading">​</a></h6><p>When upgrading from 64bit to 128bits, we probably don&#x27;t need any centralized mechanism
+for generating ledger id. It can be implemented using UUID generation.</p><p>Especially since we are supporting 128bits by introducing <code>ledgerScopeId</code>. That means
+application of bookkeeper can decide its own way for generating their <code>scopeId</code>.
+An application or even bookkeeper client can generate its ledgerId using UUID generation,
+then breaks the 128 bits UUID into two parts, one serves as <code>ledgerScopeId</code> and the other
+one serves as <code>ledgerId</code>.</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="etcd">Etcd<a class="hash-link" href="#etcd" title="Direct link to heading">​</a></h6><p>Since Etcd has a better key/value presentation, we can basically just combine
+<code>&lt;ledgerScopeId, ledgerId&gt;</code> as the index key for storing ledger metadata in Etcd.
+Nothing is needed for special consideration.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="performance-concerns">Performance Concerns<a class="hash-link" href="#performance-concerns" title="Direct link to heading">​</a></h3><p>There shouldn&#x27;t be any performance difference when not using 128 bit ledger id
+(<code>ledgerScopeId</code> is omitted).</p><p>Performance concerns can be arised in following areas:</p><ul><li><strong>Wire Protocol</strong>: additional 9 bytes will be added per entry, one byte for version
+and 8 bytes for the msb of 128 bit ledger id</li><li><strong>Journal</strong>: additional 9 bytes will be added per entry (same as wire protocol). </li><li><strong>EntryLogger</strong>: additional 9 bytes will be added per entry (same as wire protocol)</li><li><strong>Memtable</strong>: additional 8 bytes will be added per indexed entry.</li><li><strong>FileInfo</strong>: there is no change to the index file format itself.</li><li><strong>IndexPersistenceManager</strong>: Files will be o [...]
+It shouldn&#x27;t be a big deal. </li><li><strong>IndexInMemoryManager (LedgerCache)</strong>: additional 8 bytes per index page.</li><li><strong>DbLedgerStorage</strong>: additional 8 bytes per entry for entry location.</li><li><strong>Metadata</strong>: on zookeeper, we need a 128 bit ledger manager, that means more znode
+hierarchy than 64 bit ledger manager. Etcd like key/value metadata store is probably
+more preferrable for 128 bit ledger manager.</li></ul><p>However increasing ledger id from 64 bits to 128 bits can get rid of the only remaining
+central point, since we don&#x27;t need to use zookeeper for ledger id generation. The id
+generation can become decentralized. </p><h3 class="anchor anchorWithStickyNavbar_mojV" id="proposed-changes">Proposed Changes<a class="hash-link" href="#proposed-changes" title="Direct link to heading">​</a></h3><p>All the required changes are described above. In summary, the changes can
+happen in following 2 phases:</p><ol><li>Ensure all components have <code>ledgerScopeId</code> added (both wire protocol, storage and such).
+Assuming <code>ledgerScopeId</code> will be 0. The changes can happen independently and ensure
+they are backward compatible with old clients.</li><li>Add <code>ledgerScopeId</code> into public API, so application can start using <code>ledgerScopeId</code>.
+After that, applications can use UUID to generate ledger id and break UUID into two parts,
+one is <code>ledgerScopeId</code>, while the other one is <code>ledgerId</code>.</li></ol><h3 class="anchor anchorWithStickyNavbar_mojV" id="compatibility-deprecation-and-migration-plan">Compatibility, Deprecation, and Migration Plan<a class="hash-link" href="#compatibility-deprecation-and-migration-plan" title="Direct link to heading">​</a></h3><p>All the changes are backward compatible, since we are doing the changes by adding an optional
+field <code>ledgerScopeId</code>. Old clients can still operating in the mode of <code>ledgerScopeId == 0</code>.
+The new application can activate the feature by starting using <code>ledgerScopeId</code> in the new API.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​</a></h3><ol><li>Add unit tests for individual components on introducing <code>ledgerScopeId</code>.</li><li>Add backward compatibility tests for individual components.</li><li>Add end-to-end integration tests for introducing <code>ledgerSco [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-36-stats-documentation-annotation/index.html b/content/bps/BP-36-stats-documentation-annotation/index.html
new file mode 100644
index 0000000..d57e7a2
--- /dev/null
+++ b/content/bps/BP-36-stats-documentation-annotation/index.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-36: Stats documentation annotation | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-36: Stats documentation annotation | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-36- [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+and what are the important metrics. Currently bookkeeper doesn&#x27;t provide any metrics page for guiding people on monitoring bookkeeper services.</p><p>In order to help people on this, we need to provide a few documentation pages about metrics. However if we just write such pages, those pages
+can quickly get out-of-dated when code is changed. The proposal here is to seek a programming way for generating metrics related pages.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><p>Introduced a <code>StatsDoc</code> annotation.</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" [...]
+for documenting all annotated metrics.</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">bin/stats-doc-gen</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" c [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-37-conf-documentation/index.html b/content/bps/BP-37-conf-documentation/index.html
new file mode 100644
index 0000000..9681805
--- /dev/null
+++ b/content/bps/BP-37-conf-documentation/index.html
@@ -0,0 +1,43 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-37: Improve configuration management for better documentation | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-37: Improve configuration management for better documentation | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" con [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+settings are well documented, and the configuration file we ship in each release
+is in-sync with the code itself.</p><p>However maintaining things in-sync is non-trivial. This proposal is exploring
+a new way to manage configuration settings for better documentation.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><ol><li>Introduced <code>ConfigKey</code> for defining a configuration key. A configuration key
+will include informations, such as required/optional, deprecated, documentation
+and etc.</li></ol><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">public class ConfigKey {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    /**</span><b [...]
+<code>ConfigDef</code> - it defines the keys for a configuration. </p><p>The <code>ConfigDef</code> will be generated via <code>ConfigDef.of(Configuration.class)</code>. It will retrieve
+all the static fields of <code>ConfigKey</code> defined in the configuration class and build the configuration
+definition.</p><p>The <code>ConfigDef</code> will also provide a <code>save</code> method for saving the configuration definition
+as a configuration file.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="example">Example<a class="hash-link" href="#example" title="Direct link to heading">​</a></h3><p>Following is an example how to use <code>ConfigKey</code> and <code>ConfigKeyGroup</code> to organize
+configuration settings.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">// Ledger Storage Settings</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style [...]
+validate if a configuration instance is valid.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">// generate config def</span><br></span><span class="token-line" style="color:#393A34"><span class= [...]
+It doesn&#x27;t change the public interfaces for existing configuration. So there is nothing
+to deprecate and migrate.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​</a></h3><p>Existing testing is good enough to cover code changes. No new tests are needed.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="rejected-alternatives">Rejected Alternatives<a class="hash-link" href="#rejected-alternatives" title="Direct link to heading">​</a></h3><p>Alternatively, we have to manually m [...]
+when a new configuration setting is added.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#motivation" class="table-of-contents__link toc-highlight">Motivation</a></li><li><a href="#public-interfaces" class="table-of-contents__link toc-highlight">Public Interfaces</a></li><li><a href="#proposed-changes" class="table-of-contents__link toc-highlight">Proposed Changes</a></li><li><a  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-38-bookie-endpoint-discovery/index.html b/content/bps/BP-38-bookie-endpoint-discovery/index.html
new file mode 100644
index 0000000..c2174d3
--- /dev/null
+++ b/content/bps/BP-38-bookie-endpoint-discovery/index.html
@@ -0,0 +1,47 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-38: Publish Bookie Service Info on Metadata Service | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-38: Publish Bookie Service Info on Metadata Service | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookke [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+the main BookKeeper binary RPC service.
+Discovery of the TCP address is implicit, because the <em>id</em> of the bookie is made of the same host:port that point to the TCP address of the Bookie service.</p><p>With this proposal we are now introducing a way for the Bookie to advertise the services it exposes, basically the Bookie will be able to store on the Metadata Service a structure that describes the list of  <em>available services</em>.</p><p>We will also allow to publish a set of additional unstructured properties in for [...]
+exposed by a Bookie:</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">interface BookieServiceInfo {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    class Endpoint {</sp [...]
+advertise the services:</p><p>in RegistrationManager class the <strong>registerBookie</strong> method </p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">void registerBookie(String bookieId, boolean readOnly)</span>< [...]
+the BookieServiceInfo structure.</p><p>For the ZooKeeper based implementation we are going to store such information in Protobuf binary format, as currently this is the format used for every other kind of metadata (the example here is in JSON-like for readability purposes):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8f [...]
+So we are not storing on the Metadata Service information about the internal state of the server: if you know the address of an HTTP endpoint you can use the REST API to query the Bookie for its state.</p><p>These properties may change during the lifetime of a Bookie, think about a configuration (change network address) or a dynamic assigned DNS name.</p><p>It is better not to expose the version of the Bookie, if the client wants to use particular features of the Bookie this should be im [...]
+&quot;endpoints&quot;: <!-- -->[
+{
+&quot;name&quot;: &quot;bookie&quot;,
+&quot;hostname&quot;: &quot;hostname-from-bookieid&quot;,
+&quot;port&quot;: port-from-bookieid,
+&quot;protocol&quot;: &quot;bookie-rpc&quot;
+}
+]<!-- -->
+}</p><p>This information is enough in order to use the RPC service.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​</a></h3><p>New unit tests will be added to cover all of the code changes.
+No need for additional integration tests.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="rejected-alternatives">Rejected Alternatives<a class="hash-link" href="#rejected-alternatives" title="Direct link to heading">​</a></h3><h4 class="anchor anchorWithStickyNavbar_mojV" id="adding-a-new-set-of-znodes">Adding a new set of znodes<a class="hash-link" href="#adding-a-new-set-of-znodes" title="Direct link to heading">​</a></h4><p>For the ZooKeeper implementation we are not introducing [...]
+It is exceptional to rewrite the Cookie, like when adding a new data directory.
+In some environments it is common to have a new network address after a restart or to change the configuration and enable a new service or feature, and you cannot rewrite the Cookie at each restart: by design every change to the Cookie should be manual or controlled by an external entity other than the Bookie itself.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#motivation" clas [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-41-bookieid/index.html b/content/bps/BP-41-bookieid/index.html
new file mode 100644
index 0000000..644afd9
--- /dev/null
+++ b/content/bps/BP-41-bookieid/index.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-41: Separate BookieId from Bookie Network Address | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-41: Separate BookieId from Bookie Network Address | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+The client uses this information to connect to the bookies and retrieve ledger data.</p><p>So <em>the identity of a bookie is bound to the network address</em> of the primary endpoint of the Bookie: the &#x27;<strong>bookie-rpc</strong>&#x27; endpoint in terms of <a href="/bps/BP-38-bookie-endpoint-discovery/">BP-38</a></p><p>Limits of current version, because:</p><ul><li>You cannot easily change the network address of a Bookie: a manual intervention is needed.</li><li>The Bookie cannot  [...]
+See the paragraphs below for the details. </p><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><p>We are introducing a new class BookieId that is simply a wrapper for a String.</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#39 [...]
+This will break source and binary compatibility for Java clients, applications that use LedgerMetadata (usually for debug or for tools) will have to be recompiled.</p><p>The serialized representation of a BookieSocketAddress, both for LedgerMetadata and Bookie Registration, is a simple String on ZooKeeper: this change is not about the format of data stored on Metadata Service.</p><p>It is simply a pure refactor of Java interfaces.</p><p>We have to introduce an internal API, <strong>Booki [...]
+built by the serialized representation of the BookieSocketAddress (hostname:port or ip:port)</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">final class BookieSocketAddress {</span><br></span><span class="token-li [...]
+BookieAddressResolver, in order to map a BookieId to the BookieSocketAddress and the BookieSocketAddress to the network location.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="details-on-the-proposed-changes">Details on the proposed Changes<a class="hash-link" href="#details-on-the-proposed-changes" title="Direct link to heading">​</a></h3><h4 class="anchor anchorWithStickyNavbar_mojV" id="bookieid-validation">BookieId validation<a class="hash-link" href="#bookieid-validation" ti [...]
+This change will be visible both on the legacy LedgerHandle API and on the new WriteHandle/ReadHandle API, basically because the new API is only a wrapper over the LedgerHandle API.</p><p>When the BookKeeper client connects to a bookie (see <strong>PerChannelBookieClient</strong>) it uses the BookieAddressResolver interface to get the current BookieSocketAddress of the Bookie.
+The key of the Connection Pool inside the BookieClient will be BookieId and no more BookieSocketAddress. </p><h4 class="anchor anchorWithStickyNavbar_mojV" id="disabling-bookieaddressresolver">Disabling BookieAddressResolver<a class="hash-link" href="#disabling-bookieaddressresolver" title="Direct link to heading">​</a></h4><p>Using the BookieServiceInfo abstraction needs additional accesses to the Metadata Service (usually ZooKeeper) and this comes with a cost especially during the boot [...]
+In this case the BookieAddressResolver implementation will be a simple conversion from the BookieId, assuming the 4.11 format hostname:port.</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">enableBookieAddressResol [...]
+If you set this option then the Bookie will advertise itself on MetadataService using the configured id, and publish the &#x27;bookie-rpc&#x27; endpoint as configured by
+the <strong>advertisedAddress</strong> configuration option and the other network related options.
+This BookieId will be present only in the configuration file and it is the key to lookup the <em>Cookie</em> on the MetadataService.
+Inadvertently changing the BookieId will prevent the Bookie to boot as it won&#x27;t find a matching Cookie.
+There is no need to store the BookieId on the cookie or persist it on the local storage (ledgers, indexes or journal directories).</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="auditor-and-replication-changes">Auditor and Replication Changes<a class="hash-link" href="#auditor-and-replication-changes" title="Direct link to heading">​</a></h4><p>The Auditor deals with LedgerMetadata and so it will simply work with BookieIds and not with BookieSocketAddress.
+When the Auditor needs to connect to a Bookie it will use the BookieAddressResolver to get the current address of the Bookie. </p><h4 class="anchor anchorWithStickyNavbar_mojV" id="bookie-garbage-collection-changes">Bookie Garbage Collection Changes<a class="hash-link" href="#bookie-garbage-collection-changes" title="Direct link to heading">​</a></h4><p>The Bookie decides to reclaim space by looking into LedgerMetadata and checking that a given ledger does not exist anymore.
+It will use its own local BookieId instead of the BookieSocketAddress as expected.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="tools-changes">Tools changes<a class="hash-link" href="#tools-changes" title="Direct link to heading">​</a></h4><p>All of the tools that deal with LedgerMetadata will use BookieId instead of BookieSocketAddress, in general this fact will allow to use free forn BookieIDs,
+instead of hostname:port pairs (we had validations on tools that helped the user to use always BookieIds in hostname:port form).</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="rest-api-changes">REST API Changes<a class="hash-link" href="#rest-api-changes" title="Direct link to heading">​</a></h4><p>In the REST API we will deal with BookieIds and not with BookieSocketAddresses anymore, the change will be straighforward and compatible with current API.
+When new custom BookieIDs will be used then they will appear on the REST API as well, but this will be expected by users.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="compatibility-deprecation-and-migration-plan">Compatibility, Deprecation, and Migration Plan<a class="hash-link" href="#compatibility-deprecation-and-migration-plan" title="Direct link to heading">​</a></h3><p>The proposed change will be compatible with all existing clients and bookies as far as you still use Booki [...]
+The Bookie by default will continue to use as BookieID a compatible value computed exactly as in version 4.11.
+Incompatibility will start as soon as you enable custom BookieIDs on the bookies, from that point clients and old Auditors won&#x27;t be able to deal with new bookies.
+New clients will always be able to connect and use legacy bookies.</p><p>Custom EnsemblePlacementPolicies must be adapted to the new interfaces but the change will usually as simple as just replacing BookieSocketAdress with BookieId.
+No need to change address to rack mapping scripts, as they will still deal with raw DNS hostnames and not with BookieIds.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​</a></h3><p>New unit tests will be added to cover all of the code changes.
+No need for additional integration tests.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="rejected-alternatives">Rejected Alternatives<a class="hash-link" href="#rejected-alternatives" title="Direct link to heading">​</a></h3><h4 class="anchor anchorWithStickyNavbar_mojV" id="make-bookiesocketaddress-an-abstract-class">Make BookieSocketAddress an abstract class<a class="hash-link" href="#make-bookiesocketaddress-an-abstract-class" title="Direct link to heading">​</a></h4><p>In orde [...]
+But this way it won&#x27;t be easy to understand where we are using a &quot;bookie id&quot; and when we are referring to a network address.
+The BookieAddressResolver interface would be needed anyway and it should deal with pure BookieIds and BookieSocketAddress instance that are already resolved to
+a network address.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="force-a-specific-format-like-uuid-to-custom-bookieid">Force a specific format (like UUID) to custom BookieId<a class="hash-link" href="#force-a-specific-format-like-uuid-to-custom-bookieid" title="Direct link to heading">​</a></h4><p>The is no need to force the BookieId to use a fixed format, like a UUID or other form of standard ID scheme.
+Probably new IDs will include the region/availability zone information in order to simplify EnsemblePlacement policies (no more need to pass from DNS to switch mappers) and we cannot know now all of the usages of this parameter.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#motivation" class="table-of-contents__link toc-highlight">Motivation</a></li><li><a href="#public-interfac [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-42-new-api-list-ledgers/index.html b/content/bps/BP-42-new-api-list-ledgers/index.html
new file mode 100644
index 0000000..a237c77
--- /dev/null
+++ b/content/bps/BP-42-new-api-list-ledgers/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-42: New Client API - list ledgers | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-42: New Client API - list ledgers | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-42-ne [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+For example, it does not expose a method to list available ledgers, comparable to <code>BookKeeperAdmin#listLedgers()</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="ledgers-listing">Ledgers listing<a class="hash-link" href="#ledgers-listing" title="Direct link to heading">​</a></h4><p>The goal here is to extend the Client API for listing ledgers. Moreover current method  <code>BookKeeperAdmin#listLedgers()</code> does not report errors from the metadata driver; for instanc [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-43-gradle-migration/index.html b/content/bps/BP-43-gradle-migration/index.html
new file mode 100644
index 0000000..67ad80b
--- /dev/null
+++ b/content/bps/BP-43-gradle-migration/index.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-43: Gradle migration | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-43: Gradle migration | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-43-gradle-migration"><meta data [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+mvn clean package -DskipTests while a gradle counterpart
+<code>./gradlew clean jar</code> completes in 40 seconds on the same hardware. Using the gradle build cache.</li><li>Incremental build- Gradle provides better incremental build support. Subsequent builds run in very little time.</li><li>Caching of tests execution - Gradle build cache also keeps track of test successes with respect to the dependencies and can do test retries of just what has failed.</li><li>Better handling of multi module projects - Bookkeeper is a multi module project wh [...]
+While in case of maven changed modules had to be built explicitly in order for the changes to be picked up.
+For instance If a change is made in <code>bookkeeper-common</code> with gradle
+<code>./gradlew bookkeeper-server:test</code> will pick up those changes and run tests based on those changes.
+While on the other hands for maven <code>mvn  install bookkeeper-common</code> had to run before running mvn build <code>bookkeeper-server</code></li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="public-interfaces">Public Interfaces<a class="hash-link" href="#public-interfaces" title="Direct link to heading">​</a></h3><p>N/A</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="proposed-changes">Proposed Changes<a class="hash-link" href="#proposed-changes" title="Direct link to [...]
+After the end of  this phase CI/CD pipeline for BookKeeper still remains to be the existing one.
+A sample PR may look like this.<ul><li>Timeline: 1.5 Week</li></ul></li><li>Phase 2: Spin off new CI job for gradle which would run in parallel with existing maven based one.
+In this phase any dependency upgrade should be done at both maven as well as gradle based build system.<ul><li>Timeline: 1 Week</li></ul></li><li>Phase 3: Gradle based build should be enhanced to do full CI/CD including release and a minor release should be done completely using gradle based CI/CD pipeline.
+Update release docuementation as how to do release using gradle based pipeline, update information on how to setup major IDE such as IntelliJ. <ul><li>Timeline: 1 Week</li></ul></li><li>Phase 4: Shut down maven based CI/CD pipeline. Remove all pom.xml files<ul><li>Timeline: Based on confidence on the new system by the community</li></ul></li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="test-plan">Test Plan<a class="hash-link" href="#test-plan" title="Direct link to heading">​< [...]
+build is running exact same set of tests as maven based build.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="rejected-alternatives">Rejected Alternatives<a class="hash-link" href="#rejected-alternatives" title="Direct link to heading">​</a></h3><p>N/A</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#motivation" class="table-of-contents__link toc-highlight">Motivation</a></l [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-44-use-metrics/index.html b/content/bps/BP-44-use-metrics/index.html
new file mode 100644
index 0000000..4dc98e2
--- /dev/null
+++ b/content/bps/BP-44-use-metrics/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-44: USE metrics | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-44: USE metrics | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-44-use-metrics"><meta data-rh="true" name [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Use proc filesystem: not portable, only thread level utilization metrics.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="per-component-instance-labels">Per Component Instance labels<a class="hash-link" href="#per-component-instance-labels" title="Direct link to heading">​</a></h4><p>All journal metrics get the additional label of <code>journalIndex</code>.
+All DbLedgerStorage metrics get the additional label of <code>ledgerDir</code>.</p><p>This does not prevent aggregating metrics of the journal or DbLedgerStorage as a whole but does allow for drill-down.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="new-metrics-list">New Metrics List<a class="hash-link" href="#new-metrics-list" title="Direct link to heading">​</a></h3><p>The following new metrics to be added to cover saturation/utilization or blindspots.</p><p>Saturation:</p><ul> [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-46-run-without-journal/index.html b/content/bps/BP-46-run-without-journal/index.html
new file mode 100644
index 0000000..21f3f2f
--- /dev/null
+++ b/content/bps/BP-46-run-without-journal/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-46: Running without the journal | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-46: Running without the journal | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-46-run-wi [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/bps/BP-template/index.html b/content/bps/BP-template/index.html
new file mode 100644
index 0000000..1d3c234
--- /dev/null
+++ b/content/bps/BP-template/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BP-XYZ: caption of bookkeeper proposal | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BP-XYZ: caption of bookkeeper proposal | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Motivation"><meta data-rh="true" property="og:description" content="Motivation"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//bps/BP-t [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/bookkeeper-proposals/index.html b/content/community/bookkeeper-proposals/index.html
new file mode 100644
index 0000000..5488637
--- /dev/null
+++ b/content/community/bookkeeper-proposals/index.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Proposals | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="BookKeeper Proposals | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="This page describes a proposed BookKeeper Proposal (BP) process for proposing a major change to BookKeeper."><meta data-rh="true" property="og:description" content="This page describes a proposed BookKeeper Pro [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+All the implementations of this BP should be listed and linked to this master issues.</li></ul></li><li>Write the proposal for this BP. There are two ways to write a bookkeeper proposal. You can choose to write a BP using markdown, or write a BP
+using Google Doc.<div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">- Markdown</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    - Make a copy of the [BP-Template](https://git [...]
+of the thread is of the format <code>[DISCUSS] BP-&lt;number&gt;: capation of bookkeeper proposal</code>.</li><li>Once the BP is finalized, reviewed and approved by committers, the BP is accepted. The criteria for acceptance is <a href="http://bookkeeper.apache.org/bylaws.html" target="_blank" rel="noopener noreferrer">lazy majority</a>.<ol><li>Committers merge the PR after a BP is accepted. The development for this BP moves forward with implementations. The BP should be updated if there [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/coding-guide/index.html b/content/community/coding-guide/index.html
new file mode 100644
index 0000000..fc5ff7d
--- /dev/null
+++ b/content/community/coding-guide/index.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Coding guide | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Coding guide | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="These guidelines are meant to encourage consistency and best practices among people working on Apache BookKeeper code base."><meta data-rh="true" property="og:description" content="These guidelines are meant to encourage consi [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+They should be observed unless there is compelling reason to ignore them. We are also using checkstyle to enforce coding style.
+Please refer to our <a href="https://github.com/apache/bookkeeper/blob/master/buildtools/src/main/resources/bookkeeper/checkstyle.xml" target="_blank" rel="noopener noreferrer">checkstyle rules</a> for all enforced checkstyle rules.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="java">Java<a class="hash-link" href="#java" title="Direct link to heading">​</a></h3><p>Apache BookKeeper code should follow the <a href="http://www.oracle.com/technetwork/java/javase/documentation/codecon [...]
+<code>@Test(timeout=60000)</code></li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="configuration">Configuration<a class="hash-link" href="#configuration" title="Direct link to heading">​</a></h3><ul><li>Names should be thought through from the point of view of the person using the config.</li><li>The default values should be thought as best value for people who runs the program without tuning parameters.</li><li>All configuration settings should be added to <a href="https://gi [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/contributing/index.html b/content/community/contributing/index.html
new file mode 100644
index 0000000..b34d8b3
--- /dev/null
+++ b/content/community/contributing/index.html
@@ -0,0 +1,46 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Contribution guide | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Contribution guide | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="The Apache BookKeeper community welcomes contributions from anyone with a passion for distributed systems! BookKeeper has many different opportunities for contributions --"><meta data-rh="true" property="og:descrip [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+write new examples/tutorials, add new user-facing libraries, work on the core storage components, integrate with different metadata stores (ZooKeeper, Etcd etc), or
+participate on the documentation effort.</p><p>We use a review-then-commit workflow in BookKeeper for all contributions.</p><p><strong>For larger contributions or those that affect multiple components:</strong></p><ol><li><strong>Engage</strong>: We encourage you to work with the BookKeeper community on the <a href="https://github.com/apache/bookkeeper/issues" target="_blank" rel="noopener noreferrer">Github Issues</a> and <a href="/community/mailing-lists">developer’s mailing list</a> t [...]
+&quot;buildtools/src/main/resources/bookkeeper/checkstyle.xml&quot; within
+your repository.</li><li>Check the box for &quot;Store relative to project location&quot;, and click
+&quot;Next&quot;.</li><li>Configure the &quot;checkstyle.suppressions.file&quot; property value to
+&quot;suppressions.xml&quot;, and click &quot;Next&quot;, then &quot;Finish&quot;.</li></ol></li><li>Select &quot;BookKeeper&quot; as the only active configuration file, and click &quot;Apply&quot; and
+&quot;OK&quot;.</li><li>Checkstyle will now give warnings in the editor for any Checkstyle
+violations.</li></ol><p>You can also scan an entire module by opening the Checkstyle tools window and
+clicking the &quot;Check Module&quot; button. The scan should report no errors.</p><p>Note: Selecting &quot;Check Project&quot; may report some errors from the archetype
+modules as they are not configured for Checkstyle validation.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="eclipse">Eclipse<a class="hash-link" href="#eclipse" title="Direct link to heading">​</a></h5><p>Use a recent Eclipse version that includes m2e. Currently we recommend Eclipse Neon.
+Start Eclipse with a fresh workspace in a separate directory from your checkout.</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="initial-setup">Initial setup<a class="hash-link" href="#initial-setup" title="Direct link to heading">​</a></h6><ol><li><p>Import the bookkeeper projects</p><p>File
+-&gt; Import...
+-&gt; Browse to the directory you cloned into and select &quot;bookkeeper&quot;
+-&gt; make sure all bookkeeper projects are selected
+-&gt; Finalize</p></li></ol><p>You now should have all the bookkeeper projects imported into eclipse and should see no compile errors.</p><h6 class="anchor anchorWithStickyNavbar_mojV" id="checkstyle-1">Checkstyle<a class="hash-link" href="#checkstyle-1" title="Direct link to heading">​</a></h6><p>Eclipse supports checkstyle within the IDE using the Checkstyle plugin.</p><ol><li>Install the <a href="https://marketplace.eclipse.org/content/checkstyle-plug" target="_blank" rel="noopener no [...]
+script and types the information needed by the script.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="contributor-license-agreement">Contributor License Agreement<a class="hash-link" href="#contributor-license-agreement" title="Direct link to heading">​</a></h3><p>If you are merging a larger contribution, please make sure that the contributor has an ICLA on file with the Apache Secretary. You can view the list of committers <a href="http://home.apache.org/phonebook.html?unix=commi [...]
+the static content is generated by CI job and merged into the <code>asf-site</code> branch.</p><p>Follow the <a href="https://github.com/apache/bookkeeper/tree/master/site" target="_blank" rel="noopener noreferrer">README</a> for making contributions to the website.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#engage" class="table-of-contents__link toc-highlight">Engage</a><ul> [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/issue-report/index.html b/content/community/issue-report/index.html
new file mode 100644
index 0000000..b507645
--- /dev/null
+++ b/content/community/issue-report/index.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Issue report | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Issue report | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="To report an issue, you will need to create a New Issue."><meta data-rh="true" property="og:description" content="To report an issue, you will need to create a New Issue."><meta data-rh="true" property="og:url" content="https: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Be aware that resolving your issue may require <strong>your participation</strong>. Please be willing and prepared to aid the developers in finding the actual cause of the issue so that they can develop a comprehensive solution.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="before-creating-a-new-issue">Before creating a new Issue:<a class="hash-link" href="#before-creating-a-new-issue" title="Direct link to heading">​</a></h2><ul><li>Search for the issue you want to report, it ma [...]
+for a given release. Please only mark this issue as <em>blocker</em> only when it is a real blocker for a given release. If you have no idea about this, just leave
+it as empty.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="status">Status<a class="hash-link" href="#status" title="Direct link to heading">​</a></h4><p>If an issue is assigned to a contributor, that means there is already a contributor working on it. If an issue is unassigned, you can pick this up by assigning
+it to yourself (for committers), or comment on the issue saying you would like to give it a try.</p><p>If an issue is not an issue anymore, close it and mark it as <code>status/wontfix</code>.</p><p>All the issues marked as <code>status/help-needed</code> are good candidates for new contributors to start with.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="bookkeeper-proposal">BookKeeper Proposal<a class="hash-link" href="#bookkeeper-proposal" title="Direct link to heading">​</a>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/licensing/index.html b/content/community/licensing/index.html
new file mode 100644
index 0000000..620e7ff
--- /dev/null
+++ b/content/community/licensing/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Third party dependencies and licensing | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Third party dependencies and licensing | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="The bookkeeper project ships one source distribution and two binary distributions."><meta data-rh="true" property="og:description" content="The bookkeeper project ships one s [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/mailing-lists/index.html b/content/community/mailing-lists/index.html
new file mode 100644
index 0000000..23705e6
--- /dev/null
+++ b/content/community/mailing-lists/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Mailing lists | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Mailing lists | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Apache BookKeeper has several mailing lists that you can participate in."><meta data-rh="true" property="og:description" content="Apache BookKeeper has several mailing lists that you can participate in."><meta data-rh="true" [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+BookKeeper issues mailing list at <a href="mailto:issues@bookkeeper.apache.org" target="_blank" rel="noopener noreferrer">issues@bookkeeper.apache.org</a>.</p><ul><li><a href="mailto:issues-subscribe@bookkeeper.apache.org" target="_blank" rel="noopener noreferrer">Subscribe</a></li><li><a href="mailto:issues-unsubscribe@bookkeeper.apache.org" target="_blank" rel="noopener noreferrer">Unsubscribe</a></li><li><a href="http://mail-archives.apache.org/mod_mbox/bookkeeper-issues/" target="_bl [...]
+the emails in your inbox.</p><ul><li>from:(<a href="mailto:git@git.apache.org" target="_blank" rel="noopener noreferrer">git@git.apache.org</a>) to:(<a href="mailto:issues@bookkeeper.apache.org" target="_blank" rel="noopener noreferrer">issues@bookkeeper.apache.org</a>): all the notifications from github repo.</li><li>from:(<a href="mailto:jenkins@builds.apache.org" target="_blank" rel="noopener noreferrer">jenkins@builds.apache.org</a>) to:(<a href="mailto:issues@bookkeeper.apache.org"  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/meeting/index.html b/content/community/meeting/index.html
new file mode 100644
index 0000000..ebad236
--- /dev/null
+++ b/content/community/meeting/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Community meetings | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Community meetings | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="The community meeting runs bi-weekly on Thursday 8am - 9am PST. The meeting link is https://goo.gl/iyRA6G."><meta data-rh="true" property="og:description" content="The community meeting runs bi-weekly on Thursday 8 [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/presentations/index.html b/content/community/presentations/index.html
new file mode 100644
index 0000000..2933e61
--- /dev/null
+++ b/content/community/presentations/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Papers and Presentations | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Papers and Presentations | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Papers"><meta data-rh="true" property="og:description" content="Papers"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//community/presentations"><meta data-rh="true [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/release-guide/index.html b/content/community/release-guide/index.html
new file mode 100644
index 0000000..c555665
--- /dev/null
+++ b/content/community/release-guide/index.html
@@ -0,0 +1,61 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Apache BookKeeper Release Guide | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Apache BookKeeper Release Guide | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="This page documents the procedure to make an Apache BookKeeper release."><meta data-rh="true" property="og:description" content="This page documents the procedure to make an Apache BookKee [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+If you don’t have a GPG key associated with your Apache account, please create one according to the <a href="http://apache.org/dev/openpgp.html#generate-key" target="_blank" rel="noopener noreferrer">guidelines</a> and <a href="https://www.apache.org/dev/release-signing.html#keyserver-upload" target="_blank" rel="noopener noreferrer">upload</a> your key to a public key server.</p><blockquote><p>It is important to <a href="https://www.apache.org/dev/release-signing.html#apache-wot" target [...]
+You can reach out other committers in Apache BookKeeper community for signing your key.</p></blockquote><p>Once you have a GPG key associated with your Apache count, then:</p><p><strong>First</strong>, Determine your Apache GPG Key and Key ID, as follows:</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="cod [...]
+a python package to PyPi, you need to <a href="https://pypi.org/account/register/" target="_blank" rel="noopener noreferrer">create an account</a> there. After
+you create the account successfully, you also need to add the account as a maintainer
+for <a href="https://pypi.org/project/apache-bookkeeper-client/" target="_blank" rel="noopener noreferrer">bookkeeper-client</a> project. You can checkout who
+are the maintainers at the project page and ask them for adding your account as the maintainer.</p><p>You can also read the instructions on <a href="https://twine.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer">how to upload packages to PyPi</a>
+if you are interested in learning more details.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="create-a-new-version-in-github">Create a new version in Github<a class="hash-link" href="#create-a-new-version-in-github" title="Direct link to heading">​</a></h3><p>When contributors resolve an issue in GitHub, they are tagging it with a release that will contain their changes. With the release currently underway, new issues should be resolved against a subsequent future release. Theref [...]
+<a href="https://github.com/apache/bookkeeper/blob/master/stream/clients/python/setup.py#L22" target="_blank" rel="noopener noreferrer">setup.py</a>
+from <code>SNAPSHOT</code> version to a release version and get the change merge to master. For example,
+in release 4.10.0, you need to change the version from <code>4.10.0-alpha-0</code> to <code>4.10.0</code>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="review-release-notes-in-github">Review Release Notes in Github<a class="hash-link" href="#review-release-notes-in-github" title="Direct link to heading">​</a></h3><blockquote><p>Github does not automatically generates Release Notes based on the <code>Milestone</code> field applied to issues.
+We can use <a href="https://github.com/skywinder/github-changelog-generator" target="_blank" rel="noopener noreferrer">github-changelog-generator</a> to generate a ChangeLog for a milestone in future.</p></blockquote><p>For Github, we can use the milestone link in the Release Notes. E.g. <a href="https://github.com/apache/bookkeeper/milestone/1?closed=1" target="_blank" rel="noopener noreferrer">Release 4.5.0 milestone</a>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="prepare-re [...]
+It is recommended to do a &quot;dry run&quot; before executing the command. To &quot;dry run&quot;, you can provide &quot;-DdryRun&quot;
+at the end of this command. &quot;dry run&quot; will generate some temporary files in the project folder, you can remove
+them by running &quot;mvn release:clean&quot;.</p></blockquote><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">mvn release:branch \</span><br></span><span class="token-line" style="color:#393A34"><span class="token p [...]
+You need use <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/" target="_blank" rel="noopener noreferrer">personal access token</a> rather than your own password, if you enabled <code>2 factor authentication</code>.</p><p>On failures, you need to reset on failures:</p><p>$ git reset --hard apache/<!-- -->&lt;<!-- -->master branch OR release tag<!-- -->&gt;<!-- -->
+$ git branch -D $BRANCH_NAME</p></blockquote><h5 class="anchor anchorWithStickyNavbar_mojV" id="create-ci-jobs-for-release-branch">Create CI jobs for release branch<a class="hash-link" href="#create-ci-jobs-for-release-branch" title="Direct link to heading">​</a></h5><p>Once the release branch is created, please create corresponding CI jobs for the release branch. These CI jobs includes postcommit jobs for different java versions and
+integration tests.</p><p>Example PR: <a href="https://github.com/apache/bookkeeper/pull/1328" target="_blank" rel="noopener noreferrer">release-4.7.0</a> <a href="https://github.com/apache/bookkeeper/pull/1353" target="_blank" rel="noopener noreferrer">integration tests for release-4.7.0</a></p><h4 class="anchor anchorWithStickyNavbar_mojV" id="checkout-release-branch">Checkout release branch<a class="hash-link" href="#checkout-release-branch" title="Direct link to heading">​</a></h4><a  [...]
+It ensures the release candidate built with right jni library for <code>circe-checksum</code>.</p></blockquote><p>Set up a few environment variables to simplify Maven commands that follow. This identifies the release candidate being built. Start with <code>release candidate number</code> equal to <code>0</code> and increment it for each candidate.</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text  [...]
+If your account is configured with 2FA, use your personal token as the github password.</p><p>The remote <code>apache</code> should point to <code>https://github.com/apache/bookkeeper</code>.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" [...]
+delete the release tag: git tag -d release-${VERSION} &amp;&amp; git push apache :refs/tags/release-${VERSION}</p><p>Also, you need to check the git commits on the github and if needed you may have to
+force push backed out local git branch to github again.</p><p>After reset, run <code>./dev/release/002-release-prepare.sh</code> again.</p></blockquote><p>Review all staged artifacts. They should contain all relevant parts for each module, including <code>pom.xml</code>, jar, test jar, source, test source, javadoc, etc. Artifact names should follow <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.bookkeeper%22" target="_blank" rel="noopener noreferrer">the existing  [...]
+the versions for website documentation; or run the <code>release_minor.sh</code> to release documentation when doing a
+mintor release.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token builtin class-name">cd</span><span class="token plain"> site</span><br></span><span class="token-li [...]
+The CI job will automatically update the website in a few minutes. Please review the website to make sure the
+documentation for <code>${VERSION}</code> is live.</p></li><li><p>Merge the Release Notes pull request and make sure the Release Notes is updated.</p></li></ol><h3 class="anchor anchorWithStickyNavbar_mojV" id="git-tag">Git tag<a class="hash-link" href="#git-tag" title="Direct link to heading">​</a></h3><blockquote><p>NOTE: Only create the release tag after the release package is showed up under <a href="https://archive.apache.org/dist/bookkeeper/" target="_blank" rel="noopener noreferre [...]
+<a href="https://twine.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer"><code>twine</code></a>.</p><ul><li><p>Install Pip</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">brew [...]
+Then you have to create a PR and submit it for review.</p><p>Example PR: <a href="https://github.com/apache/bookkeeper/pull/1350" target="_blank" rel="noopener noreferrer">release-4.7.0</a></p><h3 class="anchor anchorWithStickyNavbar_mojV" id="advance-python-client-version">Advance python client version<a class="hash-link" href="#advance-python-client-version" title="Direct link to heading">​</a></h3><p>If you are doing a major release, you need to update the python client version to nex [...]
+and next minor development version in the branch. For example, if you are doing 4.9.0 release, you need to bump the version
+in master to <code>4.10.0-alpha-0</code> (NOTE: we are using <code>alpha-0</code> as <code>SNAPSHOT</code>, otherwise pypi doesn&#x27;t work), and the version in
+<code>branch-4.9</code> to <code>4.9.1-alpha-0</code>.</p><p>If you are only doing a minor release, you just need to update the version in release branch. For example, if you are doing
+4.9.1 release, you need to bump the version in <code>branch-4.9</code> to <code>4.9.2-alpha-0</code>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="mark-the-version-as-released-in-github">Mark the version as released in Github<a class="hash-link" href="#mark-the-version-as-released-in-github" title="Direct link to heading">​</a></h3><blockquote><p>only do this for feature release</p></blockquote><p>In Github, inside <a href="https://github.com/apache/bookkeeper/milestones" target [...]
+is currently under development. We need to remove the old releases from <code>release</code> repository.</p><p>For example, if 4.6.1 is a newer release, we need to remove releases older than 4.6.1.</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#3 [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/releases/index.html b/content/community/releases/index.html
new file mode 100644
index 0000000..cc72730
--- /dev/null
+++ b/content/community/releases/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Release Management | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Release Management | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Apache BookKeeper community adopts Time Based Release Plan starting from 4.6.0."><meta data-rh="true" property="og:description" content="Apache BookKeeper community adopts Time Based Release Plan starting from 4.6. [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+be <a href="http://bookkeeper.apache.org/community/bookkeeper-proposals/" target="_blank" rel="noopener noreferrer">BookKeeper Proposals</a>, but not always.</li><li>Another week will be left for <em>minor</em> features to get in, but at this point the community will start efforts to stabilize the release branch and contribute mostly tests and fixes.</li><li>Two weeks before the release date, the bookkeeper community will announce code-freeze and start rolling out release candidates, aft [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/slack/index.html b/content/community/slack/index.html
new file mode 100644
index 0000000..501147e
--- /dev/null
+++ b/content/community/slack/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Slack | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Slack | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="There is an Apache BookKeeper channel that is used for informal discussions for BookKeeper developers and users."><meta data-rh="true" property="og:description" content="There is an Apache BookKeeper channel that is used for informal discus [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/community/testing/index.html b/content/community/testing/index.html
new file mode 100644
index 0000000..77f5ec7
--- /dev/null
+++ b/content/community/testing/index.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Testing guide | Apache BookKeeper</title><meta data-rh="true" property="og:title" content="Testing guide | Apache BookKeeper"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="description" content="Overview"><meta data-rh="true" property="og:description" content="Overview"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//community/testing"><meta data-rh="true" name="docusaurus_local [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Consequently, it has many testing-related needs. It requires precommit tests to ensure
+code going to the repository meets a certain quality bar and it requires ongoing postcommit
+tests to make sure that more subtle changes which escape precommit are nonetheless caught.
+This document outlines how to write tests, which tests are appropriate where, and when tests
+are run, with some additional information about the testing systems at the bottom.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="testing-scenarios">Testing Scenarios<a class="hash-link" href="#testing-scenarios" title="Direct link to heading">​</a></h2><p>With the tools at our disposal, we have a good set of utilities which we can use to verify
+BookKeeper correctness. To ensure an ongoing high quality of code, we use precommit and postcommit
+testing.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="precommit">Precommit<a class="hash-link" href="#precommit" title="Direct link to heading">​</a></h3><p>For precommit testing, BookKeeper uses GitHub Actions to ensure that pull requests meet a certain quality bar.
+These precommits verify correctness via unit/integration tests.</p><p>In case of failures, you can re-run failing checks commenting <code>rerun failure checks</code> in the pull.
+More details on GitHub actions <a href="https://github.com/apache/bookkeeper/tree/master/.github/workflows/bot.yml" target="_blank" rel="noopener noreferrer">here</a></p><h3 class="anchor anchorWithStickyNavbar_mojV" id="postcommit">Postcommit<a class="hash-link" href="#postcommit" title="Direct link to heading">​</a></h3><p>Currently in postcommit, we re-run precommit tests against both master and the most recent release branch.
+In this way we can ensure also the main branches are not broken.</p></div><div class="col col--2"><div class="tableOfContents_cNA8 thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#overview" class="table-of-contents__link toc-highlight">Overview</a></li><li><a href="#testing-scenarios" class="table-of-contents__link toc-highlight">Testing Scenarios</a><ul><li><a href="#precommit" class="table-of-contents__link toc-highlight">Precommit</a></li><li> [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/autorecovery/index.html b/content/docs/4.10.0/admin/autorecovery/index.html
new file mode 100644
index 0000000..648acba
--- /dev/null
+++ b/content/docs/4.10.0/admin/autorecovery/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Using AutoRecovery | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/autorecovery"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/bookies/index.html b/content/docs/4.10.0/admin/bookies/index.html
new file mode 100644
index 0000000..6c0aa6f
--- /dev/null
+++ b/content/docs/4.10.0/admin/bookies/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper administration | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/bookies"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/geo-replication/index.html b/content/docs/4.10.0/admin/geo-replication/index.html
new file mode 100644
index 0000000..40e2f68
--- /dev/null
+++ b/content/docs/4.10.0/admin/geo-replication/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Geo-replication | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/geo-replication"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/http/index.html b/content/docs/4.10.0/admin/http/index.html
new file mode 100644
index 0000000..24e9ba5
--- /dev/null
+++ b/content/docs/4.10.0/admin/http/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Admin REST API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/http"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:lan [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+To use this feature, set <code>httpServerEnabled</code> to <code>true</code> in file <code>conf/bk_server.conf</code>.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="all-the-endpoints">All the endpoints<a class="hash-link" href="#all-the-endpoints" title="Direct link to heading">​</a></h2><p>Currently all the HTTP endpoints could be divided into these 5 components:</p><ol><li>Heartbeat: heartbeat for a specific bookie.</li><li>Config: doing the server configuration for a specific  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/metrics/index.html b/content/docs/4.10.0/admin/metrics/index.html
new file mode 100644
index 0000000..d1bb62e
--- /dev/null
+++ b/content/docs/4.10.0/admin/metrics/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Metric collection | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:language [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/perf/index.html b/content/docs/4.10.0/admin/perf/index.html
new file mode 100644
index 0000000..9d8f77b
--- /dev/null
+++ b/content/docs/4.10.0/admin/perf/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Performance tuning | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/perf"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/placement/index.html b/content/docs/4.10.0/admin/placement/index.html
new file mode 100644
index 0000000..2ec58f4
--- /dev/null
+++ b/content/docs/4.10.0/admin/placement/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Customized placement policies | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/placement"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docs [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/admin/upgrade/index.html b/content/docs/4.10.0/admin/upgrade/index.html
new file mode 100644
index 0000000..19bd84a
--- /dev/null
+++ b/content/docs/4.10.0/admin/upgrade/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Upgrade | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/admin/upgrade"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:language" content= [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Put differently, don&#x27;t start working through the guide on a live cluster. Read guide entirely, make a plan, then execute the plan.</li><li>Pay careful consideration to the order in which components are upgraded. In general, you need to upgrade bookies first and then upgrade your clients.</li><li>If autorecovery is running along with bookies, you need to pay attention to the upgrade sequence.</li><li>Read the release notes carefully for each release. They contain not only information [...]
+that may impact your upgrade.</li><li>Always upgrade one or a small set of bookies to canary new version before upgraing all bookies in your cluster.</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="canary">Canary<a class="hash-link" href="#canary" title="Direct link to heading">​</a></h2><p>It is wise to canary an upgraded version in one or small set of bookies before upgrading all bookies in your live cluster.</p><p>You can follow below steps on how to canary a upgraded vers [...]
+will repair this problematic bookie node by autorecovery. Nothing needs to be worried about.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="upgrade-steps">Upgrade Steps<a class="hash-link" href="#upgrade-steps" title="Direct link to heading">​</a></h2><p>Once you determined a version is safe to upgrade in a few nodes in your cluster, you can perform following steps to upgrade all bookies in your cluster.</p><ol><li>Determine if autorecovery is running along with bookies. If yes, c [...]
+are allowed to talk to old bookies; if clients are not allowed to talk to old bookies, please <a href="/docs/4.10.0/reference/cli/#autorecovery-1">disable autorecovery</a> during upgrade.</li><li>Decide on performing a rolling upgrade or a downtime upgrade.</li><li>Upgrade all Bookies (more below)</li><li>If autorecovery was disabled during upgrade, <a href="/docs/4.10.0/reference/cli/#autorecovery-1">enable autorecovery</a>.</li><li>After all bookies are upgraded, build applications tha [...]
+However, we list a list of things that you might want to know.</p><ol><li>4.5.x upgrades netty from 3.x to 4.x. The memory usage pattern might be changed a bit. Netty 4 uses more direct memory. Please pay attention to your memory usage
+and adjust the JVM settings accordingly.</li><li><code>multi journals</code> is a non-rollbackable feature. If you configure a bookie to use multiple journals on 4.5.x you can not roll the bookie back to use 4.4.x. You have
+to take a bookie out and recover it if you want to rollback to 4.4.x.</li></ol><p>If you are planning to upgrade a non-secured cluster to a secured cluster enabling security features in 4.5.0, please read <a href="/docs/4.10.0/security/overview">BookKeeper Security</a> for more details.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.10.0/admin/metrics"><div  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/api/distributedlog-api/index.html b/content/docs/4.10.0/api/distributedlog-api/index.html
new file mode 100644
index 0000000..161d7ae
--- /dev/null
+++ b/content/docs/4.10.0/api/distributedlog-api/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">DistributedLog | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/api/distributedlog-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/api/ledger-adv-api/index.html b/content/docs/4.10.0/api/ledger-adv-api/index.html
new file mode 100644
index 0000000..a0a91b6
--- /dev/null
+++ b/content/docs/4.10.0/api/ledger-adv-api/index.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The Advanced Ledger API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/api/ledger-adv-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsear [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+This sections covers these advanced APIs.</p><blockquote><p>Before learn the advanced API, please read <a href="/docs/4.10.0/api/ledger-api">Ledger API</a> first.</p></blockquote><h2 class="anchor anchorWithStickyNavbar_mojV" id="ledgerhandleadv">LedgerHandleAdv<a class="hash-link" href="#ledgerhandleadv" title="Direct link to heading">​</a></h2><p><a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv" target="_blank" rel="noo [...]
+It allows user passing in an <code>entryId</code> when adding an entry.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="creating-advanced-ledgers">Creating advanced ledgers<a class="hash-link" href="#creating-advanced-ledgers" title="Direct link to heading">​</a></h3><p>Here&#x27;s an exmaple:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" [...]
+If a ledger already exists when users try to create an advanced ledger with same ledger id,
+a <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/BKException.BKLedgerExistException.html" target="_blank" rel="noopener noreferrer">LedgerExistsException</a> is thrown by the bookkeeper client.</p></blockquote><p>Creating advanced ledgers can be done throught a fluent API since 4.6.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language [...]
+to advanced ledgers, an entry id is required to pass in along with the entry data when adding an entry.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">long entryId = ...; // entry id generated  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/api/ledger-api/index.html b/content/docs/4.10.0/api/ledger-api/index.html
new file mode 100644
index 0000000..e024522
--- /dev/null
+++ b/content/docs/4.10.0/api/ledger-api/index.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The Ledger API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/api/ledger-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+a lot. If your application might include different versions of protobuf or guava introduced by other dependencies, you can choose to use the
+shaded library, which relocate classes of protobuf and guava into a different namespace to avoid conflicts.</p><div class="codeBlockContainer_I0IT language-xml theme-code-block"><div class="codeBlockContent_wNvx xml"><pre tabindex="0" class="prism-code language-xml codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic" [...]
+It lets the client read without checking the local value of LastAddConfirmed, so that it is possible to read entries for which the writer has not received the acknowledge yet.
+For entries which are within the range 0..LastAddConfirmed, BookKeeper guarantees that the writer has successfully received the acknowledge.
+For entries outside that range it is possible that the writer never received the acknowledge and so there is the risk that the reader is seeing entries before the writer and this could result in a consistency issue in some cases.
+With this method you can even read entries before the LastAddConfirmed and entries after it with one call, the expected consistency will be as described above.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class= [...]
+<a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle" target="_blank" rel="noopener noreferrer">WriteHandle</a>, <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle" target="_blank" rel="noopener noreferrer">WriteAdvHandle</a>, <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ReadHandle" target="_blank" re [...]
+a <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/digesttype" target="_blank" rel="noopener noreferrer"><code>digesttype</code></a> and a password.</p><p>here&#x27;s an example:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBl [...]
+These flags are applied only during write operations and are not recorded on metadata.</p><p>Available write flags:</p><table><thead><tr><th align="left">Flag</th><th align="left">Explanation</th><th align="left">Notes</th></tr></thead><tbody><tr><td align="left">DEFERRED_SYNC</td><td align="left">Writes are acknowledged early, without waiting for guarantees of durability</td><td align="left">Data will be only written to the OS page cache, without forcing an fsync.</td></tr></tbody></tab [...]
+It is recommended to use <code>ByteBuf</code> as it is more gc friendly.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="open-ledgers">Open ledgers<a class="hash-link" href="#open-ledgers" title="Direct link to heading">​</a></h3><p>You can open ledgers to read entries. Opening ledgers is done by <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/openBuilder" target="_blank" rel="noopener noreferrer"><code>openBuilder</code></a>. [...]
+in order to open the ledgers.</p><p>here&#x27;s an example:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper bk = ...;</span><br></span><span class="token-line" style="color:#393A34">< [...]
+<code>withRecovery(true)</code> in the open builder.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper bk = ...;</span><br></span><span class="token-line" style="color:#393A34"><span cl [...]
+to be appended to it. The writer which is currently appending entries to the ledger will fail with <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BKException.Code#LedgerFencedException" target="_blank" rel="noopener noreferrer"><code>LedgerFencedException</code></a>.</p><p>In constrat, opening a ledger in &quot;NoRecovery&quot; mode, it will not fence and seal the ledger. &quot;NoRecovery&quot; mode is usually used by applications  [...]
+release the buffers held by it.</p><p>Applications are allowed to read any entries between <code>0</code> and <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ReadHandle.html#getLastAddConfirmed" target="_blank" rel="noopener noreferrer"><code>LastAddConfirmed</code></a>. If the applications
+attempts to read entries beyond <code>LastAddConfirmed</code>, they will receive <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BKException.Code#IncorrectParameterException" target="_blank" rel="noopener noreferrer"><code>IncorrectParameterException</code></a>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="read-unconfirmed-entries-from-ledgers">Read unconfirmed entries from ledgers<a class="hash-link" href="#read-unconfirme [...]
+repeatable read consistency.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">CompletableFuture&lt;LedgerEntries&gt; readFuture = rh.readUnconfirmed(startEntryId, endEntryId);</span><br></span></ [...]
+In this case the LastAddConfirmed pointer is updated on the writer side, this is the guarantee for the writer that data will not be lost and it will
+be always readable by other clients.</p><p>On the client side you can temporary relax this constraint by using the <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag" target="_blank" rel="noopener noreferrer"><code>DEFERRED_SYNC</code></a> Write flag. Using this flag bookies will acknowledge each entry after
+writing the entry to SO buffers without waiting for an fsync.
+In this case the LastAddConfirmed pointer is not advanced to the writer side neither is updated on the reader&#x27;s side, this is because <strong>there is some chance to lose the entry</strong>.
+Such entries will be still readable using readUnconfirmed() API, but they won&#x27;t be readable using Long Poll reads or regular read() API.</p><p>In order to get guarantees of durability the writer must use explicitly the <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle" target="_blank" rel="noopener noreferrer">force()</a> API which will return only after all the bookies in the ensemble acknowledge the call after
+performing an fsync to the disk which is storing the journal.
+This way the LastAddConfirmed pointer is advanced on the writer side and it will be eventually available to the readers.</p><p>The <em>close()</em> operation on the writer writes on ledger&#x27;s metadata the current LastAddConfirmed pointer, <strong>it is up to the application to call force() before issuing the close command</strong>.
+In case that you never call explicitly <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle" target="_blank" rel="noopener noreferrer">force()</a> the LastAddConfirmed will remain unset (-1) on ledger metadata and regular readers won&#x27;t be able to access data.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/api/overview/index.html b/content/docs/4.10.0/api/overview/index.html
new file mode 100644
index 0000000..d642e41
--- /dev/null
+++ b/content/docs/4.10.0/api/overview/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/api/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:language" co [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+managing rolling ledgers and data retention on your own. In such cases, you are recommended to use <a href="/docs/4.10.0/api/distributedlog-api">DistributedLog API</a>,
+with semantics resembling continous log streams from the standpoint of applications.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.10.0/admin/http"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">BookKeeper Admin REST API</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-n [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/deployment/dcos/index.html b/content/docs/4.10.0/deployment/dcos/index.html
new file mode 100644
index 0000000..02d7c19
--- /dev/null
+++ b/content/docs/4.10.0/deployment/dcos/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Deploying BookKeeper on DC/OS | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/deployment/dcos"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docs [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/deployment/kubernetes/index.html b/content/docs/4.10.0/deployment/kubernetes/index.html
new file mode 100644
index 0000000..3345edb
--- /dev/null
+++ b/content/docs/4.10.0/deployment/kubernetes/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Deploying Apache BookKeeper on Kubernetes | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/deployment/kubernetes"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+remote zookeeper server:</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">$ kubectl port-forward zk-0 </span><span class="token number" style="color:#36acaa">2181</span><span class="token plain"> [...]
+cluster, those bookie pods are garbage collected. The bookies deployed in a DaemonSet stores data on the local disks on those nodes. So it doesn&#x27;t require any external storage for Persistent
+Volumes.</p><p>A <em>StatefulSet</em> maintains a sticky identity for the pods that it runs and manages. It provides stable and unique network identifiers, and stable and persistent storage for each pod. The pods
+are not interchangeable, the idenifiers for each pod are maintained across any rescheduling.</p><p>Which one to use? A <em>DaemonSet</em> is the easiest way to deploy a bookkeeper cluster, because it doesn&#x27;t require additional persistent volume provisioner and use local disks. BookKeeper manages
+the data replication. It maintains the best latency property. However, it uses <code>hostIP</code> and <code>hostPort</code> for communications between pods. In some k8s platform (such as DC/OS), <code>hostIP</code> and
+<code>hostPort</code> are not well supported. A <em>StatefulSet</em> is only practical when deploying in a cloud environment or any K8S installation that has persistent volumes available. Also be aware, latency
+can be potentially higher when using persistent volumes, because there is usually built-in replication in the persistent volumes.</p></blockquote><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token comment" s [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/deployment/manual/index.html b/content/docs/4.10.0/deployment/manual/index.html
new file mode 100644
index 0000000..a7faad3
--- /dev/null
+++ b/content/docs/4.10.0/deployment/manual/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Manual deployment | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/deployment/manual"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:lang [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/development/codebase/index.html b/content/docs/4.10.0/development/codebase/index.html
new file mode 100644
index 0000000..76259ac
--- /dev/null
+++ b/content/docs/4.10.0/development/codebase/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The BookKeeper codebase | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/development/codebase"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docse [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/development/protocol/index.html b/content/docs/4.10.0/development/protocol/index.html
new file mode 100644
index 0000000..eb76236
--- /dev/null
+++ b/content/docs/4.10.0/development/protocol/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The BookKeeper protocol | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/development/protocol"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docse [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/getting-started/concepts/index.html b/content/docs/4.10.0/getting-started/concepts/index.html
new file mode 100644
index 0000000..5de468a
--- /dev/null
+++ b/content/docs/4.10.0/getting-started/concepts/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper concepts and architecture | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/getting-started/concepts"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh=" [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/getting-started/installation/index.html b/content/docs/4.10.0/getting-started/installation/index.html
new file mode 100644
index 0000000..78971cc
--- /dev/null
+++ b/content/docs/4.10.0/getting-started/installation/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper installation | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/getting-started/installation"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" nam [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/getting-started/run-locally/index.html b/content/docs/4.10.0/getting-started/run-locally/index.html
new file mode 100644
index 0000000..83fd4df
--- /dev/null
+++ b/content/docs/4.10.0/getting-started/run-locally/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Run bookies locally | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/getting-started/run-locally"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="do [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/overview/index.html b/content/docs/4.10.0/overview/index.html
new file mode 100644
index 0000000..c98bfbe
--- /dev/null
+++ b/content/docs/4.10.0/overview/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Apache BookKeeper 4.10.0 | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/overview/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:langu [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+the other parts of the documentation, including the setup, integration and operation guides.</li><li><strong>Getting Started</strong>: Install <a href="/docs/4.10.0/getting-started/installation">Apache BookKeeper</a> and run bookies <a href="/docs/4.10.0/getting-started/run-locally">locally</a></li><li><strong>API</strong>: Read the <a href="/docs/4.10.0/api/overview">API</a> documentation to learn how to use Apache BookKeeper to build your applications.</li><li><strong>Deployment</stron [...]
+considerations and best practices.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="contributors">Contributors<a class="hash-link" href="#contributors" title="Direct link to heading">​</a></h3><ul><li><strong>Details</strong>: Learn <a href="/docs/4.10.0/development/protocol">design details</a> to know more internals.</li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"></div><div class="pagi [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/reference/cli/index.html b/content/docs/4.10.0/reference/cli/index.html
new file mode 100644
index 0000000..f460074
--- /dev/null
+++ b/content/docs/4.10.0/reference/cli/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper CLI tool reference | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/reference/cli"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsea [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+indexDirs are empty and there is no registered Bookie with this BookieId.</p><p>If there is data present in current bookie server, the init operation will fail. If you want to format
+the bookie server, use <code>bookieformat</code>.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-8">Usage<a class="hash-link" href="#usage-8" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line [...]
+in favor of using <code>initnewcluster</code> for initializing a new cluster and <code>nukeexistingcluster</code> for nuking an existing cluster.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-23">Usage<a class="hash-link" href="#usage-23" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style= [...]
+existing cluster by running nukeexistingcluster before running initnewcluster again</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-24">Usage<a class="hash-link" href="#usage-24" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBloc [...]
+Useful when Host-reip or data-migration. In that case, shutdown bookie process in src-bookie,
+use this command to update ledger metadata by replacing src-bookie to dest-bookie where data has been copied/moved.
+Start the bookie process on dest-bookie and dest-bookie will serve copied ledger data from src-bookie.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-35">Usage<a class="hash-link" href="#usage-35" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><c [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/reference/config/index.html b/content/docs/4.10.0/reference/config/index.html
new file mode 100644
index 0000000..4aebe62
--- /dev/null
+++ b/content/docs/4.10.0/reference/config/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper configuration | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/reference/config"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearc [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/reference/metrics/index.html b/content/docs/4.10.0/reference/metrics/index.html
new file mode 100644
index 0000000..e8bb278
--- /dev/null
+++ b/content/docs/4.10.0/reference/metrics/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper metrics reference | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/reference/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="doc [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/security/overview/index.html b/content/docs/4.10.0/security/overview/index.html
new file mode 100644
index 0000000..671a921
--- /dev/null
+++ b/content/docs/4.10.0/security/overview/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Security | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/security/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+The following security measures are currently supported:</p><ol><li>Authentication of connections to bookies from clients, using either <a href="/docs/4.10.0/security/tls">TLS</a> or <a href="/docs/4.10.0/security/sasl">SASL (Kerberos)</a>.</li><li>Authentication of connections from clients, bookies, autorecovery daemons to <a href="/docs/4.10.0/security/zookeeper">ZooKeeper</a>, when using zookeeper based ledger managers.</li><li>Encryption of data transferred between bookies and client [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/security/sasl/index.html b/content/docs/4.10.0/security/sasl/index.html
new file mode 100644
index 0000000..0a682e2
--- /dev/null
+++ b/content/docs/4.10.0/security/sasl/index.html
@@ -0,0 +1,52 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Authentication using SASL | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/security/sasl"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsearch: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+with a general description of how to configure <code>SASL</code> for bookies, clients and autorecovery daemons, followed
+by mechanism-specific details and wrap up with some operational details.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="sasl-configuration-for-bookies">SASL configuration for Bookies<a class="hash-link" href="#sasl-configuration-for-bookies" title="Direct link to heading">​</a></h2><ol><li><p>Select the mechanisms to enable in the bookies. <code>GSSAPI</code> is the only mechanism currently supported by BookKeeper.</p></li><li><p>Add a <code>JAAS</code> config file for the selecte [...]
+<code>clientAuthProviderFactoryClass</code> to <code>org.apache.bookkeeper.sasl.SASLClientProviderFactory</code>.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:# [...]
+and the location of the keytab where the principal is stored. It allows the bookie to login using the keytab specified in this section.</li><li><code>Auditor</code> is a section name in the JASS file used by <code>autorecovery</code> daemon (it can be co-run with bookies). This section tells the
+<code>autorecovery</code> daemon which principal to use and the location of the keytab where the principal is stored. It allows the bookie to
+login using the keytab specified in this section.</li><li>The <code>Client</code> section is used to authenticate a SASL connection with ZooKeeper. It also allows the bookies to set ACLs on ZooKeeper nodes
+which locks these nodes down so that only the bookies can modify it. It is necessary to have the same primary name across all bookies.
+If you want to use a section name other than <code>Client</code>, set the system property <code>zookeeper.sasl.client</code> to the appropriate name
+(e.g <code>-Dzookeeper.sasl.client=ZKClient</code>).</li><li>ZooKeeper uses <code>zookeeper</code> as the service name by default. If you want to change this, set the system property
+<code>zookeeper.sasl.client.username</code> to the appropriate name (e.g. <code>-Dzookeeper.sasl.client.username=zk</code>).</li></ol><h2 class="anchor anchorWithStickyNavbar_mojV" id="sasl-configuration-for-clients">SASL configuration for Clients<a class="hash-link" href="#sasl-configuration-for-clients" title="Direct link to heading">​</a></h2><p>To configure <code>SASL</code> authentication on the clients:</p><ol><li><p>Select a <code>SASL</code> mechanism for authentication and add a [...]
+setting up <a href="#kerberos">GSSAPI (Kerberos)</a>.</p></li><li><p>Pass the <code>JAAS</code> config file location as JVM parameter to each client JVM. For example:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><s [...]
+install a new server just for BookKeeper. Otherwise you will need to install one, your Linux vendor likely has packages
+for <code>Kerberos</code> and a short guide on how to install and configure it (<a href="https://help.ubuntu.com/community/Kerberos" target="_blank" rel="noopener noreferrer">Ubuntu</a>,
+<a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/installing-kerberos.html" target="_blank" rel="noopener noreferrer">Redhat</a>).
+Note that if you are using Oracle Java, you will need to download JCE policy files for your Java version and copy them to <code>$JAVA_HOME/jre/lib/security</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="kerberos-principals">Kerberos Principals<a class="hash-link" href="#kerberos-principals" title="Direct link to heading">​</a></h4><p>If you are using the organization’s Kerberos or Active Directory server, ask your Kerberos administrator for a principal
+for each Bookie in your cluster and for every operating system user that will access BookKeeper with Kerberos authentication
+(via clients and tools).</p><p>If you have installed your own Kerberos, you will need to create these principals yourself using the following commands:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="toke [...]
+for this example (note that each bookie should have its own keytab):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">```</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Bo [...]
+(see <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank" rel="noopener noreferrer">JDK’s Kerberos Requirements</a> for more details):</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class= [...]
+so obtain or create these principals as needed. Then create a <code>JAAS</code> file for each principal. The <code>BookKeeper</code> section describes
+how the clients like writers and readers can connect to the Bookies. The following is an example configuration for a client using
+a keytab (recommended for long-running processes):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    com.sun [...]
+<a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank" rel="noopener noreferrer">JDK’s Kerberos Requirements</a> for more details).</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="toke [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/security/tls/index.html b/content/docs/4.10.0/security/tls/index.html
new file mode 100644
index 0000000..4778e98
--- /dev/null
+++ b/content/docs/4.10.0/security/tls/index.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Encryption and Authentication using TLS | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/security/tls"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" nam [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+for mutual authentication.  Each bookie or client can also be configured with a truststore, which is used to
+determine which certificates (bookie or client identities) to trust (authenticate).</p><p>The truststore can be configured in many ways. To understand the truststore, consider the following two examples:</p><ol><li>the truststore contains one or many certificates;</li><li>it contains a certificate authority (CA).</li></ol><p>In (1), with a list of certificates, the bookie or client will trust any certificate listed in the truststore.
+In (2), with a CA, the bookie or client will trust any certificate that was signed by the CA in the truststore.</p><p>(TBD: benefits)</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="bookie-keystore">Generate TLS key and certificate<a class="hash-link" href="#bookie-keystore" title="Direct link to heading">​</a></h2><p>The first step of deploying TLS is to generate the key and the certificate for each machine in the cluster.
+You can use Java’s <code>keytool</code> utility to accomplish this task. We will generate the key into a temporary keystore
+initially so that we can export and sign it later with CA.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">keytool -keystore bookie.keystore.jks -alias localhost -validity </span><span class= [...]
+the certificate; hence, it needs to be kept safely.</li><li><code>validity</code>: the valid time of the certificate in days.</li></ol><div class="alert alert-success">Ensure that common name (CN) matches exactly with the fully qualified domain name (FQDN) of the server. The client compares the CN with the DNS domain name to ensure that it is indeed connecting to the desired server, not a malicious one.</div><h2 class="anchor anchorWithStickyNavbar_mojV" id="creating-your-own-ca">Creatin [...]
+The certificate, however, is unsigned, which means that an attacker can create such a certificate to pretend to be any machine.</p><p>Therefore, it is important to prevent forged certificates by signing them for each machine in the cluster.
+A <code>certificate authority (CA)</code> is responsible for signing certificates. CA works likes a government that issues passports —
+the government stamps (signs) each passport so that the passport becomes difficult to forge. Other governments verify the stamps
+to ensure the passport is authentic. Similarly, the CA signs the certificates, and the cryptography guarantees that a signed
+certificate is computationally difficult to forge. Thus, as long as the CA is a genuine and trusted authority, the clients have
+high assurance that they are connecting to the authentic machines.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">openssl req -new -x509 -keyout ca-key -out ca-cert -days </span><span class= [...]
+<a href="/docs/4.10.0/reference/config">bookie config</a>, then you must also provide a truststore for the bookies and it should have all the CA
+certificates that clients keys were signed by.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert</span><br></span></c [...]
+that the client should trust. Importing a certificate into one’s truststore also means trusting all certificates that are signed
+by that certificate. As the analogy above, trusting the government (CA) also means trusting all passports (certificates) that
+it has issued. This attribute is called the chain of trust, and it is particularly useful when deploying TLS on a large BookKeeper cluster.
+You can sign all certificates in the cluster with a single CA, and have all machines share the same truststore that trusts the CA.
+That way all machines can authenticate all other machines.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="signing-the-certificate">Signing the certificate<a class="hash-link" href="#signing-the-certificate" title="Direct link to heading">​</a></h2><p>The next step is to sign all certificates in the keystore with the CA we generated. First, you need to export the certificate from the keystore:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeB [...]
+<code>JDK</code> or <code>OpenSSL</code>. If <code>OpenSSL</code> is configured, it will use <code>netty-tcnative-boringssl-static</code>, which loads a corresponding binding according
+to the platforms to run bookies.</p><blockquote><p>Current <code>OpenSSL</code> implementation doesn&#x27;t depend on the system installed OpenSSL library. If you want to leverage the OpenSSL installed on
+the system, you can check <a href="http://netty.io/wiki/forked-tomcat-native.html" target="_blank" rel="noopener noreferrer">this example</a> on how to replaces the JARs on the classpath with
+netty bindings to leverage installed OpenSSL.</p></blockquote><p>The following TLS configs are needed on the bookie side:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style= [...]
+of the communication channel. It should be enabled on both bookies and clients for mutual TLS.</li><li>tlsEnabledCipherSuites= A cipher suite is a named combination of authentication, encryption, MAC and key exchange
+algorithm used to negotiate the security settings for a network connection using TLS network protocol. By default,
+it is null. <a href="https://www.openssl.org/docs/man1.0.2/apps/ciphers.html" target="_blank" rel="noopener noreferrer">OpenSSL Ciphers</a><a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites" target="_blank" rel="noopener noreferrer">JDK Ciphers</a></li><li>tlsEnabledProtocols = TLSv1.2,TLSv1.1,TLSv1 (list out the TLS protocols that you are going to accept from clients).
+By default, it is not set.</li></ol><p>To verify the bookie&#x27;s keystore and truststore are setup correctly you can run the following command:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plai [...]
+supported. The configs for TLS will be the same as bookies.</p><p>If client authentication is not required by the bookies, the following is a minimal configuration example:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A [...]
+trust the certificate in the client&#x27;s keystore. This may be done using commands that are similar to what we used for
+the <a href="#bookie-keystore">bookie keystore</a>.</p><p>And the following must also be configured:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:#36acaa">tlsCl [...]
+<a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/ReadDebug.html" target="_blank" rel="noopener noreferrer">debugging SSL/TLS connections</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.10.0/security/overview"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">BookKeeper Security</div></a></d [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.10.0/security/zookeeper/index.html b/content/docs/4.10.0/security/zookeeper/index.html
new file mode 100644
index 0000000..e0fee3d
--- /dev/null
+++ b/content/docs/4.10.0/security/zookeeper/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.10.0" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">ZooKeeper Authentication | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.10.0/security/zookeeper"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.10.0"><meta data-rh="true" name="docsea [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+The rationale behind this decision is that the data stored in ZooKeeper is not sensitive, but inappropriate manipulation of znodes can cause cluster
+disruption.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="migrating-clusters">Migrating Clusters<a class="hash-link" href="#migrating-clusters" title="Direct link to heading">​</a></h2><p>If you are running a version of BookKeeper that does not support security or simply with security disabled, and you want to make the cluster secure,
+then you need to execute the following steps to enable ZooKeeper authentication with minimal disruption to your operations.</p><ol><li>Perform a rolling restart setting the <code>JAAS</code> login file, which enables bookie or clients to authenticate. At the end of the rolling restart,
+bookies (or clients) are able to manipulate znodes with strict ACLs, but they will not create znodes with those ACLs.</li><li>Perform a second rolling restart of bookies, this time setting the configuration parameter <code>zkEnableSecurity</code> to true, which enables the use
+of secure ACLs when creating znodes.</li><li>Currently we don&#x27;t have provide a tool to set acls on old znodes. You are recommended to set it manually using ZooKeeper tools.</li></ol><p>It is also possible to turn off authentication in a secured cluster. To do it, follow these steps:</p><ol><li>Perform a rolling restart of bookies setting the <code>JAAS</code> login file, which enable bookies to authenticate, but setting <code>zkEnableSecurity</code> to <code>false</code>.
+At the end of rolling restart, bookies stop creating znodes with secure ACLs, but are still able to authenticate and manipulate all znodes.</li><li>You can use ZooKeeper tools to manually reset all ACLs under the znode set in <code>zkLedgersRootPath</code>, which defaults to <code>/ledgers</code>.</li><li>Perform a second rolling restart of bookies, this time omitting the system property that sets the <code>JAAS</code> login file.</li></ol><h2 class="anchor anchorWithStickyNavbar_mojV" i [...]
+set a few properties. Please refer to the ZooKeeper documentation for more details.</p><ol><li><a href="http://zookeeper.apache.org/doc/r3.4.6/zookeeperProgrammers.html#sc_ZooKeeperAccessControl" target="_blank" rel="noopener noreferrer">Apache ZooKeeper Documentation</a></li><li><a href="https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zookeeper+and+SASL" target="_blank" rel="noopener noreferrer">Apache ZooKeeper Wiki</a></li></ol></div></article><nav class="pagination-nav docusaur [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/autorecovery/index.html b/content/docs/4.11.1/admin/autorecovery/index.html
new file mode 100644
index 0000000..3e22bc0
--- /dev/null
+++ b/content/docs/4.11.1/admin/autorecovery/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Using AutoRecovery | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/autorecovery"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/bookies/index.html b/content/docs/4.11.1/admin/bookies/index.html
new file mode 100644
index 0000000..85fc5d0
--- /dev/null
+++ b/content/docs/4.11.1/admin/bookies/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper administration | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/bookies"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/decomission/index.html b/content/docs/4.11.1/admin/decomission/index.html
new file mode 100644
index 0000000..4f7c764
--- /dev/null
+++ b/content/docs/4.11.1/admin/decomission/index.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Decommission Bookies | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/decomission"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:l [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+decommissioning was safely done.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="before-we-decommission">Before we decommission<a class="hash-link" href="#before-we-decommission" title="Direct link to heading">​</a></h3><ol><li><p>Ensure state of your cluster can support the decommissioning of the target bookie.
+Check if <code>EnsembleSize &gt;= Write Quorum &gt;= Ack Quorum</code> stays true with one less bookie</p></li><li><p>Ensure target bookie shows up in the listbookies command.</p></li><li><p>Ensure that there is no other process ongoing (upgrade etc).</p></li></ol><h3 class="anchor anchorWithStickyNavbar_mojV" id="process-of-decommissioning">Process of Decommissioning<a class="hash-link" href="#process-of-decommissioning" title="Direct link to heading">​</a></h3><ol><li>Log on to the boo [...]
+<code>$ bin/bookkeeper shell listunderreplicated</code></p><ol start="2"><li><p>Stop the bookie
+<code>$ bin/bookkeeper-daemon.sh stop bookie</code></p></li><li><p>Run the decommission command.
+If you have logged onto the node you wish to decommission, you don&#x27;t need to provide <code>-bookieid</code>
+If you are running the decommission command for target bookie node from another bookie node you should mention
+the target bookie id in the arguments for <code>-bookieid</code>
+<code>$ bin/bookkeeper shell decommissionbookie</code>
+or
+<code>$ bin/bookkeeper shell decommissionbookie -bookieid &lt;target bookieid&gt;</code></p></li><li><p>Validate that there are no ledgers on decommissioned bookie
+<code>$ bin/bookkeeper shell listledgers -bookieid &lt;target bookieid&gt;</code></p></li></ol><p>Last step to verify is you could run this command to check if the bookie you decommissioned doesn’t show up in list bookies:</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mR [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/geo-replication/index.html b/content/docs/4.11.1/admin/geo-replication/index.html
new file mode 100644
index 0000000..95033ec
--- /dev/null
+++ b/content/docs/4.11.1/admin/geo-replication/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Geo-replication | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/geo-replication"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/http/index.html b/content/docs/4.11.1/admin/http/index.html
new file mode 100644
index 0000000..dd6005f
--- /dev/null
+++ b/content/docs/4.11.1/admin/http/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Admin REST API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/http"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:lan [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+To use this feature, set <code>httpServerEnabled</code> to <code>true</code> in file <code>conf/bk_server.conf</code>.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="all-the-endpoints">All the endpoints<a class="hash-link" href="#all-the-endpoints" title="Direct link to heading">​</a></h2><p>Currently all the HTTP endpoints could be divided into these 5 components:</p><ol><li>Heartbeat: heartbeat for a specific bookie.</li><li>Config: doing the server configuration for a specific  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/metrics/index.html b/content/docs/4.11.1/admin/metrics/index.html
new file mode 100644
index 0000000..7fe8a72
--- /dev/null
+++ b/content/docs/4.11.1/admin/metrics/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Metric collection | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:language [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/perf/index.html b/content/docs/4.11.1/admin/perf/index.html
new file mode 100644
index 0000000..915f512
--- /dev/null
+++ b/content/docs/4.11.1/admin/perf/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Performance tuning | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/perf"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/placement/index.html b/content/docs/4.11.1/admin/placement/index.html
new file mode 100644
index 0000000..e6ff089
--- /dev/null
+++ b/content/docs/4.11.1/admin/placement/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Customized placement policies | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/placement"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docs [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/admin/upgrade/index.html b/content/docs/4.11.1/admin/upgrade/index.html
new file mode 100644
index 0000000..78c8784
--- /dev/null
+++ b/content/docs/4.11.1/admin/upgrade/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Upgrade | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/admin/upgrade"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:language" content= [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Put differently, don&#x27;t start working through the guide on a live cluster. Read guide entirely, make a plan, then execute the plan.</li><li>Pay careful consideration to the order in which components are upgraded. In general, you need to upgrade bookies first and then upgrade your clients.</li><li>If autorecovery is running along with bookies, you need to pay attention to the upgrade sequence.</li><li>Read the release notes carefully for each release. They contain not only information [...]
+that may impact your upgrade.</li><li>Always upgrade one or a small set of bookies to canary new version before upgraing all bookies in your cluster.</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="canary">Canary<a class="hash-link" href="#canary" title="Direct link to heading">​</a></h2><p>It is wise to canary an upgraded version in one or small set of bookies before upgrading all bookies in your live cluster.</p><p>You can follow below steps on how to canary a upgraded vers [...]
+will repair this problematic bookie node by autorecovery. Nothing needs to be worried about.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="upgrade-steps">Upgrade Steps<a class="hash-link" href="#upgrade-steps" title="Direct link to heading">​</a></h2><p>Once you determined a version is safe to upgrade in a few nodes in your cluster, you can perform following steps to upgrade all bookies in your cluster.</p><ol><li>Determine if autorecovery is running along with bookies. If yes, c [...]
+are allowed to talk to old bookies; if clients are not allowed to talk to old bookies, please <a href="/docs/4.11.1/reference/cli/#autorecovery-1">disable autorecovery</a> during upgrade.</li><li>Decide on performing a rolling upgrade or a downtime upgrade.</li><li>Upgrade all Bookies (more below)</li><li>If autorecovery was disabled during upgrade, <a href="/docs/4.11.1/reference/cli/#autorecovery-1">enable autorecovery</a>.</li><li>After all bookies are upgraded, build applications tha [...]
+However, we list a list of things that you might want to know.</p><ol><li>4.5.x upgrades netty from 3.x to 4.x. The memory usage pattern might be changed a bit. Netty 4 uses more direct memory. Please pay attention to your memory usage
+and adjust the JVM settings accordingly.</li><li><code>multi journals</code> is a non-rollbackable feature. If you configure a bookie to use multiple journals on 4.5.x you can not roll the bookie back to use 4.4.x. You have
+to take a bookie out and recover it if you want to rollback to 4.4.x.</li></ol><p>If you are planning to upgrade a non-secured cluster to a secured cluster enabling security features in 4.5.0, please read <a href="/docs/4.11.1/security/overview">BookKeeper Security</a> for more details.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.11.1/admin/metrics"><div  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/api/distributedlog-api/index.html b/content/docs/4.11.1/api/distributedlog-api/index.html
new file mode 100644
index 0000000..7c28a4e
--- /dev/null
+++ b/content/docs/4.11.1/api/distributedlog-api/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">DistributedLog | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/api/distributedlog-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/api/ledger-adv-api/index.html b/content/docs/4.11.1/api/ledger-adv-api/index.html
new file mode 100644
index 0000000..5c683f1
--- /dev/null
+++ b/content/docs/4.11.1/api/ledger-adv-api/index.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The Advanced Ledger API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/api/ledger-adv-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsear [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+This sections covers these advanced APIs.</p><blockquote><p>Before learn the advanced API, please read <a href="/docs/4.11.1/api/ledger-api">Ledger API</a> first.</p></blockquote><h2 class="anchor anchorWithStickyNavbar_mojV" id="ledgerhandleadv">LedgerHandleAdv<a class="hash-link" href="#ledgerhandleadv" title="Direct link to heading">​</a></h2><p><a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv" target="_blank" rel="noo [...]
+It allows user passing in an <code>entryId</code> when adding an entry.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="creating-advanced-ledgers">Creating advanced ledgers<a class="hash-link" href="#creating-advanced-ledgers" title="Direct link to heading">​</a></h3><p>Here&#x27;s an exmaple:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" [...]
+If a ledger already exists when users try to create an advanced ledger with same ledger id,
+a <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/BKException.BKLedgerExistException.html" target="_blank" rel="noopener noreferrer">LedgerExistsException</a> is thrown by the bookkeeper client.</p></blockquote><p>Creating advanced ledgers can be done throught a fluent API since 4.6.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language [...]
+to advanced ledgers, an entry id is required to pass in along with the entry data when adding an entry.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">long entryId = ...; // entry id generated  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/api/ledger-api/index.html b/content/docs/4.11.1/api/ledger-api/index.html
new file mode 100644
index 0000000..0c3f373
--- /dev/null
+++ b/content/docs/4.11.1/api/ledger-api/index.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The Ledger API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/api/ledger-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+a lot. If your application might include different versions of protobuf or guava introduced by other dependencies, you can choose to use the
+shaded library, which relocate classes of protobuf and guava into a different namespace to avoid conflicts.</p><div class="codeBlockContainer_I0IT language-xml theme-code-block"><div class="codeBlockContent_wNvx xml"><pre tabindex="0" class="prism-code language-xml codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic" [...]
+It lets the client read without checking the local value of LastAddConfirmed, so that it is possible to read entries for which the writer has not received the acknowledge yet.
+For entries which are within the range 0..LastAddConfirmed, BookKeeper guarantees that the writer has successfully received the acknowledge.
+For entries outside that range it is possible that the writer never received the acknowledge and so there is the risk that the reader is seeing entries before the writer and this could result in a consistency issue in some cases.
+With this method you can even read entries before the LastAddConfirmed and entries after it with one call, the expected consistency will be as described above.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class= [...]
+<a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle" target="_blank" rel="noopener noreferrer">WriteHandle</a>, <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle" target="_blank" rel="noopener noreferrer">WriteAdvHandle</a>, <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ReadHandle" target="_blank" re [...]
+a <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/digesttype" target="_blank" rel="noopener noreferrer"><code>digesttype</code></a> and a password.</p><p>here&#x27;s an example:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBl [...]
+These flags are applied only during write operations and are not recorded on metadata.</p><p>Available write flags:</p><table><thead><tr><th align="left">Flag</th><th align="left">Explanation</th><th align="left">Notes</th></tr></thead><tbody><tr><td align="left">DEFERRED_SYNC</td><td align="left">Writes are acknowledged early, without waiting for guarantees of durability</td><td align="left">Data will be only written to the OS page cache, without forcing an fsync.</td></tr></tbody></tab [...]
+It is recommended to use <code>ByteBuf</code> as it is more gc friendly.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="open-ledgers">Open ledgers<a class="hash-link" href="#open-ledgers" title="Direct link to heading">​</a></h3><p>You can open ledgers to read entries. Opening ledgers is done by <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/openBuilder" target="_blank" rel="noopener noreferrer"><code>openBuilder</code></a>. [...]
+in order to open the ledgers.</p><p>here&#x27;s an example:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper bk = ...;</span><br></span><span class="token-line" style="color:#393A34">< [...]
+<code>withRecovery(true)</code> in the open builder.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper bk = ...;</span><br></span><span class="token-line" style="color:#393A34"><span cl [...]
+to be appended to it. The writer which is currently appending entries to the ledger will fail with <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BKException.Code#LedgerFencedException" target="_blank" rel="noopener noreferrer"><code>LedgerFencedException</code></a>.</p><p>In constrat, opening a ledger in &quot;NoRecovery&quot; mode, it will not fence and seal the ledger. &quot;NoRecovery&quot; mode is usually used by applications  [...]
+release the buffers held by it.</p><p>Applications are allowed to read any entries between <code>0</code> and <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ReadHandle.html#getLastAddConfirmed" target="_blank" rel="noopener noreferrer"><code>LastAddConfirmed</code></a>. If the applications
+attempts to read entries beyond <code>LastAddConfirmed</code>, they will receive <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BKException.Code#IncorrectParameterException" target="_blank" rel="noopener noreferrer"><code>IncorrectParameterException</code></a>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="read-unconfirmed-entries-from-ledgers">Read unconfirmed entries from ledgers<a class="hash-link" href="#read-unconfirme [...]
+repeatable read consistency.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">CompletableFuture&lt;LedgerEntries&gt; readFuture = rh.readUnconfirmed(startEntryId, endEntryId);</span><br></span></ [...]
+In this case the LastAddConfirmed pointer is updated on the writer side, this is the guarantee for the writer that data will not be lost and it will
+be always readable by other clients.</p><p>On the client side you can temporary relax this constraint by using the <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag" target="_blank" rel="noopener noreferrer"><code>DEFERRED_SYNC</code></a> Write flag. Using this flag bookies will acknowledge each entry after
+writing the entry to SO buffers without waiting for an fsync.
+In this case the LastAddConfirmed pointer is not advanced to the writer side neither is updated on the reader&#x27;s side, this is because <strong>there is some chance to lose the entry</strong>.
+Such entries will be still readable using readUnconfirmed() API, but they won&#x27;t be readable using Long Poll reads or regular read() API.</p><p>In order to get guarantees of durability the writer must use explicitly the <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle" target="_blank" rel="noopener noreferrer">force()</a> API which will return only after all the bookies in the ensemble acknowledge the call after
+performing an fsync to the disk which is storing the journal.
+This way the LastAddConfirmed pointer is advanced on the writer side and it will be eventually available to the readers.</p><p>The <em>close()</em> operation on the writer writes on ledger&#x27;s metadata the current LastAddConfirmed pointer, <strong>it is up to the application to call force() before issuing the close command</strong>.
+In case that you never call explicitly <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle" target="_blank" rel="noopener noreferrer">force()</a> the LastAddConfirmed will remain unset (-1) on ledger metadata and regular readers won&#x27;t be able to access data.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/api/overview/index.html b/content/docs/4.11.1/api/overview/index.html
new file mode 100644
index 0000000..b59e80d
--- /dev/null
+++ b/content/docs/4.11.1/api/overview/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/api/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:language" co [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+managing rolling ledgers and data retention on your own. In such cases, you are recommended to use <a href="/docs/4.11.1/api/distributedlog-api">DistributedLog API</a>,
+with semantics resembling continous log streams from the standpoint of applications.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.11.1/admin/decomission"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Decommission Bookies</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/deployment/dcos/index.html b/content/docs/4.11.1/deployment/dcos/index.html
new file mode 100644
index 0000000..1a6aed0
--- /dev/null
+++ b/content/docs/4.11.1/deployment/dcos/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Deploying BookKeeper on DC/OS | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/deployment/dcos"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docs [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/deployment/kubernetes/index.html b/content/docs/4.11.1/deployment/kubernetes/index.html
new file mode 100644
index 0000000..b082486
--- /dev/null
+++ b/content/docs/4.11.1/deployment/kubernetes/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Deploying Apache BookKeeper on Kubernetes | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/deployment/kubernetes"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+remote zookeeper server:</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">$ kubectl port-forward zk-0 </span><span class="token number" style="color:#36acaa">2181</span><span class="token plain"> [...]
+cluster, those bookie pods are garbage collected. The bookies deployed in a DaemonSet stores data on the local disks on those nodes. So it doesn&#x27;t require any external storage for Persistent
+Volumes.</p><p>A <em>StatefulSet</em> maintains a sticky identity for the pods that it runs and manages. It provides stable and unique network identifiers, and stable and persistent storage for each pod. The pods
+are not interchangeable, the idenifiers for each pod are maintained across any rescheduling.</p><p>Which one to use? A <em>DaemonSet</em> is the easiest way to deploy a bookkeeper cluster, because it doesn&#x27;t require additional persistent volume provisioner and use local disks. BookKeeper manages
+the data replication. It maintains the best latency property. However, it uses <code>hostIP</code> and <code>hostPort</code> for communications between pods. In some k8s platform (such as DC/OS), <code>hostIP</code> and
+<code>hostPort</code> are not well supported. A <em>StatefulSet</em> is only practical when deploying in a cloud environment or any K8S installation that has persistent volumes available. Also be aware, latency
+can be potentially higher when using persistent volumes, because there is usually built-in replication in the persistent volumes.</p></blockquote><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token comment" s [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/deployment/manual/index.html b/content/docs/4.11.1/deployment/manual/index.html
new file mode 100644
index 0000000..0e10909
--- /dev/null
+++ b/content/docs/4.11.1/deployment/manual/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Manual deployment | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/deployment/manual"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:lang [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/development/codebase/index.html b/content/docs/4.11.1/development/codebase/index.html
new file mode 100644
index 0000000..c4d979f
--- /dev/null
+++ b/content/docs/4.11.1/development/codebase/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The BookKeeper codebase | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/development/codebase"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docse [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/development/protocol/index.html b/content/docs/4.11.1/development/protocol/index.html
new file mode 100644
index 0000000..9ff628a
--- /dev/null
+++ b/content/docs/4.11.1/development/protocol/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The BookKeeper protocol | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/development/protocol"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docse [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/getting-started/concepts/index.html b/content/docs/4.11.1/getting-started/concepts/index.html
new file mode 100644
index 0000000..c966cc4
--- /dev/null
+++ b/content/docs/4.11.1/getting-started/concepts/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper concepts and architecture | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/getting-started/concepts"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh=" [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/getting-started/installation/index.html b/content/docs/4.11.1/getting-started/installation/index.html
new file mode 100644
index 0000000..924f0bd
--- /dev/null
+++ b/content/docs/4.11.1/getting-started/installation/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper installation | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/getting-started/installation"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" nam [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/getting-started/run-locally/index.html b/content/docs/4.11.1/getting-started/run-locally/index.html
new file mode 100644
index 0000000..60e2a32
--- /dev/null
+++ b/content/docs/4.11.1/getting-started/run-locally/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Run bookies locally | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/getting-started/run-locally"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="do [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/overview/index.html b/content/docs/4.11.1/overview/index.html
new file mode 100644
index 0000000..dacff74
--- /dev/null
+++ b/content/docs/4.11.1/overview/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Apache BookKeeper 4.11.1 | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/overview/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:langu [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+the other parts of the documentation, including the setup, integration and operation guides.</li><li><strong>Getting Started</strong>: Install <a href="/docs/4.11.1/getting-started/installation">Apache BookKeeper</a> and run bookies <a href="/docs/4.11.1/getting-started/run-locally">locally</a></li><li><strong>API</strong>: Read the <a href="/docs/4.11.1/api/overview">API</a> documentation to learn how to use Apache BookKeeper to build your applications.</li><li><strong>Deployment</stron [...]
+considerations and best practices.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="contributors">Contributors<a class="hash-link" href="#contributors" title="Direct link to heading">​</a></h3><ul><li><strong>Details</strong>: Learn <a href="/docs/4.11.1/development/protocol">design details</a> to know more internals.</li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"></div><div class="pagi [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/reference/cli/index.html b/content/docs/4.11.1/reference/cli/index.html
new file mode 100644
index 0000000..952e262
--- /dev/null
+++ b/content/docs/4.11.1/reference/cli/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper CLI tool reference | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/reference/cli"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsea [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+indexDirs are empty and there is no registered Bookie with this BookieId.</p><p>If there is data present in current bookie server, the init operation will fail. If you want to format
+the bookie server, use <code>bookieformat</code>.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-8">Usage<a class="hash-link" href="#usage-8" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line [...]
+in favor of using <code>initnewcluster</code> for initializing a new cluster and <code>nukeexistingcluster</code> for nuking an existing cluster.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-23">Usage<a class="hash-link" href="#usage-23" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style= [...]
+existing cluster by running nukeexistingcluster before running initnewcluster again</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-24">Usage<a class="hash-link" href="#usage-24" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBloc [...]
+Useful when Host-reip or data-migration. In that case, shutdown bookie process in src-bookie,
+use this command to update ledger metadata by replacing src-bookie to dest-bookie where data has been copied/moved.
+Start the bookie process on dest-bookie and dest-bookie will serve copied ledger data from src-bookie.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-35">Usage<a class="hash-link" href="#usage-35" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><c [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/reference/config/index.html b/content/docs/4.11.1/reference/config/index.html
new file mode 100644
index 0000000..9d53140
--- /dev/null
+++ b/content/docs/4.11.1/reference/config/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper configuration | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/reference/config"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearc [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/reference/metrics/index.html b/content/docs/4.11.1/reference/metrics/index.html
new file mode 100644
index 0000000..2e181fe
--- /dev/null
+++ b/content/docs/4.11.1/reference/metrics/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper metrics reference | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/reference/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="doc [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/security/overview/index.html b/content/docs/4.11.1/security/overview/index.html
new file mode 100644
index 0000000..95dc5db
--- /dev/null
+++ b/content/docs/4.11.1/security/overview/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Security | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/security/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+The following security measures are currently supported:</p><ol><li>Authentication of connections to bookies from clients, using either <a href="/docs/4.11.1/security/tls">TLS</a> or <a href="/docs/4.11.1/security/sasl">SASL (Kerberos)</a>.</li><li>Authentication of connections from clients, bookies, autorecovery daemons to <a href="/docs/4.11.1/security/zookeeper">ZooKeeper</a>, when using zookeeper based ledger managers.</li><li>Encryption of data transferred between bookies and client [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/security/sasl/index.html b/content/docs/4.11.1/security/sasl/index.html
new file mode 100644
index 0000000..3d96c56
--- /dev/null
+++ b/content/docs/4.11.1/security/sasl/index.html
@@ -0,0 +1,52 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Authentication using SASL | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/security/sasl"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsearch: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+with a general description of how to configure <code>SASL</code> for bookies, clients and autorecovery daemons, followed
+by mechanism-specific details and wrap up with some operational details.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="sasl-configuration-for-bookies">SASL configuration for Bookies<a class="hash-link" href="#sasl-configuration-for-bookies" title="Direct link to heading">​</a></h2><ol><li><p>Select the mechanisms to enable in the bookies. <code>GSSAPI</code> is the only mechanism currently supported by BookKeeper.</p></li><li><p>Add a <code>JAAS</code> config file for the selecte [...]
+<code>clientAuthProviderFactoryClass</code> to <code>org.apache.bookkeeper.sasl.SASLClientProviderFactory</code>.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:# [...]
+and the location of the keytab where the principal is stored. It allows the bookie to login using the keytab specified in this section.</li><li><code>Auditor</code> is a section name in the JASS file used by <code>autorecovery</code> daemon (it can be co-run with bookies). This section tells the
+<code>autorecovery</code> daemon which principal to use and the location of the keytab where the principal is stored. It allows the bookie to
+login using the keytab specified in this section.</li><li>The <code>Client</code> section is used to authenticate a SASL connection with ZooKeeper. It also allows the bookies to set ACLs on ZooKeeper nodes
+which locks these nodes down so that only the bookies can modify it. It is necessary to have the same primary name across all bookies.
+If you want to use a section name other than <code>Client</code>, set the system property <code>zookeeper.sasl.client</code> to the appropriate name
+(e.g <code>-Dzookeeper.sasl.client=ZKClient</code>).</li><li>ZooKeeper uses <code>zookeeper</code> as the service name by default. If you want to change this, set the system property
+<code>zookeeper.sasl.client.username</code> to the appropriate name (e.g. <code>-Dzookeeper.sasl.client.username=zk</code>).</li></ol><h2 class="anchor anchorWithStickyNavbar_mojV" id="sasl-configuration-for-clients">SASL configuration for Clients<a class="hash-link" href="#sasl-configuration-for-clients" title="Direct link to heading">​</a></h2><p>To configure <code>SASL</code> authentication on the clients:</p><ol><li><p>Select a <code>SASL</code> mechanism for authentication and add a [...]
+setting up <a href="#kerberos">GSSAPI (Kerberos)</a>.</p></li><li><p>Pass the <code>JAAS</code> config file location as JVM parameter to each client JVM. For example:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><s [...]
+install a new server just for BookKeeper. Otherwise you will need to install one, your Linux vendor likely has packages
+for <code>Kerberos</code> and a short guide on how to install and configure it (<a href="https://help.ubuntu.com/community/Kerberos" target="_blank" rel="noopener noreferrer">Ubuntu</a>,
+<a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/installing-kerberos.html" target="_blank" rel="noopener noreferrer">Redhat</a>).
+Note that if you are using Oracle Java, you will need to download JCE policy files for your Java version and copy them to <code>$JAVA_HOME/jre/lib/security</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="kerberos-principals">Kerberos Principals<a class="hash-link" href="#kerberos-principals" title="Direct link to heading">​</a></h4><p>If you are using the organization’s Kerberos or Active Directory server, ask your Kerberos administrator for a principal
+for each Bookie in your cluster and for every operating system user that will access BookKeeper with Kerberos authentication
+(via clients and tools).</p><p>If you have installed your own Kerberos, you will need to create these principals yourself using the following commands:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="toke [...]
+for this example (note that each bookie should have its own keytab):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">```</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Bo [...]
+(see <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank" rel="noopener noreferrer">JDK’s Kerberos Requirements</a> for more details):</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class= [...]
+so obtain or create these principals as needed. Then create a <code>JAAS</code> file for each principal. The <code>BookKeeper</code> section describes
+how the clients like writers and readers can connect to the Bookies. The following is an example configuration for a client using
+a keytab (recommended for long-running processes):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    com.sun [...]
+<a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank" rel="noopener noreferrer">JDK’s Kerberos Requirements</a> for more details).</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="toke [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/security/tls/index.html b/content/docs/4.11.1/security/tls/index.html
new file mode 100644
index 0000000..4746e70
--- /dev/null
+++ b/content/docs/4.11.1/security/tls/index.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Encryption and Authentication using TLS | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/security/tls"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" nam [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+for mutual authentication.  Each bookie or client can also be configured with a truststore, which is used to
+determine which certificates (bookie or client identities) to trust (authenticate).</p><p>The truststore can be configured in many ways. To understand the truststore, consider the following two examples:</p><ol><li>the truststore contains one or many certificates;</li><li>it contains a certificate authority (CA).</li></ol><p>In (1), with a list of certificates, the bookie or client will trust any certificate listed in the truststore.
+In (2), with a CA, the bookie or client will trust any certificate that was signed by the CA in the truststore.</p><p>(TBD: benefits)</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="bookie-keystore">Generate TLS key and certificate<a class="hash-link" href="#bookie-keystore" title="Direct link to heading">​</a></h2><p>The first step of deploying TLS is to generate the key and the certificate for each machine in the cluster.
+You can use Java’s <code>keytool</code> utility to accomplish this task. We will generate the key into a temporary keystore
+initially so that we can export and sign it later with CA.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">keytool -keystore bookie.keystore.jks -alias localhost -validity </span><span class= [...]
+the certificate; hence, it needs to be kept safely.</li><li><code>validity</code>: the valid time of the certificate in days.</li></ol><div class="alert alert-success">Ensure that common name (CN) matches exactly with the fully qualified domain name (FQDN) of the server. The client compares the CN with the DNS domain name to ensure that it is indeed connecting to the desired server, not a malicious one.</div><h2 class="anchor anchorWithStickyNavbar_mojV" id="creating-your-own-ca">Creatin [...]
+The certificate, however, is unsigned, which means that an attacker can create such a certificate to pretend to be any machine.</p><p>Therefore, it is important to prevent forged certificates by signing them for each machine in the cluster.
+A <code>certificate authority (CA)</code> is responsible for signing certificates. CA works likes a government that issues passports —
+the government stamps (signs) each passport so that the passport becomes difficult to forge. Other governments verify the stamps
+to ensure the passport is authentic. Similarly, the CA signs the certificates, and the cryptography guarantees that a signed
+certificate is computationally difficult to forge. Thus, as long as the CA is a genuine and trusted authority, the clients have
+high assurance that they are connecting to the authentic machines.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">openssl req -new -x509 -keyout ca-key -out ca-cert -days </span><span class= [...]
+<a href="/docs/4.11.1/reference/config">bookie config</a>, then you must also provide a truststore for the bookies and it should have all the CA
+certificates that clients keys were signed by.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert</span><br></span></c [...]
+that the client should trust. Importing a certificate into one’s truststore also means trusting all certificates that are signed
+by that certificate. As the analogy above, trusting the government (CA) also means trusting all passports (certificates) that
+it has issued. This attribute is called the chain of trust, and it is particularly useful when deploying TLS on a large BookKeeper cluster.
+You can sign all certificates in the cluster with a single CA, and have all machines share the same truststore that trusts the CA.
+That way all machines can authenticate all other machines.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="signing-the-certificate">Signing the certificate<a class="hash-link" href="#signing-the-certificate" title="Direct link to heading">​</a></h2><p>The next step is to sign all certificates in the keystore with the CA we generated. First, you need to export the certificate from the keystore:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeB [...]
+<code>JDK</code> or <code>OpenSSL</code>. If <code>OpenSSL</code> is configured, it will use <code>netty-tcnative-boringssl-static</code>, which loads a corresponding binding according
+to the platforms to run bookies.</p><blockquote><p>Current <code>OpenSSL</code> implementation doesn&#x27;t depend on the system installed OpenSSL library. If you want to leverage the OpenSSL installed on
+the system, you can check <a href="http://netty.io/wiki/forked-tomcat-native.html" target="_blank" rel="noopener noreferrer">this example</a> on how to replaces the JARs on the classpath with
+netty bindings to leverage installed OpenSSL.</p></blockquote><p>The following TLS configs are needed on the bookie side:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style= [...]
+of the communication channel. It should be enabled on both bookies and clients for mutual TLS.</li><li>tlsEnabledCipherSuites= A cipher suite is a named combination of authentication, encryption, MAC and key exchange
+algorithm used to negotiate the security settings for a network connection using TLS network protocol. By default,
+it is null. <a href="https://www.openssl.org/docs/man1.0.2/apps/ciphers.html" target="_blank" rel="noopener noreferrer">OpenSSL Ciphers</a><a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites" target="_blank" rel="noopener noreferrer">JDK Ciphers</a></li><li>tlsEnabledProtocols = TLSv1.2,TLSv1.1,TLSv1 (list out the TLS protocols that you are going to accept from clients).
+By default, it is not set.</li></ol><p>To verify the bookie&#x27;s keystore and truststore are setup correctly you can run the following command:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plai [...]
+supported. The configs for TLS will be the same as bookies.</p><p>If client authentication is not required by the bookies, the following is a minimal configuration example:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A [...]
+trust the certificate in the client&#x27;s keystore. This may be done using commands that are similar to what we used for
+the <a href="#bookie-keystore">bookie keystore</a>.</p><p>And the following must also be configured:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:#36acaa">tlsCl [...]
+<a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/ReadDebug.html" target="_blank" rel="noopener noreferrer">debugging SSL/TLS connections</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.11.1/security/overview"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">BookKeeper Security</div></a></d [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.11.1/security/zookeeper/index.html b/content/docs/4.11.1/security/zookeeper/index.html
new file mode 100644
index 0000000..1d0db65
--- /dev/null
+++ b/content/docs/4.11.1/security/zookeeper/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.11.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">ZooKeeper Authentication | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.11.1/security/zookeeper"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.11.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.11.1"><meta data-rh="true" name="docsea [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+The rationale behind this decision is that the data stored in ZooKeeper is not sensitive, but inappropriate manipulation of znodes can cause cluster
+disruption.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="migrating-clusters">Migrating Clusters<a class="hash-link" href="#migrating-clusters" title="Direct link to heading">​</a></h2><p>If you are running a version of BookKeeper that does not support security or simply with security disabled, and you want to make the cluster secure,
+then you need to execute the following steps to enable ZooKeeper authentication with minimal disruption to your operations.</p><ol><li>Perform a rolling restart setting the <code>JAAS</code> login file, which enables bookie or clients to authenticate. At the end of the rolling restart,
+bookies (or clients) are able to manipulate znodes with strict ACLs, but they will not create znodes with those ACLs.</li><li>Perform a second rolling restart of bookies, this time setting the configuration parameter <code>zkEnableSecurity</code> to true, which enables the use
+of secure ACLs when creating znodes.</li><li>Currently we don&#x27;t have provide a tool to set acls on old znodes. You are recommended to set it manually using ZooKeeper tools.</li></ol><p>It is also possible to turn off authentication in a secured cluster. To do it, follow these steps:</p><ol><li>Perform a rolling restart of bookies setting the <code>JAAS</code> login file, which enable bookies to authenticate, but setting <code>zkEnableSecurity</code> to <code>false</code>.
+At the end of rolling restart, bookies stop creating znodes with secure ACLs, but are still able to authenticate and manipulate all znodes.</li><li>You can use ZooKeeper tools to manually reset all ACLs under the znode set in <code>zkLedgersRootPath</code>, which defaults to <code>/ledgers</code>.</li><li>Perform a second rolling restart of bookies, this time omitting the system property that sets the <code>JAAS</code> login file.</li></ol><h2 class="anchor anchorWithStickyNavbar_mojV" i [...]
+set a few properties. Please refer to the ZooKeeper documentation for more details.</p><ol><li><a href="http://zookeeper.apache.org/doc/r3.4.6/zookeeperProgrammers.html#sc_ZooKeeperAccessControl" target="_blank" rel="noopener noreferrer">Apache ZooKeeper Documentation</a></li><li><a href="https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zookeeper+and+SASL" target="_blank" rel="noopener noreferrer">Apache ZooKeeper Wiki</a></li></ol></div></article><nav class="pagination-nav docusaur [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/autorecovery/index.html b/content/docs/4.12.1/admin/autorecovery/index.html
new file mode 100644
index 0000000..4eaacfb
--- /dev/null
+++ b/content/docs/4.12.1/admin/autorecovery/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Using AutoRecovery | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/autorecovery"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+bookkeeper nodes will also handle rereplication work.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="configuration">Configuration<a class="hash-link" href="#configuration" title="Direct link to heading">​</a></h2><p>There are a handful of AutoRecovery-related configs in the <a href="/docs/4.12.1/reference/config"><code>bk_server.conf</code></a> configuration file. For a listing of those configs, see <a href="/docs/4.12.1/reference/config#autorecovery-settings">AutoRecovery setting [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/bookies/index.html b/content/docs/4.12.1/admin/bookies/index.html
new file mode 100644
index 0000000..045afc8
--- /dev/null
+++ b/content/docs/4.12.1/admin/bookies/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper administration | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/bookies"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/decomission/index.html b/content/docs/4.12.1/admin/decomission/index.html
new file mode 100644
index 0000000..d114bbd
--- /dev/null
+++ b/content/docs/4.12.1/admin/decomission/index.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Decommission Bookies | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/decomission"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:l [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+decommissioning was safely done.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="before-we-decommission">Before we decommission<a class="hash-link" href="#before-we-decommission" title="Direct link to heading">​</a></h3><ol><li><p>Ensure state of your cluster can support the decommissioning of the target bookie.
+Check if <code>EnsembleSize &gt;= Write Quorum &gt;= Ack Quorum</code> stays true with one less bookie</p></li><li><p>Ensure target bookie shows up in the listbookies command.</p></li><li><p>Ensure that there is no other process ongoing (upgrade etc).</p></li></ol><h3 class="anchor anchorWithStickyNavbar_mojV" id="process-of-decommissioning">Process of Decommissioning<a class="hash-link" href="#process-of-decommissioning" title="Direct link to heading">​</a></h3><ol><li>Log on to the boo [...]
+<code>$ bin/bookkeeper shell listunderreplicated</code></p><ol start="2"><li><p>Stop the bookie
+<code>$ bin/bookkeeper-daemon.sh stop bookie</code></p></li><li><p>Run the decommission command.
+If you have logged onto the node you wish to decommission, you don&#x27;t need to provide <code>-bookieid</code>
+If you are running the decommission command for target bookie node from another bookie node you should mention
+the target bookie id in the arguments for <code>-bookieid</code>
+<code>$ bin/bookkeeper shell decommissionbookie</code>
+or
+<code>$ bin/bookkeeper shell decommissionbookie -bookieid &lt;target bookieid&gt;</code></p></li><li><p>Validate that there are no ledgers on decommissioned bookie
+<code>$ bin/bookkeeper shell listledgers -bookieid &lt;target bookieid&gt;</code></p></li></ol><p>Last step to verify is you could run this command to check if the bookie you decommissioned doesn’t show up in list bookies:</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mR [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/geo-replication/index.html b/content/docs/4.12.1/admin/geo-replication/index.html
new file mode 100644
index 0000000..e542ddc
--- /dev/null
+++ b/content/docs/4.12.1/admin/geo-replication/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Geo-replication | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/geo-replication"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/http/index.html b/content/docs/4.12.1/admin/http/index.html
new file mode 100644
index 0000000..2ba5e07
--- /dev/null
+++ b/content/docs/4.12.1/admin/http/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Admin REST API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/http"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:lan [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+To use this feature, set <code>httpServerEnabled</code> to <code>true</code> in file <code>conf/bk_server.conf</code>.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="all-the-endpoints">All the endpoints<a class="hash-link" href="#all-the-endpoints" title="Direct link to heading">​</a></h2><p>Currently all the HTTP endpoints could be divided into these 5 components:</p><ol><li>Heartbeat: heartbeat for a specific bookie.</li><li>Config: doing the server configuration for a specific  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/metrics/index.html b/content/docs/4.12.1/admin/metrics/index.html
new file mode 100644
index 0000000..4a3f7da
--- /dev/null
+++ b/content/docs/4.12.1/admin/metrics/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Metric collection | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:language [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/perf/index.html b/content/docs/4.12.1/admin/perf/index.html
new file mode 100644
index 0000000..cb0f447
--- /dev/null
+++ b/content/docs/4.12.1/admin/perf/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Performance tuning | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/perf"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/placement/index.html b/content/docs/4.12.1/admin/placement/index.html
new file mode 100644
index 0000000..feeab10
--- /dev/null
+++ b/content/docs/4.12.1/admin/placement/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Customized placement policies | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/placement"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docs [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/admin/upgrade/index.html b/content/docs/4.12.1/admin/upgrade/index.html
new file mode 100644
index 0000000..e95b124
--- /dev/null
+++ b/content/docs/4.12.1/admin/upgrade/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Upgrade | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/admin/upgrade"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:language" content= [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+Put differently, don&#x27;t start working through the guide on a live cluster. Read guide entirely, make a plan, then execute the plan.</li><li>Pay careful consideration to the order in which components are upgraded. In general, you need to upgrade bookies first and then upgrade your clients.</li><li>If autorecovery is running along with bookies, you need to pay attention to the upgrade sequence.</li><li>Read the release notes carefully for each release. They contain not only information [...]
+that may impact your upgrade.</li><li>Always upgrade one or a small set of bookies to canary new version before upgraing all bookies in your cluster.</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="canary">Canary<a class="hash-link" href="#canary" title="Direct link to heading">​</a></h2><p>It is wise to canary an upgraded version in one or small set of bookies before upgrading all bookies in your live cluster.</p><p>You can follow below steps on how to canary a upgraded vers [...]
+will repair this problematic bookie node by autorecovery. Nothing needs to be worried about.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="upgrade-steps">Upgrade Steps<a class="hash-link" href="#upgrade-steps" title="Direct link to heading">​</a></h2><p>Once you determined a version is safe to upgrade in a few nodes in your cluster, you can perform following steps to upgrade all bookies in your cluster.</p><ol><li>Determine if autorecovery is running along with bookies. If yes, c [...]
+are allowed to talk to old bookies; if clients are not allowed to talk to old bookies, please <a href="/docs/4.12.1/reference/cli/#autorecovery-1">disable autorecovery</a> during upgrade.</li><li>Decide on performing a rolling upgrade or a downtime upgrade.</li><li>Upgrade all Bookies (more below)</li><li>If autorecovery was disabled during upgrade, <a href="/docs/4.12.1/reference/cli/#autorecovery-1">enable autorecovery</a>.</li><li>After all bookies are upgraded, build applications tha [...]
+However, we list a list of things that you might want to know.</p><ol><li>4.5.x upgrades netty from 3.x to 4.x. The memory usage pattern might be changed a bit. Netty 4 uses more direct memory. Please pay attention to your memory usage
+and adjust the JVM settings accordingly.</li><li><code>multi journals</code> is a non-rollbackable feature. If you configure a bookie to use multiple journals on 4.5.x you can not roll the bookie back to use 4.4.x. You have
+to take a bookie out and recover it if you want to rollback to 4.4.x.</li></ol><p>If you are planning to upgrade a non-secured cluster to a secured cluster enabling security features in 4.5.0, please read <a href="/docs/4.12.1/security/overview">BookKeeper Security</a> for more details.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.12.1/admin/metrics"><div  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/api/distributedlog-api/index.html b/content/docs/4.12.1/api/distributedlog-api/index.html
new file mode 100644
index 0000000..c11316c
--- /dev/null
+++ b/content/docs/4.12.1/api/distributedlog-api/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">DistributedLog | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/api/distributedlog-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/api/ledger-adv-api/index.html b/content/docs/4.12.1/api/ledger-adv-api/index.html
new file mode 100644
index 0000000..e674b84
--- /dev/null
+++ b/content/docs/4.12.1/api/ledger-adv-api/index.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The Advanced Ledger API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/api/ledger-adv-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsear [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+This sections covers these advanced APIs.</p><blockquote><p>Before learn the advanced API, please read <a href="/docs/4.12.1/api/ledger-api">Ledger API</a> first.</p></blockquote><h2 class="anchor anchorWithStickyNavbar_mojV" id="ledgerhandleadv">LedgerHandleAdv<a class="hash-link" href="#ledgerhandleadv" title="Direct link to heading">​</a></h2><p><a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv" target="_blank" rel="noo [...]
+It allows user passing in an <code>entryId</code> when adding an entry.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="creating-advanced-ledgers">Creating advanced ledgers<a class="hash-link" href="#creating-advanced-ledgers" title="Direct link to heading">​</a></h3><p>Here&#x27;s an exmaple:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" [...]
+If a ledger already exists when users try to create an advanced ledger with same ledger id,
+a <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/BKException.BKLedgerExistException.html" target="_blank" rel="noopener noreferrer">LedgerExistsException</a> is thrown by the bookkeeper client.</p></blockquote><p>Creating advanced ledgers can be done throught a fluent API since 4.6.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language [...]
+to advanced ledgers, an entry id is required to pass in along with the entry data when adding an entry.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">long entryId = ...; // entry id generated  [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/api/ledger-api/index.html b/content/docs/4.12.1/api/ledger-api/index.html
new file mode 100644
index 0000000..6b4963b
--- /dev/null
+++ b/content/docs/4.12.1/api/ledger-api/index.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The Ledger API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/api/ledger-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:language"  [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+a lot. If your application might include different versions of protobuf or guava introduced by other dependencies, you can choose to use the
+shaded library, which relocate classes of protobuf and guava into a different namespace to avoid conflicts.</p><div class="codeBlockContainer_I0IT language-xml theme-code-block"><div class="codeBlockContent_wNvx xml"><pre tabindex="0" class="prism-code language-xml codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic" [...]
+It lets the client read without checking the local value of LastAddConfirmed, so that it is possible to read entries for which the writer has not received the acknowledge yet.
+For entries which are within the range 0..LastAddConfirmed, BookKeeper guarantees that the writer has successfully received the acknowledge.
+For entries outside that range it is possible that the writer never received the acknowledge and so there is the risk that the reader is seeing entries before the writer and this could result in a consistency issue in some cases.
+With this method you can even read entries before the LastAddConfirmed and entries after it with one call, the expected consistency will be as described above.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class= [...]
+<a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle" target="_blank" rel="noopener noreferrer">WriteHandle</a>, <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle" target="_blank" rel="noopener noreferrer">WriteAdvHandle</a>, <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ReadHandle" target="_blank" re [...]
+a <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/digesttype" target="_blank" rel="noopener noreferrer"><code>digesttype</code></a> and a password.</p><p>here&#x27;s an example:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBl [...]
+These flags are applied only during write operations and are not recorded on metadata.</p><p>Available write flags:</p><table><thead><tr><th align="left">Flag</th><th align="left">Explanation</th><th align="left">Notes</th></tr></thead><tbody><tr><td align="left">DEFERRED_SYNC</td><td align="left">Writes are acknowledged early, without waiting for guarantees of durability</td><td align="left">Data will be only written to the OS page cache, without forcing an fsync.</td></tr></tbody></tab [...]
+It is recommended to use <code>ByteBuf</code> as it is more gc friendly.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="open-ledgers">Open ledgers<a class="hash-link" href="#open-ledgers" title="Direct link to heading">​</a></h3><p>You can open ledgers to read entries. Opening ledgers is done by <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/openBuilder" target="_blank" rel="noopener noreferrer"><code>openBuilder</code></a>. [...]
+in order to open the ledgers.</p><p>here&#x27;s an example:</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper bk = ...;</span><br></span><span class="token-line" style="color:#393A34">< [...]
+<code>withRecovery(true)</code> in the open builder.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper bk = ...;</span><br></span><span class="token-line" style="color:#393A34"><span cl [...]
+to be appended to it. The writer which is currently appending entries to the ledger will fail with <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BKException.Code#LedgerFencedException" target="_blank" rel="noopener noreferrer"><code>LedgerFencedException</code></a>.</p><p>In constrat, opening a ledger in &quot;NoRecovery&quot; mode, it will not fence and seal the ledger. &quot;NoRecovery&quot; mode is usually used by applications  [...]
+release the buffers held by it.</p><p>Applications are allowed to read any entries between <code>0</code> and <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ReadHandle.html#getLastAddConfirmed" target="_blank" rel="noopener noreferrer"><code>LastAddConfirmed</code></a>. If the applications
+attempts to read entries beyond <code>LastAddConfirmed</code>, they will receive <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BKException.Code#IncorrectParameterException" target="_blank" rel="noopener noreferrer"><code>IncorrectParameterException</code></a>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="read-unconfirmed-entries-from-ledgers">Read unconfirmed entries from ledgers<a class="hash-link" href="#read-unconfirme [...]
+repeatable read consistency.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">CompletableFuture&lt;LedgerEntries&gt; readFuture = rh.readUnconfirmed(startEntryId, endEntryId);</span><br></span></ [...]
+In this case the LastAddConfirmed pointer is updated on the writer side, this is the guarantee for the writer that data will not be lost and it will
+be always readable by other clients.</p><p>On the client side you can temporary relax this constraint by using the <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag" target="_blank" rel="noopener noreferrer"><code>DEFERRED_SYNC</code></a> Write flag. Using this flag bookies will acknowledge each entry after
+writing the entry to SO buffers without waiting for an fsync.
+In this case the LastAddConfirmed pointer is not advanced to the writer side neither is updated on the reader&#x27;s side, this is because <strong>there is some chance to lose the entry</strong>.
+Such entries will be still readable using readUnconfirmed() API, but they won&#x27;t be readable using Long Poll reads or regular read() API.</p><p>In order to get guarantees of durability the writer must use explicitly the <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle" target="_blank" rel="noopener noreferrer">force()</a> API which will return only after all the bookies in the ensemble acknowledge the call after
+performing an fsync to the disk which is storing the journal.
+This way the LastAddConfirmed pointer is advanced on the writer side and it will be eventually available to the readers.</p><p>The <em>close()</em> operation on the writer writes on ledger&#x27;s metadata the current LastAddConfirmed pointer, <strong>it is up to the application to call force() before issuing the close command</strong>.
+In case that you never call explicitly <a href="https://bookkeeper.staged.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle" target="_blank" rel="noopener noreferrer">force()</a> the LastAddConfirmed will remain unset (-1) on ledger metadata and regular readers won&#x27;t be able to access data.</p><div class="codeBlockContainer_I0IT language-java theme-code-block"><div class="codeBlockContent_wNvx java"><pre tabindex="0" class="prism-code language-java [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/api/overview/index.html b/content/docs/4.12.1/api/overview/index.html
new file mode 100644
index 0000000..a3ff0a1
--- /dev/null
+++ b/content/docs/4.12.1/api/overview/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper API | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/api/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:language" co [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+managing rolling ledgers and data retention on your own. In such cases, you are recommended to use <a href="/docs/4.12.1/api/distributedlog-api">DistributedLog API</a>,
+with semantics resembling continous log streams from the standpoint of applications.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/4.12.1/admin/decomission"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Decommission Bookies</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/deployment/dcos/index.html b/content/docs/4.12.1/deployment/dcos/index.html
new file mode 100644
index 0000000..42b7e87
--- /dev/null
+++ b/content/docs/4.12.1/deployment/dcos/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Deploying BookKeeper on DC/OS | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/deployment/dcos"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docs [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/deployment/kubernetes/index.html b/content/docs/4.12.1/deployment/kubernetes/index.html
new file mode 100644
index 0000000..c8a2fa6
--- /dev/null
+++ b/content/docs/4.12.1/deployment/kubernetes/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Deploying Apache BookKeeper on Kubernetes | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/deployment/kubernetes"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+remote zookeeper server:</p><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">$ kubectl port-forward zk-0 </span><span class="token number" style="color:#36acaa">2181</span><span class="token plain"> [...]
+cluster, those bookie pods are garbage collected. The bookies deployed in a DaemonSet stores data on the local disks on those nodes. So it doesn&#x27;t require any external storage for Persistent
+Volumes.</p><p>A <em>StatefulSet</em> maintains a sticky identity for the pods that it runs and manages. It provides stable and unique network identifiers, and stable and persistent storage for each pod. The pods
+are not interchangeable, the idenifiers for each pod are maintained across any rescheduling.</p><p>Which one to use? A <em>DaemonSet</em> is the easiest way to deploy a bookkeeper cluster, because it doesn&#x27;t require additional persistent volume provisioner and use local disks. BookKeeper manages
+the data replication. It maintains the best latency property. However, it uses <code>hostIP</code> and <code>hostPort</code> for communications between pods. In some k8s platform (such as DC/OS), <code>hostIP</code> and
+<code>hostPort</code> are not well supported. A <em>StatefulSet</em> is only practical when deploying in a cloud environment or any K8S installation that has persistent volumes available. Also be aware, latency
+can be potentially higher when using persistent volumes, because there is usually built-in replication in the persistent volumes.</p></blockquote><div class="codeBlockContainer_I0IT language-bash theme-code-block"><div class="codeBlockContent_wNvx bash"><pre tabindex="0" class="prism-code language-bash codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token comment" s [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/deployment/manual/index.html b/content/docs/4.12.1/deployment/manual/index.html
new file mode 100644
index 0000000..de03854
--- /dev/null
+++ b/content/docs/4.12.1/deployment/manual/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Manual deployment | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/deployment/manual"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:lang [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/development/codebase/index.html b/content/docs/4.12.1/development/codebase/index.html
new file mode 100644
index 0000000..c5dcd5d
--- /dev/null
+++ b/content/docs/4.12.1/development/codebase/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The BookKeeper codebase | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/development/codebase"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docse [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/development/protocol/index.html b/content/docs/4.12.1/development/protocol/index.html
new file mode 100644
index 0000000..65bba07
--- /dev/null
+++ b/content/docs/4.12.1/development/protocol/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">The BookKeeper protocol | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/development/protocol"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docse [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/getting-started/concepts/index.html b/content/docs/4.12.1/getting-started/concepts/index.html
new file mode 100644
index 0000000..bed26bf
--- /dev/null
+++ b/content/docs/4.12.1/getting-started/concepts/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper concepts and architecture | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/getting-started/concepts"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh=" [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/getting-started/installation/index.html b/content/docs/4.12.1/getting-started/installation/index.html
new file mode 100644
index 0000000..448c118
--- /dev/null
+++ b/content/docs/4.12.1/getting-started/installation/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper installation | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/getting-started/installation"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" nam [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/getting-started/run-locally/index.html b/content/docs/4.12.1/getting-started/run-locally/index.html
new file mode 100644
index 0000000..2b943f2
--- /dev/null
+++ b/content/docs/4.12.1/getting-started/run-locally/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Run bookies locally | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/getting-started/run-locally"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="do [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/overview/index.html b/content/docs/4.12.1/overview/index.html
new file mode 100644
index 0000000..6a39eb7
--- /dev/null
+++ b/content/docs/4.12.1/overview/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Apache BookKeeper 4.12.1 | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/overview/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:langu [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+the other parts of the documentation, including the setup, integration and operation guides.</li><li><strong>Getting Started</strong>: Install <a href="/docs/4.12.1/getting-started/installation">Apache BookKeeper</a> and run bookies <a href="/docs/4.12.1/getting-started/run-locally">locally</a></li><li><strong>API</strong>: Read the <a href="/docs/4.12.1/api/overview">API</a> documentation to learn how to use Apache BookKeeper to build your applications.</li><li><strong>Deployment</stron [...]
+considerations and best practices.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="contributors">Contributors<a class="hash-link" href="#contributors" title="Direct link to heading">​</a></h3><ul><li><strong>Details</strong>: Learn <a href="/docs/4.12.1/development/protocol">design details</a> to know more internals.</li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"></div><div class="pagi [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/reference/cli/index.html b/content/docs/4.12.1/reference/cli/index.html
new file mode 100644
index 0000000..c8ec24f
--- /dev/null
+++ b/content/docs/4.12.1/reference/cli/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper CLI tool reference | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/reference/cli"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsea [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+indexDirs are empty and there is no registered Bookie with this BookieId.</p><p>If there is data present in current bookie server, the init operation will fail. If you want to format
+the bookie server, use <code>bookieformat</code>.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-8">Usage<a class="hash-link" href="#usage-8" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line [...]
+in favor of using <code>initnewcluster</code> for initializing a new cluster and <code>nukeexistingcluster</code> for nuking an existing cluster.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-23">Usage<a class="hash-link" href="#usage-23" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style= [...]
+existing cluster by running nukeexistingcluster before running initnewcluster again</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-24">Usage<a class="hash-link" href="#usage-24" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBloc [...]
+Useful when Host-reip or data-migration. In that case, shutdown bookie process in src-bookie,
+use this command to update ledger metadata by replacing src-bookie to dest-bookie where data has been copied/moved.
+Start the bookie process on dest-bookie and dest-bookie will serve copied ledger data from src-bookie.</p><h5 class="anchor anchorWithStickyNavbar_mojV" id="usage-35">Usage<a class="hash-link" href="#usage-35" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><c [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/reference/config/index.html b/content/docs/4.12.1/reference/config/index.html
new file mode 100644
index 0000000..ee620e4
--- /dev/null
+++ b/content/docs/4.12.1/reference/config/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper configuration | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/reference/config"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearc [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/reference/metrics/index.html b/content/docs/4.12.1/reference/metrics/index.html
new file mode 100644
index 0000000..66cb760
--- /dev/null
+++ b/content/docs/4.12.1/reference/metrics/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper metrics reference | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/reference/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="doc [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/security/overview/index.html b/content/docs/4.12.1/security/overview/index.html
new file mode 100644
index 0000000..673431f
--- /dev/null
+++ b/content/docs/4.12.1/security/overview/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">BookKeeper Security | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/security/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:la [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+The following security measures are currently supported:</p><ol><li>Authentication of connections to bookies from clients, using either <a href="/docs/4.12.1/security/tls">TLS</a> or <a href="/docs/4.12.1/security/sasl">SASL (Kerberos)</a>.</li><li>Authentication of connections from clients, bookies, autorecovery daemons to <a href="/docs/4.12.1/security/zookeeper">ZooKeeper</a>, when using zookeeper based ledger managers.</li><li>Encryption of data transferred between bookies and client [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/security/sasl/index.html b/content/docs/4.12.1/security/sasl/index.html
new file mode 100644
index 0000000..1f82be3
--- /dev/null
+++ b/content/docs/4.12.1/security/sasl/index.html
@@ -0,0 +1,52 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Authentication using SASL | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/security/sasl"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch: [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+with a general description of how to configure <code>SASL</code> for bookies, clients and autorecovery daemons, followed
+by mechanism-specific details and wrap up with some operational details.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="sasl-configuration-for-bookies">SASL configuration for Bookies<a class="hash-link" href="#sasl-configuration-for-bookies" title="Direct link to heading">​</a></h2><ol><li><p>Select the mechanisms to enable in the bookies. <code>GSSAPI</code> is the only mechanism currently supported by BookKeeper.</p></li><li><p>Add a <code>JAAS</code> config file for the selecte [...]
+<code>clientAuthProviderFactoryClass</code> to <code>org.apache.bookkeeper.sasl.SASLClientProviderFactory</code>.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:# [...]
+and the location of the keytab where the principal is stored. It allows the bookie to login using the keytab specified in this section.</li><li><code>Auditor</code> is a section name in the JASS file used by <code>autorecovery</code> daemon (it can be co-run with bookies). This section tells the
+<code>autorecovery</code> daemon which principal to use and the location of the keytab where the principal is stored. It allows the bookie to
+login using the keytab specified in this section.</li><li>The <code>Client</code> section is used to authenticate a SASL connection with ZooKeeper. It also allows the bookies to set ACLs on ZooKeeper nodes
+which locks these nodes down so that only the bookies can modify it. It is necessary to have the same primary name across all bookies.
+If you want to use a section name other than <code>Client</code>, set the system property <code>zookeeper.sasl.client</code> to the appropriate name
+(e.g <code>-Dzookeeper.sasl.client=ZKClient</code>).</li><li>ZooKeeper uses <code>zookeeper</code> as the service name by default. If you want to change this, set the system property
+<code>zookeeper.sasl.client.username</code> to the appropriate name (e.g. <code>-Dzookeeper.sasl.client.username=zk</code>).</li></ol><h2 class="anchor anchorWithStickyNavbar_mojV" id="sasl-configuration-for-clients">SASL configuration for Clients<a class="hash-link" href="#sasl-configuration-for-clients" title="Direct link to heading">​</a></h2><p>To configure <code>SASL</code> authentication on the clients:</p><ol><li><p>Select a <code>SASL</code> mechanism for authentication and add a [...]
+setting up <a href="#kerberos">GSSAPI (Kerberos)</a>.</p></li><li><p>Pass the <code>JAAS</code> config file location as JVM parameter to each client JVM. For example:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><s [...]
+install a new server just for BookKeeper. Otherwise you will need to install one, your Linux vendor likely has packages
+for <code>Kerberos</code> and a short guide on how to install and configure it (<a href="https://help.ubuntu.com/community/Kerberos" target="_blank" rel="noopener noreferrer">Ubuntu</a>,
+<a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/installing-kerberos.html" target="_blank" rel="noopener noreferrer">Redhat</a>).
+Note that if you are using Oracle Java, you will need to download JCE policy files for your Java version and copy them to <code>$JAVA_HOME/jre/lib/security</code>.</p><h4 class="anchor anchorWithStickyNavbar_mojV" id="kerberos-principals">Kerberos Principals<a class="hash-link" href="#kerberos-principals" title="Direct link to heading">​</a></h4><p>If you are using the organization’s Kerberos or Active Directory server, ask your Kerberos administrator for a principal
+for each Bookie in your cluster and for every operating system user that will access BookKeeper with Kerberos authentication
+(via clients and tools).</p><p>If you have installed your own Kerberos, you will need to create these principals yourself using the following commands:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="toke [...]
+for this example (note that each bookie should have its own keytab):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">```</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Bo [...]
+(see <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank" rel="noopener noreferrer">JDK’s Kerberos Requirements</a> for more details):</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class= [...]
+so obtain or create these principals as needed. Then create a <code>JAAS</code> file for each principal. The <code>BookKeeper</code> section describes
+how the clients like writers and readers can connect to the Bookies. The following is an example configuration for a client using
+a keytab (recommended for long-running processes):</p><div class="codeBlockContainer_I0IT theme-code-block"><div class="codeBlockContent_wNvx"><pre tabindex="0" class="prism-code language-text codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">BookKeeper {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    com.sun [...]
+<a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/KerberosReq.html" target="_blank" rel="noopener noreferrer">JDK’s Kerberos Requirements</a> for more details).</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="toke [...]
+        <div class="container">
+          <div class="content has-text-centered">
+            <p>
+              Copyright &copy; 2016 - 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+            </p>
+            <p>
+              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            </p>
+          </div>
+        </div>
+      </footer>
+      </div></div></div></footer></div>
+<script src="/assets/js/runtime~main.57aee014.js"></script>
+<script src="/assets/js/main.86210a10.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/4.12.1/security/tls/index.html b/content/docs/4.12.1/security/tls/index.html
new file mode 100644
index 0000000..f3848e5
--- /dev/null
+++ b/content/docs/4.12.1/security/tls/index.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html class="docs-version-4.12.1" lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.17">
+<title data-rh="true">Encryption and Authentication using TLS | Apache BookKeeper</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.staged.apache.org//docs/4.12.1/security/tls"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" nam [...]
+<link rel="preload" href="/assets/js/runtime~main.57aee014.js" as="script">
+<link rel="preload" href="/assets/js/main.86210a10.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button>< [...]
+for mutual authentication.  Each bookie or client can also be configured with a truststore, which is used to
+determine which certificates (bookie or client identities) to trust (authenticate).</p><p>The truststore can be configured in many ways. To understand the truststore, consider the following two examples:</p><ol><li>the truststore contains one or many certificates;</li><li>it contains a certificate authority (CA).</li></ol><p>In (1), with a list of certificates, the bookie or client will trust any certificate listed in the truststore.
+In (2), with a CA, the bookie or client will trust any certificate that was signed by the CA in the truststore.</p><p>(TBD: benefits)</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="bookie-keystore">Generate TLS key and certificate<a class="hash-link" href="#bookie-keystore" title="Direct link to heading">​</a></h2><p>The first step of deploying TLS is to generate the key and the certificate for each machine in the cluster.
+You can use Java’s <code>keytool</code> utility to accomplish this task. We will generate the key into a temporary keystore
+initially so that we can export and sign it later with CA.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">keytool -keystore bookie.keystore.jks -alias localhost -validity </span><span class= [...]
+the certificate; hence, it needs to be kept safely.</li><li><code>validity</code>: the valid time of the certificate in days.</li></ol><div class="alert alert-success">Ensure that common name (CN) matches exactly with the fully qualified domain name (FQDN) of the server. The client compares the CN with the DNS domain name to ensure that it is indeed connecting to the desired server, not a malicious one.</div><h2 class="anchor anchorWithStickyNavbar_mojV" id="creating-your-own-ca">Creatin [...]
+The certificate, however, is unsigned, which means that an attacker can create such a certificate to pretend to be any machine.</p><p>Therefore, it is important to prevent forged certificates by signing them for each machine in the cluster.
+A <code>certificate authority (CA)</code> is responsible for signing certificates. CA works likes a government that issues passports —
+the government stamps (signs) each passport so that the passport becomes difficult to forge. Other governments verify the stamps
+to ensure the passport is authentic. Similarly, the CA signs the certificates, and the cryptography guarantees that a signed
+certificate is computationally difficult to forge. Thus, as long as the CA is a genuine and trusted authority, the clients have
+high assurance that they are connecting to the authentic machines.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">openssl req -new -x509 -keyout ca-key -out ca-cert -days </span><span class= [...]
+<a href="/docs/4.12.1/reference/config">bookie config</a>, then you must also provide a truststore for the bookies and it should have all the CA
+certificates that clients keys were signed by.</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert</span><br></span></c [...]
+that the client should trust. Importing a certificate into one’s truststore also means trusting all certificates that are signed
+by that certificate. As the analogy above, trusting the government (CA) also means trusting all passports (certificates) that
+it has issued. This attribute is called the chain of trust, and it is particularly useful when deploying TLS on a large BookKeeper cluster.
+You can sign all certificates in the cluster with a single CA, and have all machines share the same truststore that trusts the CA.
+That way all machines can authenticate all other machines.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="signing-the-certificate">Signing the certificate<a class="hash-link" href="#signing-the-certificate" title="Direct link to heading">​</a></h2><p>The next step is to sign all certificates in the keystore with the CA we generated. First, you need to export the certificate from the keystore:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeB [...]
+<code>JDK</code> or <code>OpenSSL</code>. If <code>OpenSSL</code> is configured, it will use <code>netty-tcnative-boringssl-static</code>, which loads a corresponding binding according
+to the platforms to run bookies.</p><blockquote><p>Current <code>OpenSSL</code> implementation doesn&#x27;t depend on the system installed OpenSSL library. If you want to leverage the OpenSSL installed on
+the system, you can check <a href="http://netty.io/wiki/forked-tomcat-native.html" target="_blank" rel="noopener noreferrer">this example</a> on how to replaces the JARs on the classpath with
+netty bindings to leverage installed OpenSSL.</p></blockquote><p>The following TLS configs are needed on the bookie side:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style= [...]
+of the communication channel. It should be enabled on both bookies and clients for mutual TLS.</li><li>tlsEnabledCipherSuites= A cipher suite is a named combination of authentication, encryption, MAC and key exchange
+algorithm used to negotiate the security settings for a network connection using TLS network protocol. By default,
+it is null. <a href="https://www.openssl.org/docs/man1.0.2/apps/ciphers.html" target="_blank" rel="noopener noreferrer">OpenSSL Ciphers</a><a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites" target="_blank" rel="noopener noreferrer">JDK Ciphers</a></li><li>tlsEnabledProtocols = TLSv1.2,TLSv1.1,TLSv1 (list out the TLS protocols that you are going to accept from clients).
+By default, it is not set.</li></ol><p>To verify the bookie&#x27;s keystore and truststore are setup correctly you can run the following command:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plai [...]
+supported. The configs for TLS will be the same as bookies.</p><p>If client authentication is not required by the bookies, the following is a minimal configuration example:</p><div class="codeBlockContainer_I0IT language-shell theme-code-block"><div class="codeBlockContent_wNvx shell"><pre tabindex="0" class="prism-code language-shell codeBlock_jd64 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A [...]
+trust the certificate in the client&#x27;s keystore. This may be done using commands that are similar to what we used for
... 621683 lines suppressed ...